From b200b681bc401bb11c133a79273ba78cb6ebedf8 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期五, 30 七月 2021 18:16:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java | 172 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 141 insertions(+), 31 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 49afa08..a2ea07c 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
@@ -11,6 +11,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
+import com.panzhihua.common.constants.Constants;
import com.panzhihua.common.enums.*;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.dtos.community.*;
@@ -54,6 +55,7 @@
import com.panzhihua.service_community.service.ComMngPopulationService;
import com.panzhihua.service_community.service.ComMngVillageService;
import com.panzhihua.service_community.service.EventResourceService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -63,12 +65,14 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* 实有人口Service实现类
*/
+@Slf4j
@Service
public class ComMngPopulationServiceImpl extends ServiceImpl<ComMngPopulationDAO, ComMngPopulationDO> implements ComMngPopulationService {
@Resource
@@ -180,6 +184,14 @@
// if (!comMngFamilyInfoVOS.isEmpty()) {
// comMngPopulationVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS);
// }
+ //查询户主关系信息
+ List<ComHouseMemberVo> comMngFamilyInfoVOS = populationDAO.listHouseMermberByPopuId(comMngPopulationDO.getId());
+ if (!comMngFamilyInfoVOS.isEmpty()) {
+ for (ComHouseMemberVo comHouseMemberVo : comMngFamilyInfoVOS){
+ comHouseMemberVo.setAge(AgeUtils.getAgeFromBirthTimes(comHouseMemberVo.getBirthDay()));
+ }
+ comMngPopulationVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS);
+ }
//设置户主关系
List<ComMngPopulationHouseUserDO> comMngPopulationHouseUserDOS = comMngPopulationHouseUserDAO.selectList((new QueryWrapper<ComMngPopulationHouseUserDO>().lambda().eq(ComMngPopulationHouseUserDO::getPopulId, populationId)));
if (!comMngPopulationHouseUserDOS.isEmpty()) {
@@ -276,19 +288,33 @@
}
if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeStart())) {
- String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeStart()) + 1)), "yyyy-MM-dd");
+ 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()) + 1)), "yyyy-MM-dd");
+ 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);
+ }
+ }
+ }
IPage<ComMngPopulationVO> iPage = populationDAO.pagePopulation(page, comMngPopulationVO);
if (!iPage.getRecords().isEmpty()) {
iPage.getRecords().forEach(populDO -> {
@@ -337,6 +363,7 @@
@Override
@Transactional(rollbackFor = Exception.class)
public R listSavePopulation(List<ComMngPopulationServeExcelVO> list, Long communityId) throws Exception {
+ List<ComMngPopulationMistakeExcelVO> mistakes = new ArrayList<>();
List<ComMngPopulationImportErrorVO> populationImportErrorVOList = new ArrayList<>();
//查询该社区
ComActDO comActDO = comActDAO.selectById(communityId);
@@ -370,10 +397,15 @@
ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne(new QueryWrapper<ComMngVillageDO>().eq("alley", vo.getRoad()).eq("house_num", vo.getDoorNo()).eq("community_id", communityId));
if (comMngVillageDO == null) {
ComMngPopulationImportErrorVO importErrorVO = new ComMngPopulationImportErrorVO();
- importErrorVO.setErrorMsg("街路巷或小区号不存在");
+ importErrorVO.setErrorMsg("街路巷或小区号不存在,请先在“小区管理”中添加该小区");
importErrorVO.setErrorPosition("街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo());
populationImportErrorVOList.add(importErrorVO);
// index++;
+ ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
+ BeanUtils.copyProperties(vo,mistake);
+ setMistake(mistake, vo);
+ mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:"+ vo.getRoad() +",小区号:" + vo.getDoorNo());
+ mistakes.add(mistake);
continue;
}
@@ -410,9 +442,10 @@
// ComMngPopulationHouseUserDO comMngPopulationHouseUserDO = savePopulationHouseUser(vo, populationDO, populationHouseDO);
} else {
//如果存在人口信息,且是自用房,则更新人口默认的房屋信息
- if (vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) {
- populationDO = updatePopulationDO(vo, populationDO);
- }
+// if (vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) {
+// populationDO = updatePopulationDO(vo, populationDO);
+// }
+ populationDO = updatePopulationDO(vo, comActDO, populationDO);
}
//处理实有人口房屋居住信息
@@ -427,6 +460,7 @@
populationHouseUserDO.setPopulId(populationDO.getId());
populationHouseUserDO.setRelation(vo.getRelation());
populationHouseUserDO.setRelationId(vo.getIsRent());
+ populationHouseUserDO.setResidence(vo.getResidence());
comMngPopulationHouseUserDAO.insert(populationHouseUserDO);
}
}
@@ -439,24 +473,42 @@
this.saveBatch(populationDOList);*/
if (!populationImportErrorVOList.isEmpty()) {
- return R.fail(JSON.toJSONString(populationImportErrorVOList));
+ return R.fail(mistakes,JSON.toJSONString(populationImportErrorVOList));
}
return R.ok();
}
- private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComMngPopulationDO populationDO) throws Exception {
+ private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComActDO comActDO, ComMngPopulationDO populationDO) throws Exception {
UpdateWrapper<ComMngPopulationDO> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("id",populationDO.getId());
ComMngPopulationDO update = new ComMngPopulationDO();
- update.setRoad(vo.getRoad());
- update.setDoorNo(vo.getDoorNo());
- update.setFloor(vo.getFloor());
- update.setUnitNo(vo.getUnitNo());
- update.setHouseNo(vo.getHouseNo());
- update.setHouseId(vo.getHouseId());
- if (StringUtils.isNotEmpty(populationDO.getPhone())) {
- update.setPhone(populationDO.getPhone());
+// update.setRoad(vo.getRoad());
+// update.setDoorNo(vo.getDoorNo());
+// update.setFloor(vo.getFloor());
+// update.setUnitNo(vo.getUnitNo());
+// update.setHouseNo(vo.getHouseNo());
+// update.setHouseId(vo.getHouseId());
+// if (StringUtils.isNotEmpty(populationDO.getPhone())) {
+// update.setPhone(populationDO.getPhone());
+// }
+ String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
+ BeanUtils.copyProperties(vo, update);
+ List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
+ //查询当前社区标签列表
+ List<String> list = new ArrayList<>();
+ List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", comActDO.getCommunityId()));
+ if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
+ list = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()).collect(Collectors.toList());
}
+ //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
+ Iterator<String> iterator = userTag.iterator();
+ while (iterator.hasNext()) {
+ String s = iterator.next();
+ if (!list.contains(s))
+ iterator.remove();
+ }
+ update.setLabel(Joiner.on(",").join(userTag));
+ update.setCardNo(cardNoAES);
this.baseMapper.update(update,updateWrapper);
return populationDO;
}
@@ -466,6 +518,19 @@
BeanUtils.copyProperties(vo, populationDO);
populationDO.setId(Snowflake.getId());
List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
+ //查询当前社区标签列表
+ List<String> list = new ArrayList<>();
+ List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", comActDO.getCommunityId()));
+ if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
+ list = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()).collect(Collectors.toList());
+ }
+ //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
+ Iterator<String> iterator = userTag.iterator();
+ while (iterator.hasNext()) {
+ String s = iterator.next();
+ if (!list.contains(s))
+ iterator.remove();
+ }
populationDO.setVillageId(comMngVillageDO.getVillageId());
populationDO.setActId(comActDO.getCommunityId());
populationDO.setStreetId(comActDO.getStreetId());
@@ -693,6 +758,20 @@
}
@Override
+ public R getPopulationListByVillageId(Long villageId) {
+ List<ComMngPopulationDO> list = populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().eq("village_id", villageId));
+ List<ComMngPopulationVO> resultList = new ArrayList<>();
+ if (list.size() > 0) {
+ list.forEach(populationDO -> {
+ ComMngPopulationVO populationVO = new ComMngPopulationVO();
+ BeanUtils.copyProperties(populationDO, populationVO);
+ resultList.add(populationVO);
+ });
+ }
+ return R.ok(resultList);
+ }
+
+ @Override
public R editPopulation(ComMngPopulationEditDTO vo, Long communityId) throws Exception {
ComMngPopulationDO populationDO = populationDAO.selectById(vo.getId());
if (populationDO == null) {
@@ -739,8 +818,12 @@
populationHouseUserDO.setId(Snowflake.getId());
populationHouseUserDO.setPopulId(populationDO.getId());
populationHouseUserDO.setHouseId(houseEditDto.getId());
+ populationHouseUserDO.setRelation(houseEditDto.getRelation());
if (houseEditDto.getIsResidence().equals(ComMngPopulationHouseEditDTO.isResidence.yes)) {
houseId = houseEditDto.getId();//居住地
+ populationHouseUserDO.setResidence(ComMngPopulationHouseEditDTO.isResidence.yes);
+ }else {
+ populationHouseUserDO.setResidence(ComMngPopulationHouseEditDTO.isResidence.no);
}
populationHouseUserDOList.add(populationHouseUserDO);
@@ -770,19 +853,19 @@
}
}
- ComMngPopulationHouseUserDO comMngPopulationHouseUserDO = comMngPopulationHouseUserDAO.selectOne(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda()
- .eq(ComMngPopulationHouseUserDO::getPopulId, vo.getId()));
- if (comMngPopulationHouseUserDO != null) {
- comMngPopulationHouseUserDO.setRelation(vo.getRelation());
- comMngPopulationHouseUserDAO.updateById(comMngPopulationHouseUserDO);
- }else {
- comMngPopulationHouseUserDO = new ComMngPopulationHouseUserDO();
- comMngPopulationHouseUserDO.setId(Snowflake.getId());
- comMngPopulationHouseUserDO.setPopulId(vo.getId());
- comMngPopulationHouseUserDO.setRelation(vo.getRelation());
- comMngPopulationHouseUserDO.setCreateAt(new Date());
- comMngPopulationHouseUserDAO.insert(comMngPopulationHouseUserDO);
- }
+// ComMngPopulationHouseUserDO comMngPopulationHouseUserDO = comMngPopulationHouseUserDAO.selectOne(new QueryWrapper<ComMngPopulationHouseUserDO>().lambda()
+// .eq(ComMngPopulationHouseUserDO::getPopulId, vo.getId()));
+// if (comMngPopulationHouseUserDO != null) {
+// comMngPopulationHouseUserDO.setRelation(vo.getRelation());
+// comMngPopulationHouseUserDAO.updateById(comMngPopulationHouseUserDO);
+// }else {
+// comMngPopulationHouseUserDO = new ComMngPopulationHouseUserDO();
+// comMngPopulationHouseUserDO.setId(Snowflake.getId());
+// comMngPopulationHouseUserDO.setPopulId(vo.getId());
+// comMngPopulationHouseUserDO.setRelation(vo.getRelation());
+// comMngPopulationHouseUserDO.setCreateAt(new Date());
+// comMngPopulationHouseUserDAO.insert(comMngPopulationHouseUserDO);
+// }
if (populationDAO.updateById(populationDO) > 0) {
return R.ok();
} else {
@@ -1195,7 +1278,11 @@
villageStatisticsList.forEach(village -> {
CivilVillageStatisticsVO villageStatisticsVO = this.baseMapper.getCivilScreenVillageStatistics(village.getVillageId());
if(villageStatisticsVO != null){
- BeanUtils.copyProperties(villageStatisticsVO,village);
+ village.setPeopleNum(villageStatisticsVO.getPeopleNum());
+ village.setHouseNum(villageStatisticsVO.getHouseNum());
+ village.setRegisterNum(villageStatisticsVO.getRegisterNum());
+ village.setFlowNum(villageStatisticsVO.getFlowNum());
+// BeanUtils.copyProperties(villageStatisticsVO,village);
}
});
}
@@ -1656,6 +1743,14 @@
*/
@Override
public R getGridPopulationAdminList(ComMngPopulationListDTO populationListDTO){
+ if(StringUtils.isNotEmpty(populationListDTO.getKeyWord())){
+ try {
+ populationListDTO.setCardNo(AESUtil.encrypt128(populationListDTO.getKeyWord(),aesKey));
+ }catch (Exception e){
+ log.error("转换身份证号码失败");
+ }
+ }
+
IPage<ComMngPopulationListVO> populationListIPage = this.baseMapper.getGridPopulationAdminList(new Page(populationListDTO.getPageNum(),populationListDTO.getPageSize()),populationListDTO);
if(!populationListIPage.getRecords().isEmpty()){
populationListIPage.getRecords().forEach(population -> {
@@ -1819,4 +1914,19 @@
return R.ok(this.baseMapper.getVillagePopulationAdmin(new Page(villagePopulationDTO.getPageNum(),villagePopulationDTO.getPageSize()),villagePopulationDTO));
}
+ private void setMistake(ComMngPopulationMistakeExcelVO mvo, ComMngPopulationServeExcelVO vo){
+ mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook()));
+ mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent()));
+ mvo.setRelation(PopulRelationEnum.getCnDescByName(vo.getRelation()));
+ mvo.setHouseStatus(PopulHouseStatusEnum.getCnDescByName(vo.getHouseStatus()));
+ mvo.setHousePurpose(PopulHousePurposeEnum.getCnDescByName(vo.getHousePurpose()));
+ mvo.setControlStatus(PopulHouseControlStatusEnum.getCnDescByName(vo.getControlStatus()));
+ mvo.setCultureLevel(PopulCultureLevelEnum.getCnDescByName(vo.getCultureLevel()));
+ mvo.setMarriage(PopulMarriageEnum.getCnDescByName(vo.getMarriage()));
+ mvo.setOutOrLocal(PopulOutOrLocalEnum.getCnDescByName(vo.getOutOrLocal()));
+ mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence()));
+ mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType()));
+ mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
+ }
+
}
\ No newline at end of file
--
Gitblit v1.7.1