package com.project.zcustom.mapper.unit;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.project.zcustom.domain.addional.LargeHousingLand;
import com.project.zcustom.domain.addional.LargeProject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Param;


/**
 * 工程项目Mapper接口
 *
 * @author change
 * @date 2024-12-30
 */
public interface LargeProjectMapper extends BaseMapper<LargeProject>
{

    /**
     * 查询工程项目列表
     *
     * @param largeProject 工程项目
     * @return 工程项目集合
     */
    public List<LargeProject> selectLargeProjectList(LargeProject largeProject);

    /**
     * 新增工程项目
     *
     * @param largeProject 工程项目
     * @return 结果
     */
    public int insertLargeProject(LargeProject largeProject);

    /**
     * 修改工程项目
     *
     * @param largeProject 工程项目
     * @return 结果
     */
    public int updateLargeProject(LargeProject largeProject);

    /**
     * 删除工程项目
     *
     * @param id 工程项目主键
     * @return 结果
     */
    public int deleteLargeProjectById(Long id);

    /**
     * 批量删除工程项目
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteLargeProjectByIds(Long[] ids);

    /**
    * 真删接口
    */
    Integer reallyDeleteByWrapper(@Param(Constants.WRAPPER) LambdaQueryWrapper<LargeProject> deleteWrapper);

    public Long getProjectNum(String appOrg);

    public List<LargeProject> getProjectNumX(String appOrg);

    public List<LargeProject> getProjectNumY(String appOrg);

    public List<LargeProject> getProjectByAppOrg(String appOrg);

    public List<LargeProject> getCameraNumList(String appOrg);

    public int getProjectNumThisWeek(String appOrg);

    public List<LargeProject> getProjectNumZ(List<String> appOrg);

    int upload(List<LargeProject> data);
}
