| | |
| | | |
| | | ComMngPopulationVO comMngPopulationVO = new ComMngPopulationVO(); |
| | | BeanUtils.copyProperties(comMngPopulationDO, comMngPopulationVO); |
| | | |
| | | comMngPopulationVO.setCultureLevelName(PopulCultureLevelEnum.getCnDescByName(comMngPopulationVO.getCultureLevel())); |
| | | // 查询户主关系信息 |
| | | // List<ComHouseMemberVo> comMngFamilyInfoVOS = |
| | | // populationDAO.listHouseMermberByUserId(comMngPopulationDO.getHouseId(),comMngPopulationDO.getId()); |
| | |
| | | if (!comMngPopulationHouseUserDOS.isEmpty()) { |
| | | comMngPopulationVO |
| | | .setRelation(comMngPopulationHouseUserDOS.get(comMngPopulationHouseUserDOS.size() - 1).getRelation()); |
| | | comMngPopulationVO.setRelationName(PopulRelationEnum.getCnDescByName(comMngPopulationVO.getRelation())); |
| | | } |
| | | // 设置年龄 |
| | | if (StringUtils.isNotEmpty(comMngPopulationVO.getBirthday())) { |
| | |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | | * 删除实有人口 |
| | | * |
| | |
| | | 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())) { |
| | | // 空户处理完房屋信息,直接返回 |
| | |
| | | // 判断实有人口是否已存在 |
| | | 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); |
| | |
| | | // 不存在实有人口,则新增 |
| | | populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO, userId); |
| | | saveList.add(populationDO); |
| | | populationMap.put(populationDO.getCardNo(),populationDO); |
| | | populationMap.put(populationKey,populationDO); |
| | | } |
| | | log.info("查询实有人口是否已存在完成"); |
| | | |
| | |
| | | } |
| | | cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); |
| | | cpopulationCommunityTagsDO.setCreateBy(userId); |
| | | populationCommunityMap.put(populationCommunityKey,cpopulationCommunityTagsDO); |
| | | savePopulationCommunityList.add(cpopulationCommunityTagsDO); |
| | | }else { |
| | | // 实有人口存在于当前社区,则更新 |
| | |
| | | } |
| | | if (!updateList.isEmpty()) { |
| | | log.info("执行数据库更新人口"); |
| | | this.baseMapper.updateAll(updateList); |
| | | this.updateBatchById(updateList); |
| | | // this.updateBatchById(updateList); |
| | | log.info("数据库更新人口完成"); |
| | | } |
| | |
| | | } |
| | | if (!updatePopulationCommunityList.isEmpty()) { |
| | | log.info("执行数据库更新人口社区关系"); |
| | | comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList); |
| | | comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); |
| | | log.info("数据库更新人口社区关系完成"); |
| | | } |
| | | log.info("执行数据库导入完成"); |
| | |
| | | @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(); |
| | | } |
| | | |
| | |
| | | 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()); |
| | | ageStatisticsVO1.setPercent(BigDecimal.valueOf(ageMap.get("age16").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); |
| | | ageStatisticsVO2.setSum(ageMap.get("age27").intValue()); |
| | | ageStatisticsVO2.setPercent(BigDecimal.valueOf(ageMap.get("age27").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); |
| | | ageStatisticsVO3.setSum(ageMap.get("age35").intValue()); |
| | | ageStatisticsVO3.setPercent(BigDecimal.valueOf(ageMap.get("age35").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); |
| | | ageStatisticsVO4.setSum(ageMap.get("age45").intValue()); |
| | | ageStatisticsVO4.setPercent(BigDecimal.valueOf(ageMap.get("age45").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); |
| | | ageStatisticsVO5.setSum(ageMap.get("age55").intValue()); |
| | | ageStatisticsVO5.setPercent(BigDecimal.valueOf(ageMap.get("age55").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); |
| | | ageStatisticsVO6.setSum(ageMap.get("age55over").intValue()); |
| | | ageStatisticsVO6.setPercent(BigDecimal.valueOf(ageMap.get("age55over").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); |
| | | ageStatisticsVO7.setSum(ageMap.get("age65").intValue()); |
| | | ageStatisticsVO7.setPercent(BigDecimal.valueOf(ageMap.get("age65").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); |
| | | ageStatisticsVO8.setSum(ageMap.get("age75").intValue()); |
| | | ageStatisticsVO8.setPercent(BigDecimal.valueOf(ageMap.get("age75").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); |
| | | 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); |
| | |
| | | |
| | | /** |
| | | * 综治后台-居民列表 |
| | | * |
| | | * |
| | | * @param populationListDTO |
| | | * 请求参数 |
| | | * @return 居民列表 |
| | |
| | | |
| | | /** |
| | | * 综治后台-删除居民 |
| | | * |
| | | * |
| | | * @param ids |
| | | * 居民id集合 |
| | | * @return 删除结果 |
| | |
| | | |
| | | /** |
| | | * 查询平台人口列表 |
| | | * |
| | | * |
| | | * @param populationDTO |
| | | * 请求参数 |
| | | * @return 人口列表 |
| | |
| | | |
| | | /** |
| | | * 综治后台-居民标签栏统计 |
| | | * |
| | | * |
| | | * @return 居民统计 |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 综治后台-居民导出查询居民数据 |
| | | * |
| | | * |
| | | * @param populationExportDTO |
| | | * 请求参数 |
| | | * @return 导出结果 |
| | |
| | | |
| | | /** |
| | | * 综治后台-居民管理小区列表 |
| | | * |
| | | * |
| | | * @param name |
| | | * 小区名字 |
| | | * @return 小区列表 |
| | |
| | | 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); |
| | | } |
| | |
| | | } |
| | | }); |
| | | } |
| | | 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); |
| | | // 查询网格化治理 |
| | |
| | | |
| | | /** |
| | | * 判重方法 |
| | | * |
| | | * |
| | | * @param key |
| | | * 主键 |
| | | * @param hashMap |
| | |
| | | return bigScreenGridStaticsReturn; |
| | | } |
| | | |
| | | } |
| | | } |