From 9e42a7700dcc2dacb67b0b175e99c2c395179fce Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期二, 17 五月 2022 17:39:47 +0800
Subject: [PATCH] 花城E+bug更新
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java | 485 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 376 insertions(+), 109 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 bbf2bad..865b81a 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())) {
@@ -507,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");
@@ -550,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);
}
/**
@@ -724,33 +807,45 @@
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())) {
// 空户处理完房屋信息,直接返回
@@ -760,7 +855,10 @@
// 判断实有人口是否已存在
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);
@@ -770,7 +868,7 @@
// 不存在实有人口,则新增
populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO, userId);
saveList.add(populationDO);
- populationMap.put(populationDO.getCardNo(),populationDO);
+ populationMap.put(populationKey,populationDO);
}
log.info("查询实有人口是否已存在完成");
@@ -814,6 +912,7 @@
}
cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
cpopulationCommunityTagsDO.setCreateBy(userId);
+ populationCommunityMap.put(populationCommunityKey,cpopulationCommunityTagsDO);
savePopulationCommunityList.add(cpopulationCommunityTagsDO);
}else {
// 实有人口存在于当前社区,则更新
@@ -859,7 +958,7 @@
}
if (!updateList.isEmpty()) {
log.info("执行数据库更新人口");
- this.baseMapper.updateAll(updateList);
+ this.updateBatchById(updateList);
// this.updateBatchById(updateList);
log.info("数据库更新人口完成");
}
@@ -875,7 +974,7 @@
}
if (!updatePopulationCommunityList.isEmpty()) {
log.info("执行数据库更新人口社区关系");
- comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+ comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
log.info("数据库更新人口社区关系完成");
}
log.info("执行数据库导入完成");
@@ -4457,6 +4556,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());
// //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -4988,6 +5091,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());
@@ -6327,7 +6434,11 @@
@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();
}
@@ -6904,13 +7015,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);
@@ -6918,21 +7032,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("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(ageMap.get("age16").intValue()*100/count);
- ageStatisticsVO2.setSum(ageMap.get("age27").intValue());
- ageStatisticsVO2.setPercent(ageMap.get("age27").intValue()*100/count);
- ageStatisticsVO3.setSum(ageMap.get("age35").intValue());
- ageStatisticsVO3.setPercent(ageMap.get("age35").intValue()*100/count);
- ageStatisticsVO4.setSum(ageMap.get("age45").intValue());
- ageStatisticsVO4.setPercent(ageMap.get("age45").intValue()*100/count);
- ageStatisticsVO5.setSum(ageMap.get("age55").intValue());
- ageStatisticsVO5.setPercent(ageMap.get("age55").intValue()*100/count);
- ageStatisticsVO6.setSum(ageMap.get("age55over").intValue());
- ageStatisticsVO6.setPercent(ageMap.get("age55over").intValue()*100/count);
+ 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);
@@ -6941,6 +7088,8 @@
agePopulationList.add(ageStatisticsVO4);
agePopulationList.add(ageStatisticsVO5);
agePopulationList.add(ageStatisticsVO6);
+ agePopulationList.add(ageStatisticsVO7);
+ agePopulationList.add(ageStatisticsVO8);
return agePopulationList;
}
@@ -7397,8 +7546,13 @@
public R getScreenEventDetail(BigScreenEventDetailDTO eventDetailDTO) {
EventNewStatisticsVO statisticsVO = new EventNewStatisticsVO();
Integer eventType = eventDetailDTO.getEventType();
- if (eventDetailDTO.getType().equals(7) || (nonNull(eventType) && eventType.equals(2))) {// 随手拍详情
- statisticsVO = this.baseMapper.getEventScreenSSPDateil(eventDetailDTO.getEventId());
+ 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);
@@ -7559,7 +7713,7 @@
/**
* 综治后台-居民列表
- *
+ *
* @param populationListDTO
* 请求参数
* @return 居民列表
@@ -7599,7 +7753,7 @@
/**
* 综治后台-删除居民
- *
+ *
* @param ids
* 居民id集合
* @return 删除结果
@@ -7641,7 +7795,7 @@
/**
* 查询平台人口列表
- *
+ *
* @param populationDTO
* 请求参数
* @return 人口列表
@@ -7666,7 +7820,7 @@
/**
* 综治后台-居民标签栏统计
- *
+ *
* @return 居民统计
*/
@Override
@@ -7676,7 +7830,7 @@
/**
* 综治后台-居民导出查询居民数据
- *
+ *
* @param populationExportDTO
* 请求参数
* @return 导出结果
@@ -7724,7 +7878,7 @@
/**
* 综治后台-居民管理小区列表
- *
+ *
* @param name
* 小区名字
* @return 小区列表
@@ -7823,54 +7977,53 @@
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(22);
- specialStatisticsVOList.add(specialStatisticsVO);
- } else if (userTag.getTagName().equals("低保户")) {
- IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
- specialStatisticsVO.setTitle(userTag.getTagName());
- specialStatisticsVO.setSum(94);
- specialStatisticsVOList.add(specialStatisticsVO);
- } else if (userTag.getTagName().equals("低收入人群")) {
- IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
- specialStatisticsVO.setTitle(userTag.getTagName());
- specialStatisticsVO.setSum(2);
- specialStatisticsVOList.add(specialStatisticsVO);
- } else if (userTag.getTagName().equals("退役军人")) {
- IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
- specialStatisticsVO.setTitle(userTag.getTagName());
- specialStatisticsVO.setSum(264);
- specialStatisticsVOList.add(specialStatisticsVO);
- } else if (userTag.getTagName().equals("高龄老人")) {
- IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
- specialStatisticsVO.setTitle(userTag.getTagName());
- specialStatisticsVO.setSum(comMngPopulationDAO.getStatisticsCount(communityId));
- specialStatisticsVOList.add(specialStatisticsVO);
- } else {
- IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
- specialStatisticsVO.setTitle(userTag.getTagName());
- Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId);
- specialStatisticsVO.setSum(count);
- 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);
+ 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();
@@ -7878,12 +8031,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);
@@ -7912,10 +8075,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();
@@ -7923,10 +8086,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);
@@ -7936,6 +8099,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) {
@@ -8167,7 +8389,7 @@
/**
* 判重方法
- *
+ *
* @param key
* 主键
* @param hashMap
@@ -8186,50 +8408,95 @@
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;
}
-}
\ No newline at end of file
+}
--
Gitblit v1.7.1