From 25af58aee8358a3396f119aadca1db6b99b1e94f Mon Sep 17 00:00:00 2001 From: 罗元桥 <2376770955@qq.com> Date: 星期四, 14 十月 2021 08:59:19 +0800 Subject: [PATCH] Merge branch 'lyq' into 'test' --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java | 525 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 518 insertions(+), 7 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java index 039d939..e3bdc70 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActBuildingServiceImpl.java @@ -1,11 +1,29 @@ package com.panzhihua.service_community.service.impl; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import javax.annotation.Resource; +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.*; +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; @@ -18,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; @@ -42,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) { @@ -112,4 +129,498 @@ gridBuildRelation.setCreateAt(new Date()); return gridBuildRelation; } + + /** + * 社区后台-分页查询楼栋列表 + * @param pageBuildingListDto 请求参数 + * @return 楼栋列表 + */ + @Override + public R pageBuildingAdmin(PageBuildingListDto pageBuildingListDto){ + IPage<PageBuildingListAdminVo> pageBuildingList = this.baseMapper.pageBuildingAdmin( + new Page(pageBuildingListDto.getPageNum(),pageBuildingListDto.getPageSize()),pageBuildingListDto); + return R.ok(pageBuildingList); + } + + /** + * 社区后台-查询楼栋列表表头统计数据 + * @param communityId 社区id + * @return 楼栋列表表头统计数据 + */ + @Override + public R buildingListHeaderStatisticsAdmin(Long communityId){ + return R.ok(this.baseMapper.buildingListHeaderStatisticsAdmin(communityId)); + } + + /** + * 社区后台-查询楼栋详情 + * @param id 楼栋id + * @return 楼栋详情 + */ + @Override + public R detailBuildAdmin(Long id){ + return R.ok(this.baseMapper.detailBuildAdmin(id)); + } + + /** + * 查询楼栋下单元列表 + * @param id 楼栋id + * @return 单元列表 + */ + @Override + public R buildingUnitListAdmin(Long id){ + //查询该楼栋信息 + ComMngBuildingDO buildingDO = this.baseMapper.selectById(id); + if(buildingDO == null){ + return R.fail("未查询到该楼栋信息"); + } + List<ComMngVillageBuildingVO> buildList = new ArrayList<>(); + if(StringUtils.isNotEmpty(buildingDO.getName())){ + buildList = this.baseMapper.buildingUnitList(buildingDO.getVillageId(),buildingDO.getName()); + buildList.forEach(villageBuilding -> { + if(StringUtils.isNotEmpty(villageBuilding.getFloor())){ + if (!villageBuilding.getFloor().contains("栋")) { + villageBuilding.setFloorString(villageBuilding.getFloor() + "栋"); + } else { + villageBuilding.setFloorString(villageBuilding.getFloor()); + } + } + if(StringUtils.isNotEmpty(villageBuilding.getUnitNo())){ + if (!villageBuilding.getUnitNo().contains("单元")) { + villageBuilding.setUnitNoString(villageBuilding.getUnitNo() + "单元"); + } else { + villageBuilding.setUnitNoString(villageBuilding.getUnitNo()); + } + } + }); + } + return R.ok(buildList); + } + + /** + * 查询楼栋单元下房屋列表 + * @param unitHouseListDto 请求参数 + * @return 单元列表 + */ + @Override + public R buildingUnitHouseListAdmin(PageBuildingUnitHouseListDto unitHouseListDto){ + + BuildingUnitHouseListAdminVo houseListAdminVo = new BuildingUnitHouseListAdminVo(); + //查询该楼栋信息 + ComMngBuildingDO buildingDO = this.baseMapper.selectById(unitHouseListDto.getId()); + if(buildingDO == null){ + return R.fail("未查询到该楼栋信息"); + } + unitHouseListDto.setVillageId(buildingDO.getVillageId()); + unitHouseListDto.setFloor(buildingDO.getName()); + List<ComMngVillageBuildingHouseVO> buildHouseList = new ArrayList<>(); + if(StringUtils.isNotEmpty(buildingDO.getName())){ + IPage<ComMngVillageBuildingHouseVO> buildingHousePage = this.baseMapper.getBuildingUnitHouseList(new Page(unitHouseListDto.getPageNum(),unitHouseListDto.getPageSize()),unitHouseListDto); + buildingHousePage.getRecords().forEach(house -> { + 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("-"); + } + } + }); + buildHouseList = buildingHousePage.getRecords(); + + //查询统计数据 + Map<String,Object> statisticsMap = this.baseMapper.getBuildingUnitHouseStatistics(buildingDO.getVillageId(),buildingDO.getName(),unitHouseListDto.getUnit()); + if(statisticsMap != null){ + houseListAdminVo.setHouseNum(Integer.parseInt(statisticsMap.get("houseNum").toString())); + houseListAdminVo.setLiveTotal(Integer.parseInt(statisticsMap.get("liveTotal").toString())); + houseListAdminVo.setLeaseTotal(Integer.parseInt(statisticsMap.get("leaseTotal").toString())); + houseListAdminVo.setVacantNum(Integer.parseInt(statisticsMap.get("vacantNum").toString())); + } + } + houseListAdminVo.setHouseList(buildHouseList); + + return R.ok(houseListAdminVo); + } + + @Override + public R buildingUnitHouseDetailAdmin(Long houseId,Long communityId){ + ComMngVillageBuildingHouseDetailVO buildingHouseDetailVO = + this.baseMapper.buildingUnitHouseDetailAdmin(houseId); + if (buildingHouseDetailVO != null) { + + // 转换楼层数 + String houseNo = buildingHouseDetailVO.getHouseNo(); + boolean result = houseNo.matches("[0-9]+"); + if (result) {// 该字段为纯数字 + if (houseNo.length() == 4) { + buildingHouseDetailVO.setBuildingNum(houseNo.substring(0, 2).replaceAll("^(0+)", "")); + } else if (houseNo.length() == 3) { + buildingHouseDetailVO.setBuildingNum(houseNo.substring(0, 1).replaceAll("^(0+)", "")); + } + } else { + buildingHouseDetailVO.setBuildingNum("-"); + } + + // 查询该房屋的户主信息 + List<PopulationListVO> householderList = + this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, null, 1); + if (!householderList.isEmpty()) { + householderList.forEach(householder -> { + if(householder.getPoliticalOutlook() != null){ + householder.setOutlook(PopulPoliticalOutlookEnum.getCnDescByName(householder.getPoliticalOutlook())); + }else{ + householder.setOutlook("暂无"); + } + try { + Integer age = IdcardUtil.getAgeByIdCard(householder.getCardNo()); + householder.setAge(age); + } catch (Exception e) { + log.error("身份证号码转换年龄失败,人员id:" + householder.getId()); + } + }); + buildingHouseDetailVO.setHouseholderList(householderList); + } + // 查询该房屋的住户信息 + List<PopulationListVO> populationList = + this.baseMapper.getGridVillageBuildingPopulationList(buildingHouseDetailVO.getId(),communityId, null, null); + if (!populationList.isEmpty()) { + populationList.forEach(population -> { + if(population.getPoliticalOutlook() != null){ + population.setOutlook(PopulPoliticalOutlookEnum.getCnDescByName(population.getPoliticalOutlook())); + }else{ + population.setOutlook("暂无"); + } + try { + Integer age = IdcardUtil.getAgeByIdCard(population.getCardNo()); + population.setAge(age); + } catch (Exception e) { + log.error("身份证号码转换年龄失败,人员id:" + population.getId()); + } + }); + buildingHouseDetailVO.setPopulationList(populationList); + } + } + return R.ok(buildingHouseDetailVO); + } + + @Override + public R buildingVillageListAdmin(Long communityId){ + List<ComMngVillageVO> villageList = this.baseMapper.buildingVillageListAdmin(communityId); + villageList.forEach(village -> { + if(StringUtils.isEmpty(village.getName())){ + village.setName(village.getAlley() + village.getHouseNum()); + } + }); + 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(); + } } -- Gitblit v1.7.1