From 13515d9f2852e068951d20e6655bf9a19badb38d Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期四, 05 五月 2022 15:15:58 +0800
Subject: [PATCH] 花城E+防疫修改
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java | 211 ++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 184 insertions(+), 27 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 468f3b1..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
@@ -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())) {
@@ -576,6 +577,66 @@
});
}
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);
}
/**
@@ -6957,21 +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());
- 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);
@@ -7605,7 +7693,7 @@
/**
* 综治后台-居民列表
- *
+ *
* @param populationListDTO
* 请求参数
* @return 居民列表
@@ -7645,7 +7733,7 @@
/**
* 综治后台-删除居民
- *
+ *
* @param ids
* 居民id集合
* @return 删除结果
@@ -7687,7 +7775,7 @@
/**
* 查询平台人口列表
- *
+ *
* @param populationDTO
* 请求参数
* @return 人口列表
@@ -7712,7 +7800,7 @@
/**
* 综治后台-居民标签栏统计
- *
+ *
* @return 居民统计
*/
@Override
@@ -7722,7 +7810,7 @@
/**
* 综治后台-居民导出查询居民数据
- *
+ *
* @param populationExportDTO
* 请求参数
* @return 导出结果
@@ -7770,7 +7858,7 @@
/**
* 综治后台-居民管理小区列表
- *
+ *
* @param name
* 小区名字
* @return 小区列表
@@ -7889,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);
}
@@ -7901,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);
// 查询网格化治理
@@ -7981,6 +8079,65 @@
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) {
@@ -8212,7 +8369,7 @@
/**
* 判重方法
- *
+ *
* @param key
* 主键
* @param hashMap
@@ -8322,4 +8479,4 @@
return bigScreenGridStaticsReturn;
}
-}
\ No newline at end of file
+}
--
Gitblit v1.7.1