package com.panzhihua.service_community.dao;
|
|
import java.util.List;
|
|
import org.apache.ibatis.annotations.Insert;
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Select;
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.panzhihua.common.model.dtos.community.ComMngPopulationHouseAdminDTO;
|
import com.panzhihua.common.model.dtos.grid.PageComMngVillageBuildHouseAppDTO;
|
import com.panzhihua.common.model.vos.community.*;
|
import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseDetailVO;
|
import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseVO;
|
import com.panzhihua.common.model.vos.grid.PopulationListVO;
|
import com.panzhihua.common.model.vos.grid.admin.ComMngSubordinateVO;
|
import com.panzhihua.common.model.vos.user.ComMngHouseVo;
|
import com.panzhihua.service_community.model.dos.ComMngPopulationHouseDO;
|
|
/**
|
* @auther lyq
|
* @create 2021-05-18 09:26:31
|
* @describe 社区管理》小区管理》实有房屋mapper类
|
*/
|
@Mapper
|
public interface ComMngPopulationHouseDAO extends BaseMapper<ComMngPopulationHouseDO> {
|
|
@Select("select cmphu.id, cmphu.house_id,cmph.address,cmph.status,cmph.purpose,cmph.control_status,cmphu.popul_id,cmphu.residence,cmphu.relation_id,cmphu.relation from com_mng_population_house_user cmphu "
|
+ " left join com_mng_population_house as cmph on cmph.id = cmphu.house_id "
|
+ " where cmphu.popul_id = #{populId}")
|
List<ComMngHouseVo> getPopulHouseListByPopulId(@Param("populId") Long populId);
|
|
@Select("<script> "
|
+ "select id as houseId,cmv.alley from com_mng_population_house as cmph left join com_mng_village as cmv on cmv.village_id = cmph.village_id where cmph.community_id = ${communityId}"
|
+ "<if test='villageId != null and villageId != ""'>" + "and cmv.village_id = #{villageId}"
|
+ " </if> " + " </script>")
|
List<ComMngCascadeHouseVO> getHouseLevelByAlley(@Param(value = "communityId") Long communityId,
|
@Param(value = "villageId") Long villageId);
|
|
@Select("<script> "
|
+ "select id as houseId,cmv.alley,cmv.house_num,cmv.name from com_mng_population_house as cmph left join com_mng_village as cmv on cmv.village_id = cmph.village_id where cmph.community_id = ${communityId}"
|
+ "<if test='name != null and name != ""'>" + "and cmv.alley = #{name}" + " </if> "
|
+ "<if test='villageId != null'>" + "and cmv.village_id = #{villageId}" + " </if> " + " </script>")
|
List<ComMngCascadeHouseVO> getHouseLevelByHouseNum(@Param("name") String name,
|
@Param("communityId") Long communityId, @Param(value = "villageId") Long villageId);
|
|
@Select("<script> "
|
+ "select id as houseId,cmv.alley,cmv.house_num,cmph.floor from com_mng_population_house as cmph left join com_mng_village as cmv on cmv.village_id = cmph.village_id where cmph.community_id = ${communityId} "
|
+ "<if test='name != null and name != ""'>" + "and cmv.alley = #{name}" + " </if> "
|
+ "<if test='houseNum != null and houseNum != ""'>" + "and cmv.house_num = #{houseNum}" + " </if> "
|
+ "<if test='villageId != null'>" + "and cmv.village_id = #{villageId}" + " </if> " + " </script>")
|
List<ComMngCascadeHouseVO> getHouseLevelByFloor(@Param("name") String name, @Param("houseNum") String houseNum,
|
@Param("communityId") Long communityId, @Param(value = "villageId") Long villageId);
|
|
@Select("<script> "
|
+ "select id as houseId,cmv.alley,cmv.house_num,cmph.floor,cmph.unit_no from com_mng_population_house as cmph left join com_mng_village as cmv on cmv.village_id = cmph.village_id where cmph.community_id = ${communityId} "
|
+ "<if test='name != null and name != ""'>" + "and cmv.alley = #{name}" + " </if> "
|
+ "<if test='houseNum != null and houseNum != ""'>" + "and cmv.house_num = #{houseNum}" + " </if> "
|
+ "<if test='floor != null and floor != ""'>" + "and cmph.floor = #{floor}" + " </if> "
|
+ "<if test='villageId != null'>" + "and cmv.village_id = #{villageId}" + " </if> " + " </script>")
|
List<ComMngCascadeHouseVO> getHouseLevelByUnitNo(@Param("name") String name, @Param("houseNum") String houseNum,
|
@Param("floor") String floor, @Param("communityId") Long communityId,
|
@Param(value = "villageId") Long villageId);
|
|
@Select("<script> "
|
+ "select cmph.id as houseId,cmv.alley,cmv.house_num,cmph.floor,cmph.unit_no,cmph.house_no from com_mng_population_house as cmph left join com_mng_village as cmv on cmv.village_id = cmph.village_id where cmph.community_id = ${communityId} "
|
+ "<if test='name != null and name != ""'>" + "and cmv.alley = #{name}" + " </if> "
|
+ "<if test='houseNum != null and houseNum != ""'>" + "and cmv.house_num = #{houseNum}" + " </if> "
|
+ "<if test='floor != null and floor != ""'>" + "and cmph.floor = #{floor}" + " </if> "
|
+ "<if test='unitNo != null and unitNo != ""'>" + "and cmph.unit_no = #{unitNo}" + " </if> "
|
+ "<if test='villageId != null'>" + "and cmv.village_id = #{villageId}" + " </if> " + " </script>")
|
List<ComMngCascadeHouseVO> getHouseLevelByHouseNo(@Param("name") String name, @Param("houseNum") String houseNum,
|
@Param("floor") String floor, @Param("unitNo") String unitNo, @Param("communityId") Long communityId,
|
@Param(value = "villageId") Long villageId);
|
|
@Select("update com_mng_population_house set is_empty = #{isEmpty} where id = #{houseId}")
|
void updateHouseByIsEmpty(@Param("houseId") Long houseId, @Param("isEmpty") Integer isEmpty);
|
|
@Select("<script> "
|
+ "select cmph.id,cmv.alley,cmv.house_num,cmv.group_at,cmph.address,cmph.status,cmph.purpose,cmph.control_status"
|
+ ",cmph.update_at,cmph.is_empty from com_mng_population_house as cmph"
|
+ " left join com_mng_village as cmv on cmv.village_id = cmph.village_id" + "<where>"
|
+ "<if test='populationHouseAdminDTO.communityId != null'>"
|
+ " and cmph.community_id = ${populationHouseAdminDTO.communityId} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.alley != null and populationHouseAdminDTO.alley != ""'>" +
|
// "AND cmv.alley like #{populationHouseAdminDTO.alley} " +
|
"AND cmv.alley like concat('%',#{populationHouseAdminDTO.alley},'%') " + " </if> "
|
+ "<if test='populationHouseAdminDTO.houseNum != null and populationHouseAdminDTO.houseNum != ""'>"
|
+ "AND cmv.house_num = #{populationHouseAdminDTO.houseNum} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.groupAt != null and populationHouseAdminDTO.groupAt != ""'>"
|
+ "AND cmv.group_at = #{populationHouseAdminDTO.groupAt} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.status != null'>" + "AND cmph.status = #{populationHouseAdminDTO.status} "
|
+ " </if> " + "<if test='populationHouseAdminDTO.purpose != null'>"
|
+ "AND cmph.purpose = #{populationHouseAdminDTO.purpose} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.controlStatus != null'>"
|
+ "AND cmph.control_status = #{populationHouseAdminDTO.controlStatus} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.startTime != null and populationHouseAdminDTO.startTime != "" '>"
|
+ " AND cmph.update_at <![CDATA[>=]]> #{populationHouseAdminDTO.startTime} " + "</if>"
|
+ "<if test='populationHouseAdminDTO.endTime != null and populationHouseAdminDTO.startTime != "" '>"
|
+ " AND cmph.update_at <![CDATA[<=]]> #{populationHouseAdminDTO.endTime} " + " </if> " +
|
|
"<if test='populationHouseAdminDTO.road != null and populationHouseAdminDTO.road != "" '>"
|
+ " AND cmv.alley = #{populationHouseAdminDTO.road} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.doorNo != null and populationHouseAdminDTO.doorNo != "" '>"
|
+ " AND cmv.house_num = #{populationHouseAdminDTO.doorNo} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.floor != null and populationHouseAdminDTO.floor != "" '>"
|
+ " AND cmph.floor = #{populationHouseAdminDTO.floor} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.unitNo != null and populationHouseAdminDTO.unitNo != "" '>"
|
+ " AND cmph.unit_no = #{populationHouseAdminDTO.unitNo} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.houseNo != null and populationHouseAdminDTO.houseNo != "" '>"
|
+ " AND cmph.house_no = #{populationHouseAdminDTO.houseNo} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.villageId != null'>"
|
+ " and cmph.village_id = #{populationHouseAdminDTO.villageId} " + " </if> "
|
+ "<if test='populationHouseAdminDTO.address != null and populationHouseAdminDTO.address != "" '>"
|
+ " AND cmph.address = #{populationHouseAdminDTO.address} " + " </if> " + " </where>"
|
+ " order by update_at desc" + " </script>")
|
IPage<ComMngPopulationHouseAdminVO> getPageHouse(Page page,
|
@Param("populationHouseAdminDTO") ComMngPopulationHouseAdminDTO populationHouseAdminDTO);
|
|
@Select("select id,address,status,purpose,control_status,update_at,code,construct_purpose,construct_area from com_mng_population_house where id = #{houseId}")
|
ComMngPopulationHouseDetailAdminVO getHouseDetail(@Param("houseId") Long houseId);
|
|
@Select("select count(id) as houseTotal"
|
+ ",(select count(id) from com_mng_population_house where is_empty = 1 and community_id = ${communityId}) as emptyTotal"
|
+ ",(select count(id) from com_mng_population_house where control_status = 2 and community_id = ${communityId}) as followTotal"
|
+ ",(select count(id) from com_mng_population_house where control_status = 3 and community_id = ${communityId}) as controlTotal"
|
+ " from com_mng_population_house as cmph where community_id = ${communityId}")
|
ComMngPopulationHouseTotalVO getHouseTotalByAdmin(@Param("communityId") Long communityId);
|
|
@Select("select (select province_name from com_mng_struct_area_province where province_adcode = ca.province_code) as provinceName,"
|
+ "(select city_name from com_mng_struct_area_city where city_adcode = ca.city_code) as cityName,"
|
+ "(select district_name from com_mng_struct_area_district where district_adcode = ca.area_code) as districtName"
|
+ ",ca.province_code as provinceAdcode,ca.city_code as cityAdcode,ca.area_code as districtAdcode"
|
+ " from com_act as ca where ca.community_id = ${communityId}")
|
ComMngVillageRegionVO getRegion(@Param("communityId") Long communityId);
|
|
@Select("<script> "
|
+ "SELECT id, floor, unit_no, house_no, `status`,( SELECT count( id ) FROM com_mng_population_house_user WHERE house_id = cmph.id ) AS userNum "
|
+ " FROM " + " com_mng_population_house AS cmph " + " <where> "
|
+ "<if test='buildHouseAppDTO.villageId != null '>" + " and cmph.village_id = #{buildHouseAppDTO.villageId} "
|
+ " </if> " + "<if test='buildHouseAppDTO.floor != null and buildHouseAppDTO.floor !="" '>"
|
+ " and cmph.floor = #{buildHouseAppDTO.floor} " + " </if> "
|
+ "<if test='buildHouseAppDTO.unitNo != null and buildHouseAppDTO.unitNo !="" '>"
|
+ " and cmph.unit_no = #{buildHouseAppDTO.unitNo} " + " </if> "
|
+ "<if test='buildHouseAppDTO.houseNo != null and buildHouseAppDTO.houseNo !="" '>"
|
+ " and cmph.house_no like concat(#{buildHouseAppDTO.houseNo},'%') " + " </if> " + " </where>" + " </script>")
|
IPage<ComMngVillageBuildingHouseVO> getGridVillageBuildingHouseList(Page page,
|
@Param("buildHouseAppDTO") PageComMngVillageBuildHouseAppDTO buildHouseAppDTO);
|
|
@Select("SELECT " + " cmph.id, " + " cmv.`name` AS villageName, " + " cmph.floor, " + " cmph.unit_no, "
|
+ " cmph.house_no, " + " cmph.address, " + " cmph.`status`, " + " cmv.lat, " + " cmv.lng " + "FROM "
|
+ " com_mng_population_house AS cmph "
|
+ " LEFT JOIN com_mng_village AS cmv ON cmv.village_id = cmph.village_id " + "WHERE "
|
+ " cmph.id = #{houseId}")
|
ComMngVillageBuildingHouseDetailVO getGridVillageBuildingHouseDetail(@Param("houseId") Long houseId);
|
|
@Select("<script> " + "SELECT " + " cmp.id, " + " cmphu.id as housePopulationId, " + " cmp.sex, " + " cmp.`name`, "
|
+ " IFNULL( cmp.phone, '暂无' ) as phone, " + " cmp.card_no, " + " cmpct.label, " + " cmp.address, "
|
+ " cmp.nation, " + " cmphu.create_at, " + " cmp.political_outlook " + "FROM "
|
+ " com_mng_population_house_user AS cmphu "
|
+ " LEFT JOIN com_mng_population AS cmp ON cmp.id = cmphu.popul_id "
|
+ " left join com_mng_population_community_tags AS cmpct on cmp.id = cmpct.population_id " + "WHERE "
|
+ " cmphu.house_id = #{houseId} " + "<if test='relation != null '>" + " AND cmphu.relation = #{relation} "
|
+ " </if> " + "<if test='relationId != null '>" + " AND cmphu.relation_id = #{relationId} " + "</if> group by id "
|
+ " </script>")
|
List<PopulationListVO> getGridVillageBuildingPopulationList(@Param("houseId") Long houseId,
|
@Param("relation") Integer relation, @Param("relationId") Integer relationId);
|
|
@Select("select id as houseId,floor from com_mng_population_house where village_id = #{villageId} and floor is not null group by floor order by create_at asc")
|
List<ComMngSubordinateVO> getHouseLevelByFloors(@Param("villageId") Long villageId);
|
|
@Select("select id as houseId,unit_no from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no is not null group by unit_no order by create_at asc")
|
List<ComMngSubordinateVO> getHouseLevelByUnitNos(@Param("villageId") Long villageId, @Param("floor") String floor);
|
|
@Select("select id as houseId,house_no from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unitNo} and house_no is not null group by house_no order by create_at asc")
|
List<ComMngSubordinateVO> getHouseLevelByHouseNos(@Param("villageId") Long villageId, @Param("floor") String floor,
|
@Param("unitNo") String unitNo);
|
|
@Insert("<script> " + "insert into com_mng_population_house(`id`,`street_id`,`community_id`,`village_id`"
|
+ ",`alley`,`house_num`,`unit_no`,`floor`,`house_no`,`code`,`address`,`status`"
|
+ ",`purpose`,`control_status`,`is_empty`,`construct_purpose`,`construct_area`" + ",`path`,`create_at`) values "
|
+ "<foreach collection=\"houseList\" item=\"item\" index=\"index\" separator=\",\">\n"
|
+ " (#{item.id},#{item.streetId},#{item.communityId},#{item.villageId}"
|
+ ",#{item.alley},#{item.houseNum},#{item.unitNo},#{item.floor}"
|
+ ",#{item.houseNo},#{item.code},#{item.address},#{item.status}"
|
+ ",#{item.purpose},#{item.controlStatus},#{item.isEmpty},#{item.constructPurpose}"
|
+ ",#{item.constructArea},#{item.path},now())" + " </foreach>" + " </script>")
|
void insertAll(@Param("houseList") List<ComMngPopulationHouseDO> houseList);
|
|
/**
|
* 修改房屋关联单元号
|
* @param villageId 小区id
|
* @param floor 楼栋号
|
* @param oldUnitNo 原单元号
|
* @param newUnitNo 新单元号
|
*/
|
void updateHouseUnit(@Param("villageId") Long villageId, @Param("floor") String floor,@Param("oldUnitNo") String oldUnitNo,@Param("newUnitNo") String newUnitNo);
|
|
/**
|
* 修改房屋关联单元号
|
* @param houseList 需要修改的数据
|
*/
|
void updateUnitAll(@Param("houseList") List<ComMngPopulationHouseDO> houseList);
|
}
|