From 19f39f95190ae02a90b07c97bc9e5cb54de383a4 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期四, 19 五月 2022 10:48:21 +0800 Subject: [PATCH] 花城E+bug更新 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java | 158 ++++++++++++++++++++++++++++++++++------------------ 1 files changed, 104 insertions(+), 54 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java index 777af84..865b81a 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java @@ -218,7 +218,7 @@ ComMngPopulationVO comMngPopulationVO = new ComMngPopulationVO(); BeanUtils.copyProperties(comMngPopulationDO, comMngPopulationVO); - + comMngPopulationVO.setCultureLevelName(PopulCultureLevelEnum.getCnDescByName(comMngPopulationVO.getCultureLevel())); // 查询户主关系信息 // List<ComHouseMemberVo> comMngFamilyInfoVOS = // populationDAO.listHouseMermberByUserId(comMngPopulationDO.getHouseId(),comMngPopulationDO.getId()); @@ -240,6 +240,7 @@ if (!comMngPopulationHouseUserDOS.isEmpty()) { comMngPopulationVO .setRelation(comMngPopulationHouseUserDOS.get(comMngPopulationHouseUserDOS.size() - 1).getRelation()); + comMngPopulationVO.setRelationName(PopulRelationEnum.getCnDescByName(comMngPopulationVO.getRelation())); } // 设置年龄 if (StringUtils.isNotEmpty(comMngPopulationVO.getBirthday())) { @@ -806,33 +807,45 @@ log.info("查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); - // 先判断房屋是否存在 ComMngPopulationHouseDO populationHouseDO = null; - String houseKey = - communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); - if (isOnly(houseKey, houseMap)) { - if (!houseList.isEmpty()) { - for (ComMngPopulationHouseDO house : houseList) { - if (house.getVillageId().equals(comMngVillageDO.getVillageId()) - && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) - && house.getUnitNo().equals(vo.getUnitNo()) - && house.getHouseNo().equals(vo.getHouseNo())) { - populationHouseDO = house; - break; + // 先判断房屋是否存在 + if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ + String houseKey = + communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); + if (isOnly(houseKey, houseMap)) { + if (!houseList.isEmpty()) { + for (ComMngPopulationHouseDO house : houseList) { + if (house.getVillageId().equals(comMngVillageDO.getVillageId()) + && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) + && house.getUnitNo().equals(vo.getUnitNo()) + && house.getHouseNo().equals(vo.getHouseNo())) { + populationHouseDO = house; + break; + } } } + if (populationHouseDO == null) { + // 房屋信息不存在建立房屋信息 + populationHouseDO = + savePopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); + houseList.add(populationHouseDO); + } + } else { + populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } - if (populationHouseDO == null) { - // 房屋信息不存在建立房屋信息 - populationHouseDO = - savePopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); - houseList.add(populationHouseDO); - } - } else { - populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); + vo.setHouseId(populationHouseDO.getId()); + log.info("查询房屋是否存在完成"); + }else { + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + BeanUtils.copyProperties(vo, mistake); + setMistake(mistake, vo); + mistake.setMistake("房屋数据填报不完整" ); + mistakes.add(mistake); + log.info("房屋数据填报不完整"); + continue; } - vo.setHouseId(populationHouseDO.getId()); - log.info("查询房屋是否存在完成"); + + if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 @@ -842,7 +855,10 @@ // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; - String populationKey = vo.getCardNo(); + String populationKey = cardNoAES; + if(vo.getCardNo().equals("510402197505075515")){ + System.out.println("111"); + } if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); @@ -852,7 +868,7 @@ // 不存在实有人口,则新增 populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); - populationMap.put(populationDO.getCardNo(),populationDO); + populationMap.put(populationKey,populationDO); } log.info("查询实有人口是否已存在完成"); @@ -896,6 +912,7 @@ } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); + populationCommunityMap.put(populationCommunityKey,cpopulationCommunityTagsDO); savePopulationCommunityList.add(cpopulationCommunityTagsDO); }else { // 实有人口存在于当前社区,则更新 @@ -941,7 +958,7 @@ } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); - this.baseMapper.updateAll(updateList); + this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } @@ -957,7 +974,7 @@ } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); - comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList); + comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); @@ -6417,7 +6434,11 @@ @Override @Transactional(rollbackFor = Exception.class) public R deletePopulations(List<Long> ids, Long communityId) { - comMngPopulationCommunityTagsDAO.deletePopulationRelation(ids,communityId); + for(Long id:ids){ + comMngPopulationCommunityTagsDAO.delete(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getPopulationId,id)); + comMngPopulationDAO.deleteById(id); + comMngPopulationHouseUserDAO.delete(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda().eq(ComMngPopulationHouseUserDO::getPopulId,id)); + } return R.ok(); } @@ -7017,29 +7038,48 @@ int count=ageMap.get("age16").intValue()+ageMap.get("age27").intValue()+ageMap.get("age35").intValue() +ageMap.get("age45").intValue()+ageMap.get("age55").intValue()+ageMap.get("age55over").intValue()+ageMap.get("age65").intValue()+ageMap.get("age75").intValue(); ageStatisticsVO1.setSum(ageMap.get("age16").intValue()); - BigDecimal rate = BigDecimal.valueOf(ageMap.get("age16").intValue()*100d).divide(BigDecimal.valueOf(count),2,BigDecimal.ROUND_HALF_UP); - ageStatisticsVO1.setPercent(rate); - ageStatisticsVO2.setSum(ageMap.get("age27").intValue()); - rate = BigDecimal.valueOf(ageMap.get("age27").intValue()*100d).divide(BigDecimal.valueOf(count),2,BigDecimal.ROUND_HALF_UP); - ageStatisticsVO2.setPercent(rate); - ageStatisticsVO3.setSum(ageMap.get("age35").intValue()); - rate = BigDecimal.valueOf(ageMap.get("age35").intValue()*100d).divide(BigDecimal.valueOf(count),2,BigDecimal.ROUND_HALF_UP); - ageStatisticsVO3.setPercent(rate); - ageStatisticsVO4.setSum(ageMap.get("age45").intValue()); - rate = BigDecimal.valueOf(ageMap.get("age45").intValue()*100d).divide(BigDecimal.valueOf(count),2,BigDecimal.ROUND_HALF_UP); - ageStatisticsVO4.setPercent(rate); - ageStatisticsVO5.setSum(ageMap.get("age55").intValue()); - rate = BigDecimal.valueOf(ageMap.get("age55").intValue()*100d).divide(BigDecimal.valueOf(count),2,BigDecimal.ROUND_HALF_UP); - ageStatisticsVO5.setPercent(rate); - ageStatisticsVO6.setSum(ageMap.get("age55over").intValue()); - rate = BigDecimal.valueOf(ageMap.get("age55over").intValue()*100d).divide(BigDecimal.valueOf(count),2,BigDecimal.ROUND_HALF_UP); - ageStatisticsVO6.setPercent(rate); - ageStatisticsVO7.setSum(ageMap.get("age65").intValue()); - rate = BigDecimal.valueOf(ageMap.get("age65").intValue()*100d).divide(BigDecimal.valueOf(count),2,BigDecimal.ROUND_HALF_UP); - ageStatisticsVO7.setPercent(rate); - ageStatisticsVO8.setSum(ageMap.get("age75").intValue()); - rate = BigDecimal.valueOf(ageMap.get("age75").intValue()*100d).divide(BigDecimal.valueOf(count),2,BigDecimal.ROUND_HALF_UP); - ageStatisticsVO8.setPercent(rate); + if(count == 0){ + ageStatisticsVO1.setSum(0); + ageStatisticsVO2.setSum(0); + ageStatisticsVO3.setSum(0); + ageStatisticsVO4.setSum(0); + ageStatisticsVO5.setSum(0); + ageStatisticsVO6.setSum(0); + ageStatisticsVO7.setSum(0); + ageStatisticsVO8.setSum(0); + ageStatisticsVO1.setPercent(BigDecimal.ZERO); + ageStatisticsVO2.setPercent(BigDecimal.ZERO); + ageStatisticsVO3.setPercent(BigDecimal.ZERO); + ageStatisticsVO4.setPercent(BigDecimal.ZERO); + ageStatisticsVO5.setPercent(BigDecimal.ZERO); + ageStatisticsVO6.setPercent(BigDecimal.ZERO); + ageStatisticsVO7.setPercent(BigDecimal.ZERO); + ageStatisticsVO8.setPercent(BigDecimal.ZERO); + }else { + BigDecimal rate = BigDecimal.valueOf(ageMap.get("age16").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); + ageStatisticsVO1.setPercent(rate); + ageStatisticsVO2.setSum(ageMap.get("age27").intValue()); + rate = BigDecimal.valueOf(ageMap.get("age27").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); + ageStatisticsVO2.setPercent(rate); + ageStatisticsVO3.setSum(ageMap.get("age35").intValue()); + rate = BigDecimal.valueOf(ageMap.get("age35").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); + ageStatisticsVO3.setPercent(rate); + ageStatisticsVO4.setSum(ageMap.get("age45").intValue()); + rate = BigDecimal.valueOf(ageMap.get("age45").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); + ageStatisticsVO4.setPercent(rate); + ageStatisticsVO5.setSum(ageMap.get("age55").intValue()); + rate = BigDecimal.valueOf(ageMap.get("age55").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); + ageStatisticsVO5.setPercent(rate); + ageStatisticsVO6.setSum(ageMap.get("age55over").intValue()); + rate = BigDecimal.valueOf(ageMap.get("age55over").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); + ageStatisticsVO6.setPercent(rate); + ageStatisticsVO7.setSum(ageMap.get("age65").intValue()); + rate = BigDecimal.valueOf(ageMap.get("age65").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); + ageStatisticsVO7.setPercent(rate); + ageStatisticsVO8.setSum(ageMap.get("age75").intValue()); + rate = BigDecimal.valueOf(ageMap.get("age75").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); + ageStatisticsVO8.setPercent(rate); + } } agePopulationList.add(ageStatisticsVO1); @@ -7957,7 +7997,11 @@ count= comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId); } specialStatisticsVO.setSum(count); - specialStatisticsVO.setPercent(BigDecimal.valueOf(specialStatisticsVO.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP)); + if(countAll == 0){ + specialStatisticsVO.setPercent(BigDecimal.ZERO); + }else{ + specialStatisticsVO.setPercent(BigDecimal.valueOf(specialStatisticsVO.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP)); + } otherSpecialVO1.setSum(otherSpecialVO1.getSum()+count); specialStatisticsVOList.add(specialStatisticsVO); } @@ -7969,10 +8013,16 @@ } }); } - otherSpecialVO.setPercent(BigDecimal.valueOf(otherSpecialVO.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP)); + if(countAll == 0){ + otherSpecialVO.setPercent(BigDecimal.ZERO); + otherSpecialVO1.setPercent(BigDecimal.ZERO); + }else{ + otherSpecialVO.setPercent(BigDecimal.valueOf(otherSpecialVO.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP)); + otherSpecialVO1.setPercent(BigDecimal.valueOf(otherSpecialVO1.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP)); + } specialStatisticsVOList.add(otherSpecialVO); otherSpecialVO1.setSum(countAll-otherSpecialVO1.getSum()); - otherSpecialVO1.setPercent(BigDecimal.valueOf(otherSpecialVO1.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP)); + specialStatisticsVOList.add(otherSpecialVO1); indexInfo.setSpecialStatisticsVOList(specialStatisticsVOList); // 查询网格化治理 -- Gitblit v1.7.1