From 8d5fb4ee9d27fd6a61b210eaee74af265f76aa7c Mon Sep 17 00:00:00 2001 From: manailin <261030956@qq.com> Date: 星期五, 08 四月 2022 14:55:18 +0800 Subject: [PATCH] [修改]修改配置 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java | 540 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 522 insertions(+), 18 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 5c97c19..9b78195 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 @@ -9,8 +9,11 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; +import com.panzhihua.common.model.vos.community.bigscreen.WestScreenStatics; import com.panzhihua.common.model.vos.community.screen.civil.*; +import com.panzhihua.common.model.vos.community.bigscreen.*; import com.panzhihua.common.utlis.*; +import com.panzhihua.service_community.util.WxDataUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; @@ -42,6 +45,9 @@ import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.model.vos.community.bigscreen.BigScreenStatisticPartyBuild; +import com.panzhihua.common.model.vos.community.screen.civil.CivilPopulationStatisticsVO; +import com.panzhihua.common.model.vos.community.screen.civil.CivilStatisticsVO; +import com.panzhihua.common.model.vos.community.screen.civil.CivilVillageStatisticsVO; import com.panzhihua.common.model.vos.community.screen.event.*; import com.panzhihua.common.model.vos.community.screen.event.EventTransferRecordVO; import com.panzhihua.common.model.vos.community.screen.index.*; @@ -60,6 +66,8 @@ import cn.hutool.core.util.IdcardUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestParam; + +import static java.util.Objects.nonNull; /** * 实有人口Service实现类 @@ -125,8 +133,12 @@ private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper; @Resource private ComPensionAuthStatisticsDAO comPensionAuthStatisticsDAO; + @Resource + private ComActReserveMapper comActReserveMapper; @Value("${domain.aesKey:}") private String aesKey; + @Resource + private ComActEasyPhotoDAO comActEasyPhotoDAO; /** * 新增实有人口 @@ -206,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()); @@ -228,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())) { @@ -495,6 +508,19 @@ } } + if(comMngPopulationVO.getType()!=null){ + switch (comMngPopulationVO.getType()){ + case 1 : comMngPopulationVO.setAgeStart("80"); + comMngPopulationVO.setAgeEnd("89"); + break; + case 2 : comMngPopulationVO.setAgeStart("90"); + comMngPopulationVO.setAgeEnd("99"); + break; + case 3 : comMngPopulationVO.setAgeStart("100"); + break; + } + } + if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeStart())) { String ageStartTime = DateUtils.getDateFormatString( DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeStart()))), "yyyy-MM-dd"); @@ -538,10 +564,79 @@ populDO.setPoliticalOutlookName( PopulPoliticalOutlookEnum.getCnDescByName(populDO.getPoliticalOutlook())); populDO.setMarriageName(PopulMarriageEnum.getCnDescByName(populDO.getMarriage())); + if(populDO.getAge()>=80&&populDO.getAge()<=89){ + populDO.setType(1); + } + if(populDO.getAge()>=90&&populDO.getAge()<=99){ + populDO.setType(2); + } + if(populDO.getAge()>=100){ + populDO.setType(3); + } } }); } return R.ok(iPage); + } + + @Override + public R exportOld(ComMngPopulationDTO comMngPopulationVO) { + if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeStart())) { + String ageStartTime = DateUtils.getDateFormatString( + DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeStart()))), "yyyy-MM-dd"); + if (StringUtils.isNotEmpty(ageStartTime)) { + comMngPopulationVO.setAgeStartTime(ageStartTime); + } + } + + if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeEnd())) { + String ageEndTime = DateUtils.getDateFormatString( + DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeEnd()))), "yyyy-MM-dd"); + if (StringUtils.isNotEmpty(ageEndTime)) { + comMngPopulationVO.setAgeEndTime(ageEndTime); + } + } + if (comMngPopulationVO.getAgeStartTime() != null && !"".equals(comMngPopulationVO.getAgeStartTime()) + && comMngPopulationVO.getAgeEndTime() != null && !"".equals(comMngPopulationVO.getAgeEndTime())) { + if (comMngPopulationVO.getAgeStartTime().equals(comMngPopulationVO.getAgeEndTime())) { + Date endAge = + DateUtils.stringToDate(comMngPopulationVO.getAgeEndTime(), new SimpleDateFormat("yyyy-MM-dd")); + String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(endAge, -1), "yyyy-MM-dd"); + if (StringUtils.isNotEmpty(ageStartTime)) { + comMngPopulationVO.setAgeStartTimeEnd(ageStartTime); + } + } else { + Date endAge = + DateUtils.stringToDate(comMngPopulationVO.getAgeEndTime(), new SimpleDateFormat("yyyy-MM-dd")); + String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(endAge, -1), "yyyy-MM-dd"); + if (StringUtils.isNotEmpty(ageStartTime)) { + comMngPopulationVO.setAgeEndTimeEnd(ageStartTime); + } + } + } + List<ComMngPopulationVO> comMngPopulationVOS=this.comMngPopulationDAO.exportOld(comMngPopulationVO); + if(!comMngPopulationVOS.isEmpty()){ + comMngPopulationVOS.forEach(populDO -> { + if (StringUtils.isNotEmpty(populDO.getBirthday())) { + populDO.setAge(AgeUtils.getAgeFromBirthTimes(populDO.getBirthday())); + populDO.setRelationName(PopulRelationEnum.getCnDescByName(populDO.getRelation())); + populDO.setCultureLevelName(PopulCultureLevelEnum.getCnDescByName(populDO.getCultureLevel())); + populDO.setPoliticalOutlookName( + PopulPoliticalOutlookEnum.getCnDescByName(populDO.getPoliticalOutlook())); + populDO.setMarriageName(PopulMarriageEnum.getCnDescByName(populDO.getMarriage())); + if(populDO.getAge()>=80&&populDO.getAge()<=89){ + populDO.setType(1); + } + if(populDO.getAge()>=90&&populDO.getAge()<=99){ + populDO.setType(2); + } + if(populDO.getAge()>=100){ + populDO.setType(3); + } + } + }); + } + return R.ok(comMngPopulationVOS); } /** @@ -4445,6 +4540,10 @@ private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); + Integer personType = vo.getPersonType(); + if (nonNull(personType)) { + populationDO.setPersonType(personType.toString()); + } // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 @@ -4976,6 +5075,10 @@ ComMngVillageDO comMngVillageDO, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); + Integer personType = vo.getPersonType(); + if (nonNull(personType)) { + populationDO.setPersonType(personType.toString()); + } populationDO.setId(Snowflake.getId()); // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); @@ -6892,13 +6995,16 @@ IndexPopulationAgeStatisticsVO ageStatisticsVO4 = new IndexPopulationAgeStatisticsVO(); IndexPopulationAgeStatisticsVO ageStatisticsVO5 = new IndexPopulationAgeStatisticsVO(); IndexPopulationAgeStatisticsVO ageStatisticsVO6 = new IndexPopulationAgeStatisticsVO(); + IndexPopulationAgeStatisticsVO ageStatisticsVO7 = new IndexPopulationAgeStatisticsVO(); + IndexPopulationAgeStatisticsVO ageStatisticsVO8 = new IndexPopulationAgeStatisticsVO(); ageStatisticsVO1.setType(1); ageStatisticsVO2.setType(2); ageStatisticsVO3.setType(3); ageStatisticsVO4.setType(4); ageStatisticsVO5.setType(5); ageStatisticsVO6.setType(6); - + ageStatisticsVO7.setType(7); + ageStatisticsVO8.setType(8); if (ageMap.isEmpty()) { ageStatisticsVO1.setSum(0); ageStatisticsVO2.setSum(0); @@ -6906,13 +7012,54 @@ ageStatisticsVO4.setSum(0); ageStatisticsVO5.setSum(0); ageStatisticsVO6.setSum(0); + ageStatisticsVO7.setSum(0); + ageStatisticsVO8.setSum(0); } else { + 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()); - ageStatisticsVO2.setSum(ageMap.get("age27").intValue()); - ageStatisticsVO3.setSum(ageMap.get("age35").intValue()); - ageStatisticsVO4.setSum(ageMap.get("age45").intValue()); - ageStatisticsVO5.setSum(ageMap.get("age55").intValue()); - ageStatisticsVO6.setSum(ageMap.get("age55over").intValue()); + 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); @@ -6921,6 +7068,8 @@ agePopulationList.add(ageStatisticsVO4); agePopulationList.add(ageStatisticsVO5); agePopulationList.add(ageStatisticsVO6); + agePopulationList.add(ageStatisticsVO7); + agePopulationList.add(ageStatisticsVO8); return agePopulationList; } @@ -7164,7 +7313,10 @@ civilStatisticsVO.setCivilGridStatisticsVO(civilGrid); } //查询便民服务数据 - + CivilConvenienceStatisticsVO civilConvenience = this.baseMapper.getCivilConvenience(communityId); + if(civilConvenience != null){ + civilStatisticsVO.setCivilConvenienceStatisticsVO(civilConvenience); + } return R.ok(civilStatisticsVO); } @@ -7373,8 +7525,14 @@ @Override public R getScreenEventDetail(BigScreenEventDetailDTO eventDetailDTO) { EventNewStatisticsVO statisticsVO = new EventNewStatisticsVO(); - if (eventDetailDTO.getType().equals(7)) {// 随手拍详情 - statisticsVO = this.baseMapper.getEventScreenSSPDateil(eventDetailDTO.getEventId()); + Integer eventType = eventDetailDTO.getEventType(); + boolean isNewReq = nonNull(eventType) && eventType.equals(2); + if (eventDetailDTO.getType().equals(7) || isNewReq) {// 随手拍详情 + if (isNewReq) { + statisticsVO = this.baseMapper.getEventScreenSSPDateilNew(eventDetailDTO.getEventId()); + } else { + statisticsVO = this.baseMapper.getEventScreenSSPDateil(eventDetailDTO.getEventId()); + } if (statisticsVO != null && StringUtils.isNotEmpty(statisticsVO.getPhotoPathList())) { statisticsVO.setDangerLevel("0"); statisticsVO.setMajor(false); @@ -7535,7 +7693,7 @@ /** * 综治后台-居民列表 - * + * * @param populationListDTO * 请求参数 * @return 居民列表 @@ -7575,7 +7733,7 @@ /** * 综治后台-删除居民 - * + * * @param ids * 居民id集合 * @return 删除结果 @@ -7617,7 +7775,7 @@ /** * 查询平台人口列表 - * + * * @param populationDTO * 请求参数 * @return 人口列表 @@ -7642,7 +7800,7 @@ /** * 综治后台-居民标签栏统计 - * + * * @return 居民统计 */ @Override @@ -7652,7 +7810,7 @@ /** * 综治后台-居民导出查询居民数据 - * + * * @param populationExportDTO * 请求参数 * @return 导出结果 @@ -7700,7 +7858,7 @@ /** * 综治后台-居民管理小区列表 - * + * * @param name * 小区名字 * @return 小区列表 @@ -7733,6 +7891,253 @@ @Override public R specialInputUserExport(PageInputUserDTO pageInputUserDTO) { return R.ok(this.comMngPopulationDAO.specialInputUserExport(pageInputUserDTO)); + } + + @Override + public R westScreenStatics() { + WestScreenStatics westScreenStatics=this.comMngPopulationDAO.westScreenStatics(); + WxDataUtil wxDataUtil=new WxDataUtil(); + westScreenStatics.setDayUser(wxDataUtil.getDayUser()); + westScreenStatics.setCountUser(wxDataUtil.getMonthUser()); + return R.ok(westScreenStatics); + } + + @Override + public R getComprehensivePopulationStatics(Long streetId){ + EventPopulationStatisticsVO statisticsVo = new EventPopulationStatisticsVO(); + //查询人口数据 + List<EventPopulationBasicsStatisticsVO> basicsList = comMngPopulationDAO.getBasicsList(streetId); + if(basicsList != null){ + for (EventPopulationBasicsStatisticsVO basics : basicsList) { + statisticsVo.setPopulationNum(statisticsVo.getPopulationNum() + basics.getPopulationNum()); + statisticsVo.setVillageNum(statisticsVo.getVillageNum() + basics.getVillageNum()); + statisticsVo.setHouseNum(statisticsVo.getHouseNum() + basics.getHouseNum()); + } + statisticsVo.setBasicsList(basicsList); + } + //查询特殊人群数据 + EventPopulationSpecialStatisticsVO populationSpecial = comMngPopulationDAO.getPopulationSpecial(streetId); + if(populationSpecial != null){ + populationSpecial.setOtherTotal(populationSpecial.getZjTotal() + populationSpecial.getSfTotal() + + populationSpecial.getXsTotal() + populationSpecial.getXjTotal() + + populationSpecial.getJzTotal() + populationSpecial.getXdTotal()); + populationSpecial.setLnTotal(comMngPopulationDAO.getPopulationAge(streetId,60)); + populationSpecial.setGlTotal(comMngPopulationDAO.getPopulationAge(streetId,80)); + statisticsVo.setSpecialStatisticsVo(populationSpecial); + } + return R.ok(statisticsVo); + } + + @Override + public R getComprehensiveStreetList(){ + return R.ok(comMngPopulationDAO.getComprehensiveStreetList()); + } + + @Override + public R indexInfo(Long communityId) { + IndexInfo indexInfo=new IndexInfo(); + //基础数据 + BaseInfo baseInfo=this.comMngPopulationDAO.baseInfo(communityId); + indexInfo.setBaseInfo(baseInfo); + // 查询实有人口统计模块 + IndexPopulationStatisticsVO populationStatisticsVO = new IndexPopulationStatisticsVO(); + // 查询实有人口性别统计 + List<IndexPopulationSexStatisticsVO> sexPopulationList = + comMngPopulationDAO.getScreenIndexByPopulationSex(communityId); + populationStatisticsVO.setSexPopulationList(sexPopulationList); + // 查询实有人口年龄统计 + List<IndexPopulationAgeStatisticsVO> agePopulationList = statisticsAge(communityId); + populationStatisticsVO.setAgePopulationList(agePopulationList); + indexInfo.setIndexPopulationStatisticsVO(populationStatisticsVO); + // 查询特殊人群统计 + List<IndexSpecialStatisticsVO> specialStatisticsVOList = new ArrayList<>(); + + // 查询特殊人群标签列表 + List<ComMngUserTagVO> userTagList = comMngPopulationDAO.getUserTagListByCommunityId(communityId); + IndexSpecialStatisticsVO otherSpecialVO = new IndexSpecialStatisticsVO(); + otherSpecialVO.setTitle("其他"); + otherSpecialVO.setSum(0); + 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.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); + 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); + } + else{ + Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId); + otherSpecialVO.setSum(otherSpecialVO.getSum()+count); + otherSpecialVO1.setSum(otherSpecialVO1.getSum()+count); + } + } + }); + } + 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()); + + specialStatisticsVOList.add(otherSpecialVO1); + indexInfo.setSpecialStatisticsVOList(specialStatisticsVOList); + // 查询网格化治理 + IndexEventGridStatisticsVO eventGridStatisticsVO = new IndexEventGridStatisticsVO(); + List<IndexGridStatisticsVO> gridStatisticsList = new ArrayList<>(); + // 查询网格化事件数据 + IndexGridEventStatisticsVO gridEventStatistics = comMngPopulationDAO.getGridEventStatisticsList(communityId); + int count=gridEventStatistics.getEventGGTotal()+gridEventStatistics.getEventBWDTotal()+gridEventStatistics.getEventMDTotal()+gridEventStatistics.getEventTFTotal()+gridEventStatistics.getEventTSTotal()+gridEventStatistics.getEventZATotal(); + 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); + if (!gridDataList.isEmpty()) { + gridDataList.forEach(gridData -> { + if (gridData != null) { + IndexGridStatisticsVO gridStatisticsVO = new IndexGridStatisticsVO(); + gridStatisticsVO.setEventData(gridData.getGridName()); + // 根据网格id查询网格事件列表 + IndexGridEventStatisticsVO gridEventList = + comMngPopulationDAO.getGridEventByGirdId(gridData.getId()); + gridStatisticsVO.setGridEventStatisticsList(gridEventList); + gridStatisticsList.add(gridStatisticsVO); + } + }); + } + eventGridStatisticsVO.setGridStatisticsList(gridStatisticsList); + indexInfo.setEventGridStatisticsVO(eventGridStatisticsVO); + //首页业务统计 + IndexDynamic indexDynamic=this.populationDAO.indexDynamic(communityId); + indexInfo.setIndexDynamic(indexDynamic); + //返攀登记居家隔离数据统计 + IndexReserve indexReserve=new IndexReserve(); + IndexBackReserve indexBackReserve=new IndexBackReserve(); + indexBackReserve.setCount(comActReserveMapper.indexBackReserve(communityId)); + indexBackReserve.setIndexReserveSubList(comActReserveMapper.indexBackReserveSub(communityId)); + indexBackReserve.getIndexReserveSubList().forEach(indexReserveSub -> { + if(indexReserveSub.getAllCount()!=0){ + indexReserveSub.setPercent(BigDecimal.valueOf(indexReserveSub.getNum()*100d/indexReserveSub.getAllCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); + } + else { + indexReserveSub.setPercent(BigDecimal.valueOf(0d)); + } + }); + IndexHomeQuarantine indexHomeQuarantine=new IndexHomeQuarantine(); + indexHomeQuarantine.setCount(comActReserveMapper.indexHomeQuarantine(communityId)); + indexHomeQuarantine.setIndexReserveSubList(comActReserveMapper.IndexHomeQuarantineSub(communityId)); + indexHomeQuarantine.getIndexReserveSubList().forEach(indexReserveSub -> { + if(indexReserveSub.getAllCount()!=0){ + indexReserveSub.setPercent(BigDecimal.valueOf(indexReserveSub.getNum()*100d/indexReserveSub.getAllCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); + } + else { + indexReserveSub.setPercent(BigDecimal.valueOf(0d)); + } + }); + indexReserve.setIndexBackReserve(indexBackReserve); + indexReserve.setIndexHomeQuarantine(indexHomeQuarantine); + indexInfo.setIndexReserve(indexReserve); + BigscreenGridsGovernanceStatisticsVO bigscreenGridsGovernanceStatisticsVO=comActEasyPhotoDAO.selectBigscreenGridsGovern(communityId); + indexInfo.setBigScreenGridStaticsReturn(setData(bigscreenGridsGovernanceStatisticsVO)); + + return R.ok(indexInfo); + } + + /** + * 历史数据人员类型填充 + * @param list + * @param communityId + * @param userId + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R filledPopulationPersonType(List<ComMngPopulationServeExcelVO> list, Long communityId, Long userId) { + // 需要修改的人口集合 + List<ComMngPopulationDO> updateList = new ArrayList<>(); + log.info("开始处理导入数据"); + List<ComMngPopulationMistakeExcelVO> mistakes = new ArrayList<>(); + try { + // 查询所有人口数据放入HashMap中 + List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null); + HashMap<String, Object> populationMap = new HashMap<>(); + populationList.forEach(population -> { + String key = population.getCardNo(); + populationMap.put(key, population); + }); + for (ComMngPopulationServeExcelVO vo : list) { + // 判断实有人口是否已存在 + log.info("开始查询实有人口是否已存在"); + ComMngPopulationDO populationDO = null; + String populationKey = vo.getCardNo(); + if (!isOnly(populationKey, populationMap)) { + // 存在实有人口信息,则更新人员类型 + populationDO = (ComMngPopulationDO)populationMap.get(populationKey); + Integer personType = vo.getPersonType(); + if (nonNull(personType)) { + populationDO.setPersonType(personType.toString()); + } + updateList.add(populationDO); + } else { + // 不存在实有人口,返回 + ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); + BeanUtils.copyProperties(vo, mistake); + setMistake(mistake, vo); + mistake.setMistake("人口信息不存在,请下载实有人口模板导入"); + mistakes.add(mistake); + } + } + } catch (Exception e) { + log.info("出现错误,错误原因:" + e.getMessage()); + } + if (!updateList.isEmpty()) { + log.info("执行数据库更新人口"); + this.baseMapper.updateAll(updateList); + log.info("数据库更新人口完成"); + } + if (!mistakes.isEmpty()) { + log.info("返回错误数据"); + return R.fail(mistakes); + } + return R.ok(mistakes); } private void setMistake(ComMngPopulationMistakeExcelVO mvo, ComMngPopulationServeExcelVO vo) { @@ -7964,7 +8369,7 @@ /** * 判重方法 - * + * * @param key * 主键 * @param hashMap @@ -7975,4 +8380,103 @@ return ObjectUtils.isEmpty(hashMap.get(key)); } -} \ No newline at end of file + + private BigScreenGridStaticsReturn setData(BigscreenGridsGovernanceStatisticsVO bigscreenGridsGovernanceStatisticsVO){ + List<BigScreenGridStaticsReturn> bigScreenGridStaticsReturnList=new ArrayList<>(); + BigScreenGridStaticsReturn bigScreenGridStaticsReturn=new BigScreenGridStaticsReturn(); + bigScreenGridStaticsReturn.setCount(bigscreenGridsGovernanceStatisticsVO.getEventTotal()+bigscreenGridsGovernanceStatisticsVO.getOtherTotal()+bigscreenGridsGovernanceStatisticsVO.getSafety()); + BigScreenGridStaticsReturn bigScreenGridStaticsReturn1=new BigScreenGridStaticsReturn(); + bigScreenGridStaticsReturn1.setTitle("突发事件报告"); + bigScreenGridStaticsReturn1.setNum(bigscreenGridsGovernanceStatisticsVO.getEventTFTotal()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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()); + 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