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