From 51ee3c4db2eb49062d3236bf44f95dc22f8f6ac9 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期五, 14 一月 2022 17:59:03 +0800
Subject: [PATCH] 商业街bug修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java |  154 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 108 insertions(+), 46 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 bbd5ca8..06a7c66 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
@@ -6922,17 +6922,17 @@
             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();
             ageStatisticsVO1.setSum(ageMap.get("age16").intValue());
-            ageStatisticsVO1.setPercent(ageMap.get("age16").intValue()*100/count);
+            ageStatisticsVO1.setPercent(BigDecimal.valueOf(ageMap.get("age16").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
             ageStatisticsVO2.setSum(ageMap.get("age27").intValue());
-            ageStatisticsVO2.setPercent(ageMap.get("age27").intValue()*100/count);
+            ageStatisticsVO2.setPercent(BigDecimal.valueOf(ageMap.get("age27").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
             ageStatisticsVO3.setSum(ageMap.get("age35").intValue());
-            ageStatisticsVO3.setPercent(ageMap.get("age35").intValue()*100/count);
+            ageStatisticsVO3.setPercent(BigDecimal.valueOf(ageMap.get("age35").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
             ageStatisticsVO4.setSum(ageMap.get("age45").intValue());
-            ageStatisticsVO4.setPercent(ageMap.get("age45").intValue()*100/count);
+            ageStatisticsVO4.setPercent(BigDecimal.valueOf(ageMap.get("age45").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
             ageStatisticsVO5.setSum(ageMap.get("age55").intValue());
-            ageStatisticsVO5.setPercent(ageMap.get("age55").intValue()*100/count);
+            ageStatisticsVO5.setPercent(BigDecimal.valueOf(ageMap.get("age55").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
             ageStatisticsVO6.setSum(ageMap.get("age55over").intValue());
-            ageStatisticsVO6.setPercent(ageMap.get("age55over").intValue()*100/count);
+            ageStatisticsVO6.setPercent(BigDecimal.valueOf(ageMap.get("age55over").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
         }
 
         agePopulationList.add(ageStatisticsVO1);
@@ -7823,36 +7823,43 @@
         IndexSpecialStatisticsVO otherSpecialVO = new IndexSpecialStatisticsVO();
         otherSpecialVO.setTitle("其他");
         otherSpecialVO.setSum(0);
-        int countAll=comMngPopulationDAO.getSpecialStatistics(communityId);
+        IndexSpecialStatisticsVO otherSpecialVO1 = new IndexSpecialStatisticsVO();
+        otherSpecialVO1.setTitle("普通居民");
+        otherSpecialVO1.setSum(0);
+        int countNormal=comMngPopulationDAO.getSpecialStatistics(communityId);
+        int countElder=comMngPopulationDAO.getStatisticsCount(communityId);
+        int countAll=countElder+countNormal;
         if (!userTagList.isEmpty()) {
             userTagList.forEach(userTag -> {
                 if (userTag != null) {
-                    if (userTag.getSysFlag().equals(0)) {
-                        Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId);
-                        otherSpecialVO.setSum(otherSpecialVO.getSum() + count);
-                        otherSpecialVO.setPercent(otherSpecialVO.getSum()*100/countAll);
-                    } else {
-                        if (StringUtils.isNotEmpty(userTag.getTagName())) {
-                            if (userTag.getTagName().equals("高龄老人")) {
-                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
-                                specialStatisticsVO.setTitle(userTag.getTagName());
-                                specialStatisticsVO.setSum(comMngPopulationDAO.getStatisticsCount(communityId));
-                                specialStatisticsVO.setPercent(specialStatisticsVO.getSum()*100/countAll);
-                                specialStatisticsVOList.add(specialStatisticsVO);
-                            } else {
-                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
-                                specialStatisticsVO.setTitle(userTag.getTagName());
-                                Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId);
-                                specialStatisticsVO.setSum(count);
-                                specialStatisticsVO.setPercent(specialStatisticsVO.getSum()*100/countAll);
-                                specialStatisticsVOList.add(specialStatisticsVO);
-                            }
+                    if(userTag.getTagName().equals("高龄老人")||userTag.getTagName().equals("残疾人")||userTag.getTagName().equals("低保户")||userTag.getTagName().equals("退役军人")||userTag.getTagName().equals("养老金人员")||userTag.getTagName().equals("低收入")){
+                        IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
+                        specialStatisticsVO.setTitle(userTag.getTagName());
+                        Integer count =0;
+                        if (userTag.getTagName().equals("高龄老人")) {
+                            count=countElder;
                         }
+                        else {
+                            count= comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId);
+                        }
+                        specialStatisticsVO.setSum(count);
+                        specialStatisticsVO.setPercent(BigDecimal.valueOf(specialStatisticsVO.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP));
+                        otherSpecialVO1.setSum(otherSpecialVO1.getSum()+count);
+                        specialStatisticsVOList.add(specialStatisticsVO);
+                    }
+                    else{
+                        Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId);
+                        otherSpecialVO.setSum(otherSpecialVO.getSum()+count);
+                        otherSpecialVO1.setSum(otherSpecialVO1.getSum()+count);
                     }
                 }
             });
         }
+        otherSpecialVO.setPercent(BigDecimal.valueOf(otherSpecialVO.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);
         // 查询网格化治理
         IndexEventGridStatisticsVO eventGridStatisticsVO = new IndexEventGridStatisticsVO();
@@ -7860,12 +7867,22 @@
         // 查询网格化事件数据
         IndexGridEventStatisticsVO gridEventStatistics = comMngPopulationDAO.getGridEventStatisticsList(communityId);
         int count=gridEventStatistics.getEventGGTotal()+gridEventStatistics.getEventBWDTotal()+gridEventStatistics.getEventMDTotal()+gridEventStatistics.getEventTFTotal()+gridEventStatistics.getEventTSTotal()+gridEventStatistics.getEventZATotal();
-        gridEventStatistics.setGgPercent(gridEventStatistics.getEventGGTotal()*100/count);
-        gridEventStatistics.setBwdPercent(gridEventStatistics.getEventBWDTotal()*100/count);
-        gridEventStatistics.setMdPercent(gridEventStatistics.getEventMDTotal()*100/count);
-        gridEventStatistics.setTfPercent(gridEventStatistics.getEventTFTotal()*100/count);
-        gridEventStatistics.setTsPercent(gridEventStatistics.getEventTSTotal()*100/count);
-        gridEventStatistics.setZaPercent(gridEventStatistics.getEventZATotal()*100/count);
+        if(count!=0){
+            gridEventStatistics.setGgPercent(BigDecimal.valueOf(gridEventStatistics.getEventGGTotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
+            gridEventStatistics.setBwdPercent(BigDecimal.valueOf(gridEventStatistics.getEventBWDTotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
+            gridEventStatistics.setMdPercent(BigDecimal.valueOf(gridEventStatistics.getEventMDTotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
+            gridEventStatistics.setTfPercent(BigDecimal.valueOf(gridEventStatistics.getEventTFTotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
+            gridEventStatistics.setTsPercent(BigDecimal.valueOf(gridEventStatistics.getEventTSTotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
+            gridEventStatistics.setZaPercent(BigDecimal.valueOf(gridEventStatistics.getEventZATotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
+        }else{
+            gridEventStatistics.setGgPercent(BigDecimal.valueOf(0));
+            gridEventStatistics.setBwdPercent(BigDecimal.valueOf(0));
+            gridEventStatistics.setMdPercent(BigDecimal.valueOf(0));
+            gridEventStatistics.setTfPercent(BigDecimal.valueOf(0));
+            gridEventStatistics.setTsPercent(BigDecimal.valueOf(0));
+            gridEventStatistics.setZaPercent(BigDecimal.valueOf(0));
+        }
+
         eventGridStatisticsVO.setGridEventStatisticsList(gridEventStatistics);
         // 查询网格数据
         List<EventGridDataVO> gridDataList = comMngPopulationDAO.getGridDataListByCommunityId(communityId);
@@ -7894,10 +7911,10 @@
         indexBackReserve.setIndexReserveSubList(comActReserveMapper.indexBackReserveSub(communityId));
         indexBackReserve.getIndexReserveSubList().forEach(indexReserveSub -> {
             if(indexReserveSub.getAllCount()!=0){
-                indexReserveSub.setPercent(indexReserveSub.getNum()*100/indexReserveSub.getAllCount());
+                indexReserveSub.setPercent(BigDecimal.valueOf(indexReserveSub.getNum()*100d/indexReserveSub.getAllCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
             }
             else {
-                indexReserveSub.setPercent(0);
+                indexReserveSub.setPercent(BigDecimal.valueOf(0d));
             }
         });
         IndexHomeQuarantine indexHomeQuarantine=new IndexHomeQuarantine();
@@ -7905,10 +7922,10 @@
         indexHomeQuarantine.setIndexReserveSubList(comActReserveMapper.IndexHomeQuarantineSub(communityId));
         indexHomeQuarantine.getIndexReserveSubList().forEach(indexReserveSub -> {
             if(indexReserveSub.getAllCount()!=0){
-                indexReserveSub.setPercent(indexReserveSub.getNum()*100/indexReserveSub.getAllCount());
+                indexReserveSub.setPercent(BigDecimal.valueOf(indexReserveSub.getNum()*100d/indexReserveSub.getAllCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
             }
             else {
-                indexReserveSub.setPercent(0);
+                indexReserveSub.setPercent(BigDecimal.valueOf(0d));
             }
         });
         indexReserve.setIndexBackReserve(indexBackReserve);
@@ -8168,47 +8185,92 @@
         BigScreenGridStaticsReturn bigScreenGridStaticsReturn1=new BigScreenGridStaticsReturn();
         bigScreenGridStaticsReturn1.setTitle("突发事件报告");
         bigScreenGridStaticsReturn1.setNum(bigscreenGridsGovernanceStatisticsVO.getEventTFTotal());
-        bigScreenGridStaticsReturn1.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventTFTotal()*100/bigScreenGridStaticsReturn.getCount());
+        if(bigScreenGridStaticsReturn.getCount()>0) {
+            bigScreenGridStaticsReturn1.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventTFTotal() * 100d / bigScreenGridStaticsReturn.getCount()).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
+        else {
+            bigScreenGridStaticsReturn1.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
         bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn1);
         BigScreenGridStaticsReturn bigScreenGridStaticsReturn2=new BigScreenGridStaticsReturn();
         bigScreenGridStaticsReturn2.setTitle("特殊人群服务");
         bigScreenGridStaticsReturn2.setNum(bigscreenGridsGovernanceStatisticsVO.getEventTSTotal());
-        bigScreenGridStaticsReturn2.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventTSTotal()*100/bigScreenGridStaticsReturn.getCount());
+        if(bigScreenGridStaticsReturn.getCount()>0) {
+            bigScreenGridStaticsReturn2.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventTSTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
+        }
+        else {
+            bigScreenGridStaticsReturn2.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
         bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn2);
         BigScreenGridStaticsReturn bigScreenGridStaticsReturn3=new BigScreenGridStaticsReturn();
         bigScreenGridStaticsReturn3.setTitle("治安防控");
         bigScreenGridStaticsReturn3.setNum(bigscreenGridsGovernanceStatisticsVO.getEventZATotal());
-        bigScreenGridStaticsReturn3.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventZATotal()*100/bigScreenGridStaticsReturn.getCount());
+        if(bigScreenGridStaticsReturn.getCount()>0) {
+            bigScreenGridStaticsReturn3.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventZATotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
+        }
+        else {
+            bigScreenGridStaticsReturn3.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
         bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn3);
         BigScreenGridStaticsReturn bigScreenGridStaticsReturn4=new BigScreenGridStaticsReturn();
         bigScreenGridStaticsReturn4.setTitle("民生服务");
         bigScreenGridStaticsReturn4.setNum(bigscreenGridsGovernanceStatisticsVO.getEventMSTotal());
-        bigScreenGridStaticsReturn4.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventMSTotal()*100/bigScreenGridStaticsReturn.getCount());
+        if(bigScreenGridStaticsReturn.getCount()>0) {
+            bigScreenGridStaticsReturn4.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventMSTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
+        }
+        else {
+            bigScreenGridStaticsReturn4.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
         bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn4);
         BigScreenGridStaticsReturn bigScreenGridStaticsReturn5=new BigScreenGridStaticsReturn();
         bigScreenGridStaticsReturn5.setTitle("矛盾劝解");
         bigScreenGridStaticsReturn5.setNum(bigscreenGridsGovernanceStatisticsVO.getEventMDTotal());
-        bigScreenGridStaticsReturn5.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventMDTotal()*100/bigScreenGridStaticsReturn.getCount());
+        if(bigScreenGridStaticsReturn.getCount()>0) {
+            bigScreenGridStaticsReturn5.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventMDTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
+        }
+        else {
+            bigScreenGridStaticsReturn5.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
         bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn5);
         BigScreenGridStaticsReturn bigScreenGridStaticsReturn6=new BigScreenGridStaticsReturn();
         bigScreenGridStaticsReturn6.setTitle("防灾减灾");
         bigScreenGridStaticsReturn6.setNum(bigscreenGridsGovernanceStatisticsVO.getEventFJTotal());
-        bigScreenGridStaticsReturn6.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventFJTotal()*100/bigScreenGridStaticsReturn.getCount());
+        if(bigScreenGridStaticsReturn.getCount()>0) {
+            bigScreenGridStaticsReturn6.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventFJTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
+        }
+        else {
+            bigScreenGridStaticsReturn6.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
         bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn6);
         BigScreenGridStaticsReturn bigScreenGridStaticsReturn7=new BigScreenGridStaticsReturn();
         bigScreenGridStaticsReturn7.setTitle("政策法规宣传");
         bigScreenGridStaticsReturn7.setNum(bigscreenGridsGovernanceStatisticsVO.getEventFGTotal());
-        bigScreenGridStaticsReturn7.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventFGTotal()*100/bigScreenGridStaticsReturn.getCount());
+        if(bigScreenGridStaticsReturn.getCount()>0) {
+            bigScreenGridStaticsReturn7.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventFGTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
+        }
+        else {
+            bigScreenGridStaticsReturn7.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
         bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn7);
         BigScreenGridStaticsReturn bigScreenGridStaticsReturn8=new BigScreenGridStaticsReturn();
         bigScreenGridStaticsReturn8.setTitle("安全巡查");
         bigScreenGridStaticsReturn8.setNum(bigscreenGridsGovernanceStatisticsVO.getSafety());
-        bigScreenGridStaticsReturn8.setPercent(bigscreenGridsGovernanceStatisticsVO.getSafety()*100/bigScreenGridStaticsReturn.getCount());
+        if(bigScreenGridStaticsReturn.getCount()>0) {
+            bigScreenGridStaticsReturn8.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getSafety()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
+        }
+        else {
+            bigScreenGridStaticsReturn8.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
         bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn8);
         BigScreenGridStaticsReturn bigScreenGridStaticsReturn9=new BigScreenGridStaticsReturn();
         bigScreenGridStaticsReturn9.setTitle("其他");
         bigScreenGridStaticsReturn9.setNum(bigscreenGridsGovernanceStatisticsVO.getOtherTotal());
-        bigScreenGridStaticsReturn9.setPercent(bigscreenGridsGovernanceStatisticsVO.getOtherTotal()*100/bigScreenGridStaticsReturn.getCount());
+        if(bigScreenGridStaticsReturn.getCount()>0) {
+            bigScreenGridStaticsReturn9.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getOtherTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
+        }
+        else {
+            bigScreenGridStaticsReturn9.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP));
+        }
         bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn9);
         bigScreenGridStaticsReturn.setBigScreenGridStaticsReturnList(bigScreenGridStaticsReturnList);
         return bigScreenGridStaticsReturn;

--
Gitblit v1.7.1