package cn.com.countrygarden.bi.main.dao.ck.ksh;

import cn.com.countrygarden.bi.main.core.Mapper;
import cn.com.countrygarden.bi.main.dto.advise.ProjectListVO;
import cn.com.countrygarden.bi.main.dto.advise.RegionListVO;
import cn.com.countrygarden.bi.main.dto.ck.CkCleanerQueyr;
import cn.com.countrygarden.bi.main.dto.ck.CkCleanerTableVo;
import cn.com.countrygarden.bi.main.model.ck.CkFiledValueVo;
import cn.com.countrygarden.bi.main.model.ck.ksh.CkKshExpand;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@org.apache.ibatis.annotations.Mapper
public interface CkKshExpandMapper extends Mapper<CkKshExpand> {
    List<CkCleanerTableVo> selectListData(@Param("query") CkCleanerQueyr cleanerQueyr);

    Long selectListDataToble(@Param("query") CkCleanerQueyr cleanerQueyr);

    List<CkCleanerTableVo> allBasic(@Param("year")Integer year,@Param("month")Integer month,@Param("updateDate")String updateDate);

    int tatisticsProject(@Param("year") int year,@Param("month") int month,@Param("orgCode") String orgCode,
    @Param("ckRegionRole") boolean ckRegionRole, @Param("ckProjectRole") boolean ckProjectRole,
                         @Param("regionList") List<RegionListVO> regionList,@Param("projectList2") List<ProjectListVO> projectList2);

    int ckCleanerCont(@Param("year") int year,@Param("month") int month,@Param("orgCode") String orgCode,@Param("ckRegionRole") boolean ckRegionRole, @Param("ckProjectRole") boolean ckProjectRole,
                      @Param("regionList") List<RegionListVO> regionList,@Param("projectList2") List<ProjectListVO> projectList2,@Param("nianyue") String nianyue);

    List<CkCleanerTableVo> statisProjDetad(@Param("year") int year,@Param("month") int month,@Param("orgCode") String orgCode,@Param("ckRegionRole") boolean ckRegionRole,@Param("regionList") List<RegionListVO> regionList);

    List<CkCleanerTableVo> selectListDataNoChild(@Param("query") CkCleanerQueyr cleanerQueyr);

    List<CkFiledValueVo> selectRegionByBaseIds(@Param("basicIds")List<String> basicIds);

    Long selectListDataTobleFilledIn(@Param("query") CkCleanerQueyr cleanerQueyr);

    List<CkCleanerTableVo> selectListDataTobeFilledIn(@Param("query") CkCleanerQueyr cleanerQueyr);

    Integer statisProjDetadCount(@Param("year") int year,@Param("month") int month,@Param("orgCode") String orgCode,
    @Param("ckRegionRole") boolean ckRegionRole, @Param("ckProjectRole") boolean ckProjectRole,
    @Param("regionList") List<RegionListVO> regionList,@Param("projectList2") List<ProjectListVO> projectList2);
}
