springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/AddBuildingHouseDto.java
New file @@ -0,0 +1,31 @@ package com.panzhihua.common.model.dtos.community.building.admin; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author lyq * 添加楼栋户室请求参数 */ @Data @ApiModel("添加楼栋户室请求参数") public class AddBuildingHouseDto { @ApiModelProperty("楼栋id") private Long id; @ApiModelProperty("单元号") private String unitNo; @ApiModelProperty("门牌号") private String houseNo; @ApiModelProperty("楼层数") private Integer floorNum; @ApiModelProperty(value = "社区id", hidden = true) private Long communityId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/AddBuildingUnitDto.java
@@ -17,7 +17,7 @@ private Long id; @ApiModelProperty("单元号") private String floor; private String unitNo; @ApiModelProperty(value = "社区id", hidden = true) private Long communityId; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/DeleteBuildingHousePopulationDto.java
New file @@ -0,0 +1,36 @@ package com.panzhihua.common.model.dtos.community.building.admin; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author lyq * 删除楼栋户室人员关系请求参数 */ @Data @ApiModel("删除楼栋户室人员关系请求参数") public class DeleteBuildingHousePopulationDto { @ApiModelProperty("房屋id") private Long houseId; @ApiModelProperty("人员类型(1.业主 2.居住人)") private Integer type; @ApiModelProperty("人员id") private Long populationId; @ApiModelProperty(value = "社区id", hidden = true) private Long communityId; /** * 人员类型(1.业主 2.居住人) */ public interface type{ int yz = 1; int jzr = 2; } } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/EditBuildingHouseDto.java
New file @@ -0,0 +1,28 @@ package com.panzhihua.common.model.dtos.community.building.admin; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author lyq * 修改楼栋户室请求参数 */ @Data @ApiModel("修改楼栋户室请求参数") public class EditBuildingHouseDto { @ApiModelProperty("房屋id") private Long houseId; @ApiModelProperty("门牌号") private String houseNo; @ApiModelProperty("楼层数") private Integer floorNum; @ApiModelProperty(value = "社区id", hidden = true) private Long communityId; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/building/admin/EditBuildingUnitDto.java
@@ -17,10 +17,10 @@ private Long id; @ApiModelProperty("原单元号") private String oldFloor; private String oldUnitNo; @ApiModelProperty("新单元号") private String newFloor; private String newUnitNo; @ApiModelProperty(value = "社区id", hidden = true) private Long communityId; springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java
@@ -4,8 +4,7 @@ import com.panzhihua.common.model.dtos.community.GetIdentityEidTokenDTO; import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto; import com.panzhihua.common.model.dtos.community.building.admin.*; import com.panzhihua.common.model.dtos.community.cluster.PageClusterMemberDto; import com.panzhihua.common.model.dtos.community.cluster.admin.*; import com.panzhihua.common.model.dtos.property.CommonPage; @@ -6694,4 +6693,44 @@ */ @GetMapping("/building/village/list/admin") R buildingVillageListAdmin(@RequestParam("communityId") Long communityId); /** * 添加楼栋下单元 * @param addBuildingUnitDto 请求参数 * @return 添加结果 */ @PostMapping("/building/unit/add/admin") R addBuildingUnitAdmin(@RequestBody AddBuildingUnitDto addBuildingUnitDto); /** * 修改楼栋下单元 * @param editBuildingUnitDto 请求参数 * @return 修改结果 */ @PostMapping("/building/unit/edit/admin") R editBuildingUnitAdmin(@RequestBody EditBuildingUnitDto editBuildingUnitDto); /** * 添加户室 * @param addBuildingHouseDto 请求参数 * @return 添加结果 */ @PostMapping("/building/house/add/admin") R addBuildingHouseAdmin(@RequestBody AddBuildingHouseDto addBuildingHouseDto); /** * 修改户室 * @param editBuildingHouseDto 请求参数 * @return 修改结果 */ @PostMapping("/building/house/edit/admin") R editBuildingHouseAdmin(@RequestBody EditBuildingHouseDto editBuildingHouseDto); /** * 删除户室下人员关联信息 * @param housePopulationDto 请求参数 * @return 删除结果 */ @PostMapping("/building/house/population/delete/admin") R deleteBuildingHousePopulationAdmin(@RequestBody DeleteBuildingHousePopulationDto housePopulationDto); } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BuildingApi.java
@@ -5,8 +5,7 @@ import javax.annotation.Resource; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto; import com.panzhihua.common.model.dtos.community.building.admin.*; import com.panzhihua.common.model.vos.community.ComMngVillageVO; import com.panzhihua.common.model.vos.community.building.admin.BuildingDetailAdminVo; import com.panzhihua.common.model.vos.community.building.admin.BuildingListHeaderStatisticsAdminVo; @@ -108,13 +107,69 @@ return communityService.buildingVillageListAdmin(communityId); } // @ApiOperation(value = "添加单元") // @PostMapping("/add/unit") // public R addUnit() { // // 获取登陆用户绑定社区id // Long communityId = this.getLoginUserInfo().getCommunityId(); // return communityService.buildingVillageListAdmin(communityId); // } @ApiOperation(value = "添加单元") @PostMapping("/add/unit") public R addUnit(@RequestBody AddBuildingUnitDto addBuildingUnitDto) { // 获取登陆用户绑定社区id Long communityId = this.getLoginUserInfo().getCommunityId(); addBuildingUnitDto.setCommunityId(communityId); if(addBuildingUnitDto.getId() == null || addBuildingUnitDto.getUnitNo() == null){ return R.fail("参数有误"); } return communityService.addBuildingUnitAdmin(addBuildingUnitDto); } @ApiOperation(value = "修改单元") @PostMapping("/edit/unit") public R editUnit(@RequestBody EditBuildingUnitDto editBuildingUnitDto) { // 获取登陆用户绑定社区id Long communityId = this.getLoginUserInfo().getCommunityId(); editBuildingUnitDto.setCommunityId(communityId); if(editBuildingUnitDto.getId() == null || editBuildingUnitDto.getOldUnitNo() == null || editBuildingUnitDto.getNewUnitNo() == null){ return R.fail("参数有误"); } return communityService.editBuildingUnitAdmin(editBuildingUnitDto); } @ApiOperation(value = "添加户室") @PostMapping("/add/house") public R addHouse(@RequestBody AddBuildingHouseDto addBuildingHouseDto) { // 获取登陆用户绑定社区id Long communityId = this.getLoginUserInfo().getCommunityId(); addBuildingHouseDto.setCommunityId(communityId); if(addBuildingHouseDto.getId() == null || addBuildingHouseDto.getHouseNo() == null || addBuildingHouseDto.getUnitNo() == null){ return R.fail("参数有误"); } return communityService.addBuildingHouseAdmin(addBuildingHouseDto); } @ApiOperation(value = "修改户室") @PostMapping("/edit/house") public R editHouse(@RequestBody EditBuildingHouseDto editBuildingHouseDto) { // 获取登陆用户绑定社区id Long communityId = this.getLoginUserInfo().getCommunityId(); editBuildingHouseDto.setCommunityId(communityId); if(editBuildingHouseDto.getHouseId() == null || editBuildingHouseDto.getHouseNo() == null){ return R.fail("参数有误"); } return communityService.editBuildingHouseAdmin(editBuildingHouseDto); } @ApiOperation(value = "删除户室下人员") @PostMapping("/delete/population") public R deletePopulation(@RequestBody DeleteBuildingHousePopulationDto housePopulationDto) { // 获取登陆用户绑定社区id Long communityId = this.getLoginUserInfo().getCommunityId(); housePopulationDto.setCommunityId(communityId); if(housePopulationDto.getHouseId() == null || housePopulationDto.getPopulationId() == null || housePopulationDto.getType() == null){ return R.fail("参数有误"); } return communityService.deleteBuildingHousePopulationAdmin(housePopulationDto); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/BuildingApi.java
@@ -4,8 +4,7 @@ import javax.annotation.Resource; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto; import com.panzhihua.common.model.dtos.community.building.admin.*; import org.springframework.web.bind.annotation.*; import com.panzhihua.common.model.vos.R; @@ -91,4 +90,29 @@ public R buildingVillageListAdmin(@RequestParam("communityId") Long communityId) { return comActBuildingService.buildingVillageListAdmin(communityId); } @PostMapping("/unit/add/admin") public R addBuildingUnitAdmin(@RequestBody AddBuildingUnitDto addBuildingUnitDto) { return comActBuildingService.addBuildingUnitAdmin(addBuildingUnitDto); } @PostMapping("/unit/edit/admin") public R editBuildingUnitAdmin(@RequestBody EditBuildingUnitDto editBuildingUnitDto) { return comActBuildingService.editBuildingUnitAdmin(editBuildingUnitDto); } @PostMapping("/house/add/admin") public R addBuildingHouseAdmin(@RequestBody AddBuildingHouseDto addBuildingHouseDto) { return comActBuildingService.addBuildingHouseAdmin(addBuildingHouseDto); } @PostMapping("/house/edit/admin") public R editBuildingHouseAdmin(@RequestBody EditBuildingHouseDto editBuildingHouseDto) { return comActBuildingService.editBuildingHouseAdmin(editBuildingHouseDto); } @PostMapping("/house/population/delete/admin") public R deleteBuildingHousePopulationAdmin(@RequestBody DeleteBuildingHousePopulationDto housePopulationDto) { return comActBuildingService.deleteBuildingHousePopulationAdmin(housePopulationDto); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationDAO.java
@@ -597,4 +597,13 @@ * 居民详情 */ ComMngPopulationDetailVO getById(Long id); /** * 修改实有人口绑定单元号 * @param villageId 小区id * @param floor 楼栋号 * @param oldUnitNo 原单元号 * @param newUnitNo 新单元号 */ void updatePopulationUnit(@Param("villageId") Long villageId, @Param("floor") String floor,@Param("oldUnitNo") String oldUnitNo,@Param("newUnitNo") String newUnitNo); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComMngPopulationHouseDAO.java
@@ -189,4 +189,19 @@ + ",#{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); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngPopulationHouseDO.java
@@ -65,7 +65,7 @@ private String houseNo; /** * 房屋状态(1.自住 2.租住 3.其他) * 房屋状态(1.自住 2.租住 3.空置 4.其他) */ private Integer status; @@ -123,6 +123,11 @@ */ private String path; /** * 楼层数 */ private Integer floorNum; @Override public String toString() { return "ComMngPopulationHouseDO{" + "id=" + id + ", streetId=" + streetId + ", address=" + address + ", code=" @@ -131,4 +136,14 @@ + ", constructArea=" + constructArea + ", path=" + path + ", createAt=" + createAt + ", updateAt=" + updateAt + "}"; } /** * 房屋状态(1.自住 2.租住 3.空置 4.其他) */ public interface status{ int zizhu = 1; int zuzhu = 2; int kongzhi = 3; int qita = 4; } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComMngPopulationHouseUserDO.java
@@ -41,7 +41,7 @@ private Integer relation; /** * 人和房屋关系’ (1.自住2、租住) * 人和房屋关系’ (1.自住2、租住) 该字段类型改为(1.业主 2.业主家属 3.租户) */ private Integer relationId; @@ -91,10 +91,11 @@ } /** * 人和房屋关系’ (1.自住2、租住) * 人和房屋关系’ (1.自住2、租住) 该字段类型改为(1.业主 2.业主家属 3.租户) */ public interface relationId { int zizhu = 1; int zuzhu = 2; int zuhu = 3; } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComActBuildingService.java
@@ -3,8 +3,7 @@ import java.util.List; import com.baomidou.mybatisplus.extension.service.IService; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto; import com.panzhihua.common.model.dtos.community.building.admin.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComMngBuildingExcelVO; import com.panzhihua.service_community.model.dos.ComMngBuildingDO; @@ -56,4 +55,14 @@ R buildingUnitHouseDetailAdmin(Long houseId,Long communityId); R buildingVillageListAdmin(Long communityId); R addBuildingUnitAdmin(AddBuildingUnitDto addBuildingUnitDto); R editBuildingUnitAdmin(EditBuildingUnitDto editBuildingUnitDto); R addBuildingHouseAdmin(AddBuildingHouseDto addBuildingHouseDto); R editBuildingHouseAdmin(EditBuildingHouseDto editBuildingHouseDto); R deleteBuildingHousePopulationAdmin(DeleteBuildingHousePopulationDto housePopulationDto); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java
@@ -1,5 +1,6 @@ package com.panzhihua.service_community.service.impl; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -10,16 +11,19 @@ import cn.hutool.core.util.IdcardUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.enums.PopulIsOksEnum; import com.panzhihua.common.enums.PopulPoliticalOutlookEnum; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingListDto; import com.panzhihua.common.model.dtos.community.building.admin.PageBuildingUnitHouseListDto; import com.panzhihua.common.model.dtos.community.building.admin.*; import com.panzhihua.common.model.vos.community.ComMngVillageVO; import com.panzhihua.common.model.vos.community.ComPopulationActVO; import com.panzhihua.common.model.vos.community.building.admin.BuildingUnitHouseListAdminVo; import com.panzhihua.common.model.vos.community.building.admin.PageBuildingListAdminVo; import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseDetailVO; import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseVO; import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingVO; import com.panzhihua.common.model.vos.grid.PopulationListVO; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.model.dos.*; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -32,13 +36,6 @@ import com.panzhihua.common.model.vos.community.ComMngPopulationImportErrorVO; import com.panzhihua.common.utlis.Snowflake; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComActDAO; import com.panzhihua.service_community.dao.ComActVillageDAO; import com.panzhihua.service_community.dao.ComMngBuildingDAO; import com.panzhihua.service_community.model.dos.ComActDO; import com.panzhihua.service_community.model.dos.ComMngBuildingDO; import com.panzhihua.service_community.model.dos.ComMngVillageDO; import com.panzhihua.service_community.model.dos.GridBuildRelationDO; import com.panzhihua.service_community.service.ComActBuildingService; import com.panzhihua.service_community.service.GridBuildRelationService; @@ -56,6 +53,12 @@ private ComActDAO comActDAO; @Resource private GridBuildRelationService gridBuildRelationService; @Resource private ComMngPopulationHouseDAO comMngPopulationHouseDAO; @Resource private ComMngPopulationDAO comMngPopulationDAO; @Resource private ComMngPopulationHouseUserDAO comMngPopulationHouseUserDAO; @Override public R batchSaveBuilding(List<ComMngBuildingExcelVO> newVoList, Long communityId) { @@ -175,15 +178,19 @@ if(StringUtils.isNotEmpty(buildingDO.getName())){ buildList = this.baseMapper.buildingUnitList(buildingDO.getVillageId(),buildingDO.getName()); buildList.forEach(villageBuilding -> { if (!villageBuilding.getFloor().contains("栋")) { villageBuilding.setFloorString(villageBuilding.getFloor() + "栋"); } else { villageBuilding.setFloorString(villageBuilding.getFloor()); if(StringUtils.isNotEmpty(villageBuilding.getFloor())){ if (!villageBuilding.getFloor().contains("栋")) { villageBuilding.setFloorString(villageBuilding.getFloor() + "栋"); } else { villageBuilding.setFloorString(villageBuilding.getFloor()); } } if (!villageBuilding.getUnitNo().contains("单元")) { villageBuilding.setUnitNoString(villageBuilding.getUnitNo() + "单元"); } else { villageBuilding.setUnitNoString(villageBuilding.getUnitNo()); if(StringUtils.isNotEmpty(villageBuilding.getUnitNo())){ if (!villageBuilding.getUnitNo().contains("单元")) { villageBuilding.setUnitNoString(villageBuilding.getUnitNo() + "单元"); } else { villageBuilding.setUnitNoString(villageBuilding.getUnitNo()); } } }); } @@ -210,19 +217,21 @@ if(StringUtils.isNotEmpty(buildingDO.getName())){ IPage<ComMngVillageBuildingHouseVO> buildingHousePage = this.baseMapper.getBuildingUnitHouseList(new Page(unitHouseListDto.getPageNum(),unitHouseListDto.getPageSize()),unitHouseListDto); buildingHousePage.getRecords().forEach(house -> { if(StringUtils.isNotEmpty(house.getHouseNo())){ boolean result = house.getHouseNo().matches("[0-9]+"); if (result) {// 该字段为纯数字 if (house.getHouseNo().length() == 4) { house.setBuildingNum(house.getHouseNo().substring(0, 2).replaceAll("^(0+)", "")); } else if (house.getHouseNo().length() == 3) { house.setBuildingNum(house.getHouseNo().substring(0, 1).replaceAll("^(0+)", "")); if(StringUtils.isEmpty(house.getBuildingNum())){ if(StringUtils.isNotEmpty(house.getHouseNo())){ boolean result = house.getHouseNo().matches("[0-9]+"); if (result) {// 该字段为纯数字 if (house.getHouseNo().length() == 4) { house.setBuildingNum(house.getHouseNo().substring(0, 2).replaceAll("^(0+)", "")); } else if (house.getHouseNo().length() == 3) { house.setBuildingNum(house.getHouseNo().substring(0, 1).replaceAll("^(0+)", "")); } } else { house.setBuildingNum("-"); } } else { house.setBuildingNum("-"); } } else { house.setBuildingNum("-"); } }); buildHouseList = buildingHousePage.getRecords(); @@ -262,7 +271,7 @@ // 查询该房屋的户主信息 List<PopulationListVO> householderList = this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, 1, null); this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, null, 1); if (!householderList.isEmpty()) { householderList.forEach(householder -> { if(householder.getPoliticalOutlook() != null){ @@ -312,4 +321,306 @@ }); return R.ok(villageList); } @Override public R addBuildingUnitAdmin(AddBuildingUnitDto addBuildingUnitDto){ //查询该楼栋信息 ComMngBuildingDO buildingDO = this.baseMapper.selectById(addBuildingUnitDto.getId()); if(buildingDO == null){ return R.fail("未查询到该楼栋信息"); } Integer count = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda() .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId()) .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName()) .eq(ComMngPopulationHouseDO::getUnitNo,addBuildingUnitDto.getUnitNo())); if(count > 0){ return R.fail("该单元号已存在"); } //查询小区信息 ComMngVillageDO villageDO = comActVillageDAO.selectById(buildingDO.getVillageId()); if(villageDO != null){ StringBuilder address = new StringBuilder(); StringBuilder housePath = new StringBuilder(); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(addBuildingUnitDto.getCommunityId()); if(populationActVO != null){ address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(villageDO.getAlley()).append(villageDO.getHouseNum()).append("号"); if (StringUtils.isNotEmpty(buildingDO.getName())) { address.append(buildingDO.getName()).append("栋"); } if (StringUtils.isNotEmpty(addBuildingUnitDto.getUnitNo())) { address.append(addBuildingUnitDto.getUnitNo()).append("单元"); } housePath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()).append(">") .append(villageDO.getAlley()).append(">").append(populationActVO.getName()).append(">").append(villageDO.getName()).append(">").append(address.toString()); } ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(buildingDO.getStreetId()); populationHouseDO.setVillageId(buildingDO.getVillageId()); populationHouseDO.setAlley(villageDO.getAlley()); populationHouseDO.setHouseNum(villageDO.getHouseNum()); populationHouseDO.setStatus(ComMngPopulationHouseDO.status.kongzhi); populationHouseDO.setCommunityId(addBuildingUnitDto.getCommunityId()); populationHouseDO.setFloor(buildingDO.getName()); populationHouseDO.setUnitNo(addBuildingUnitDto.getUnitNo()); populationHouseDO.setAddress(address.toString()); populationHouseDO.setUpdateAt(new Date()); populationHouseDO.setPath(housePath.toString()); populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); comMngPopulationHouseDAO.insert(populationHouseDO); }else{ return R.fail(); } return R.ok(); } @Override public R editBuildingUnitAdmin(EditBuildingUnitDto editBuildingUnitDto){ //查询该楼栋信息 ComMngBuildingDO buildingDO = this.baseMapper.selectById(editBuildingUnitDto.getId()); if(buildingDO == null){ return R.fail("未查询到该楼栋信息"); } Integer oldCount = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda() .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId()) .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName()) .eq(ComMngPopulationHouseDO::getUnitNo,editBuildingUnitDto.getOldUnitNo())); if(oldCount <= 0){ return R.fail("原单元号不存在"); } Integer newCount = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda() .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId()) .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName()) .eq(ComMngPopulationHouseDO::getUnitNo,editBuildingUnitDto.getNewUnitNo())); if(newCount > 0){ return R.fail("新单元号已存在"); } //查询小区信息 ComMngVillageDO villageDO = comActVillageDAO.selectById(buildingDO.getVillageId()); if(villageDO != null){ String unitString = editBuildingUnitDto.getNewUnitNo() + "单元"; List<ComMngPopulationHouseDO> editHouseList = new ArrayList<>(); //查询需要修改的房屋列表信息 List<ComMngPopulationHouseDO> houseList = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda() .eq(ComMngPopulationHouseDO::getVillageId,villageDO.getVillageId()) .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName()) .eq(ComMngPopulationHouseDO::getUnitNo,editBuildingUnitDto.getOldUnitNo())); houseList.forEach(house -> { ComMngPopulationHouseDO houseDO = new ComMngPopulationHouseDO(); houseDO.setId(house.getId()); houseDO.setAddress(house.getAddress().replace(house.getUnitNo() + "单元", unitString)); houseDO.setPath(house.getPath().replace(house.getUnitNo() + "单元", unitString)); houseDO.setUnitNo(editBuildingUnitDto.getNewUnitNo()); editHouseList.add(houseDO); }); List<ComMngPopulationDO> editPopulationList = new ArrayList<>(); //查询需要修改的人口信息 List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda() .eq(ComMngPopulationDO::getVillageId,villageDO.getVillageId()) .eq(ComMngPopulationDO::getFloor,buildingDO.getName()) .eq(ComMngPopulationDO::getUnitNo,editBuildingUnitDto.getOldUnitNo())); populationList.forEach(population -> { ComMngPopulationDO populationDO = new ComMngPopulationDO(); populationDO.setId(population.getId()); populationDO.setAddress(population.getAddress().replace(population.getUnitNo() + "单元", unitString)); populationDO.setUnitNo(editBuildingUnitDto.getNewUnitNo()); editPopulationList.add(populationDO); }); if(!editHouseList.isEmpty()){ comMngPopulationHouseDAO.updateUnitAll(editHouseList); } if(!editPopulationList.isEmpty()){ comMngPopulationDAO.updateAll(editPopulationList); } }else{ return R.fail(); } return R.ok(); } @Override public R addBuildingHouseAdmin(AddBuildingHouseDto addBuildingHouseDto){ //查询该楼栋信息 ComMngBuildingDO buildingDO = this.baseMapper.selectById(addBuildingHouseDto.getId()); if(buildingDO == null){ return R.fail("未查询到该楼栋信息"); } Integer count = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda() .eq(ComMngPopulationHouseDO::getVillageId,buildingDO.getVillageId()) .eq(ComMngPopulationHouseDO::getFloor,buildingDO.getName()) .eq(ComMngPopulationHouseDO::getUnitNo,addBuildingHouseDto.getUnitNo()) .eq(ComMngPopulationHouseDO::getHouseNo,addBuildingHouseDto.getHouseNo())); if(count > 0){ return R.fail("该房间已存在"); } //查询小区信息 ComMngVillageDO villageDO = comActVillageDAO.selectById(buildingDO.getVillageId()); if(villageDO != null){ StringBuilder address = new StringBuilder(); StringBuilder housePath = new StringBuilder(); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(addBuildingHouseDto.getCommunityId()); if(populationActVO != null){ address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(villageDO.getAlley()).append(villageDO.getHouseNum()).append("号"); if (StringUtils.isNotEmpty(buildingDO.getName())) { address.append(buildingDO.getName()).append("栋"); } if (StringUtils.isNotEmpty(addBuildingHouseDto.getUnitNo())) { address.append(addBuildingHouseDto.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(addBuildingHouseDto.getHouseNo())) { address.append(addBuildingHouseDto.getHouseNo()).append("号"); } housePath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()).append(">") .append(villageDO.getAlley()).append(">").append(populationActVO.getName()).append(">").append(villageDO.getName()).append(">").append(address.toString()); } ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(buildingDO.getStreetId()); populationHouseDO.setVillageId(buildingDO.getVillageId()); populationHouseDO.setAlley(villageDO.getAlley()); populationHouseDO.setHouseNum(villageDO.getHouseNum()); populationHouseDO.setStatus(ComMngPopulationHouseDO.status.kongzhi); populationHouseDO.setCommunityId(addBuildingHouseDto.getCommunityId()); populationHouseDO.setFloor(buildingDO.getName()); populationHouseDO.setUnitNo(addBuildingHouseDto.getUnitNo()); populationHouseDO.setHouseNo(addBuildingHouseDto.getHouseNo()); populationHouseDO.setFloorNum(addBuildingHouseDto.getFloorNum()); populationHouseDO.setAddress(address.toString()); populationHouseDO.setUpdateAt(new Date()); populationHouseDO.setPath(housePath.toString()); populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); comMngPopulationHouseDAO.insert(populationHouseDO); }else{ return R.fail(); } return R.ok(); } @Override public R editBuildingHouseAdmin(EditBuildingHouseDto editBuildingHouseDto){ ComMngPopulationHouseDO houseDO = comMngPopulationHouseDAO.selectById(editBuildingHouseDto.getHouseId()); if(houseDO == null){ return R.fail("未查询到该户室"); } Integer count = comMngPopulationHouseDAO.selectCount(new QueryWrapper<ComMngPopulationHouseDO>().lambda() .eq(ComMngPopulationHouseDO::getVillageId,houseDO.getVillageId()) .eq(ComMngPopulationHouseDO::getFloor,houseDO.getFloor()) .eq(ComMngPopulationHouseDO::getUnitNo,houseDO.getUnitNo()) .eq(ComMngPopulationHouseDO::getHouseNo,editBuildingHouseDto.getHouseNo())); if(count > 0){ return R.fail("该房间已存在"); } //查询小区信息 ComMngVillageDO villageDO = comActVillageDAO.selectById(houseDO.getVillageId()); if(villageDO != null){ StringBuilder address = new StringBuilder(); StringBuilder housePath = new StringBuilder(); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(editBuildingHouseDto.getCommunityId()); if(populationActVO != null){ address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(villageDO.getAlley()).append(villageDO.getHouseNum()).append("号"); if (StringUtils.isNotEmpty(houseDO.getFloor())) { address.append(houseDO.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(houseDO.getUnitNo())) { address.append(houseDO.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(editBuildingHouseDto.getHouseNo())) { address.append(editBuildingHouseDto.getHouseNo()).append("号"); } housePath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()).append(">") .append(villageDO.getAlley()).append(">").append(populationActVO.getName()).append(">").append(villageDO.getName()).append(">").append(address.toString()); houseDO.setAddress(address.toString()); houseDO.setPath(housePath.toString()); } List<ComMngPopulationDO> editPopulationList = new ArrayList<>(); //查询需要修改的人口信息 List<ComMngPopulationDO> populationList = comMngPopulationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda() .eq(ComMngPopulationDO::getVillageId,villageDO.getVillageId()) .eq(ComMngPopulationDO::getFloor,houseDO.getFloor()) .eq(ComMngPopulationDO::getUnitNo,houseDO.getUnitNo()) .eq(ComMngPopulationDO::getHouseNo,houseDO.getHouseNo())); populationList.forEach(population -> { ComMngPopulationDO populationDO = new ComMngPopulationDO(); populationDO.setId(population.getId()); populationDO.setAddress(address.toString()); populationDO.setHouseNo(editBuildingHouseDto.getHouseNo()); editPopulationList.add(populationDO); }); houseDO.setHouseNo(editBuildingHouseDto.getHouseNo()); houseDO.setFloorNum(editBuildingHouseDto.getFloorNum()); comMngPopulationHouseDAO.updateById(houseDO); if(!editPopulationList.isEmpty()){ comMngPopulationDAO.updateAll(editPopulationList); } }else{ return R.fail(); } return R.ok(); } @Override public R deleteBuildingHousePopulationAdmin(DeleteBuildingHousePopulationDto housePopulationDto){ ComMngPopulationHouseDO houseDO = comMngPopulationHouseDAO.selectById(housePopulationDto.getHouseId()); if(houseDO == null){ return R.fail("未查询到该户室"); } if(housePopulationDto.getType().equals(DeleteBuildingHousePopulationDto.type.yz)){ ComMngPopulationHouseUserDO houseUserDO = comMngPopulationHouseUserDAO.selectOne(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda() .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId()) .eq(ComMngPopulationHouseUserDO::getPopulId,housePopulationDto.getPopulationId())); if(houseUserDO != null){ houseUserDO.setRelationId(ComMngPopulationHouseUserDO.relationId.zuzhu); houseUserDO.setUpdateAt(new Date()); comMngPopulationHouseUserDAO.updateById(houseUserDO); } }else if(housePopulationDto.getType().equals(DeleteBuildingHousePopulationDto.type.jzr)){ //清理人员和房屋关联关系 comMngPopulationHouseUserDAO.delete(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda() .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId()) .eq(ComMngPopulationHouseUserDO::getPopulId,housePopulationDto.getPopulationId())); //查询该房屋是否还有人居住 Integer count = comMngPopulationHouseUserDAO.selectCount(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda() .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId())); if(count <= 0){ houseDO.setStatus(ComMngPopulationHouseDO.status.kongzhi); comMngPopulationHouseDAO.updateById(houseDO); }else{ //查询该房屋的居住人中是否还有租住的人 Integer zCount = comMngPopulationHouseUserDAO.selectCount(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda() .eq(ComMngPopulationHouseUserDO::getHouseId,housePopulationDto.getHouseId()) .eq(ComMngPopulationHouseUserDO::getRelationId,ComMngPopulationHouseUserDO.relationId.zuhu)); if(zCount <= 0){ houseDO.setStatus(ComMngPopulationHouseDO.status.zizhu); comMngPopulationHouseDAO.updateById(houseDO); } } } return R.ok(); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngBuildingMapper.xml
@@ -122,23 +122,28 @@ </select> <select id="getBuildingUnitHouseList" resultType="com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseVO"> SELECT id, floor, unit_no, house_no, `status`, SELECT id, floor, unit_no, house_no, `status`,floor_num as buildingNum, ( SELECT count( id ) FROM com_mng_population_house_user WHERE house_id = cmph.id ) AS userNum FROM com_mng_population_house AS cmph where cmph.village_id = #{pageBuildingListDto.villageId} and cmph.floor = #{pageBuildingListDto.floor} and cmph.unit_no = #{pageBuildingListDto.unit} where cmph.village_id = #{pageBuildingListDto.villageId} and cmph.floor = #{pageBuildingListDto.floor} and cmph.unit_no = #{pageBuildingListDto.unit} and cmph.house_no is not null order by floor_num asc </select> <select id="getBuildingUnitHouseStatistics" resultType="Map"> SELECT count( id ) as houseNum, (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and `status` = 1) as liveTotal, (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and `status` = 2) as leaseTotal, (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and `status` = 3) as vacantNum (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and house_no is not null and `status` = 1) as liveTotal, (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and house_no is not null and `status` = 2) as leaseTotal, (select count(id) from com_mng_population_house where village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and house_no is not null and `status` = 3) as vacantNum FROM com_mng_population_house WHERE village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} village_id = #{villageId} and floor = #{floor} and unit_no = #{unit} and house_no is not null </select> <select id="buildingUnitHouseDetailAdmin" resultType="com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseDetailVO"> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngPopulationDOMapper.xml
@@ -600,4 +600,8 @@ AND e.create_at <![CDATA[<=]]> #{screenEventDTO.endTime} </if> </select> <update id="updatePopulationUnit"> update com_mng_population set unit_no = #{newUnitNo} where village_id = #{villageId} and floor = #{floor} and unit_no = #{oldUnitNo} </update> </mapper> springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComMngPopulationHouseDOMapper.xml
New file @@ -0,0 +1,57 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.panzhihua.service_community.dao.ComMngPopulationHouseDAO"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComMngPopulationHouseDO"> <id column="id" property="id" /> <result column="street_id" property="streetId" /> <result column="community_id" property="communityId" /> <result column="village_id" property="villageId" /> <result column="alley" property="alley" /> <result column="house_num" property="houseNum" /> <result column="unit_no" property="unitNo" /> <result column="floor" property="floor" /> <result column="house_no" property="houseNo" /> <result column="code" property="code" /> <result column="address" property="address" /> <result column="status" property="status" /> <result column="purpose" property="purpose" /> <result column="control_status" property="controlStatus" /> <result column="is_empty" property="isEmpty" /> <result column="construct_purpose" property="constructPurpose" /> <result column="construct_area" property="constructArea" /> <result column="path" property="path" /> <result column="create_at" property="createAt" /> <result column="update_at" property="updateAt" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> 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, update_at </sql> <update id="updateHouseUnit"> update com_mng_population_house set unit_no = #{newUnitNo} where village_id = #{villageId} and floor = #{floor} and unit_no = #{oldUnitNo} </update> <update id="updateUnitAll" parameterType="java.util.List"> <foreach collection="houseList" item="item" index="index" separator=";"> update com_mng_population_house <set> <if test="item.address != null and item.address != """> `address` = #{item.address}, </if> <if test="item.path != null and item.path != """> `path` = #{item.path}, </if> <if test="item.unitNo != null and item.unitNo != """> `unit_no` = #{item.unitNo}, </if> `update_at` = NOW() </set> WHERE `id` = #{item.id} </foreach> </update> </mapper>