huanghongfa
2022-04-13 c92c380b8f29ad485024d3d1948d0d0fce56b0d6
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())) {
@@ -7017,29 +7018,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 +7977,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 +7993,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);
        // 查询网格化治理