package com.ruoyi.zdsz.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.zdsz.domain.ZEngineeringCivil;
import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
import com.ruoyi.zdsz.domain.bo.ZEngineeringInfoBo;
import com.ruoyi.zdsz.domain.vo.*;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;

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

/**
 * 民用工程Mapper接口
 *
 * @author ruoyi
 * @date 2023-12-27
 */
public interface ZEngineeringCivilMapper extends BaseMapperPlus<ZEngineeringCivilMapper, ZEngineeringCivil, ZEngineeringCivilVo> {
    List<Map<String, Integer>> selectByDistrictStatistics(String district);
    Page<ZEngineeringCivilVo> queryPageList(@Param("p") ZEngineeringCivilBo bo,@Param("pa")Page<?> page,@Param("page") Integer pages,@Param("size") Integer size);
    List<ZEngineeringCivilVo> queryAllList(@Param("p") ZEngineeringCivilBo bo);
    Page<ZEngineeringCivilVo> queryPageIdList(@Param("idList") List idList, @Param("total") Long total, @Param("pa")Page<?> page,@Param("page") Integer pages,@Param("size") Integer size);

    List<roomStatusVo> getObtainRoomcCompletionInformationList(ZEngineeringCivilBo bo);
    List<areaWillDoneVo> getAreaCompletionInformationList(@Param("idList") List idList,@Param("enginCycle")String enginCycle,@Param("enginType")String enginType);
    List<areaWillDoneVo> getAreaCompletionInformationList2(@Param("enginCycle")String enginCycle,@Param("enginType")String enginType);
    Map<String,Number> getsumStatus(String district);

    areaMessageVo getHouseMessage(String Id);
    areaMessageVo getAreaMessage(String Id);
    areaMessageVo getAreaName(String Id);
    LinkedList<String> getTableNames(String tableName);
    List<ZEngineeringInfoBo> getsumId(@Param("tableNames") List tableNames, @Param("createTime")List createTime, @Param("UserName") String UserName);
    List<ZEngineeringCivilExportVo> getexportList(@Param("tableNames") List tableNames,@Param("createTime") String createTime,@Param("p") ZEngineeringCivilBo bo);
    Long getTypeNumber( @Param("tableNames") List tableNames,@Param("p")ZEngineeringCivilBo bo);


}
