From db9d95db6f25f95cbc614525adef7dbdeae6478c Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期二, 27 七月 2021 16:58:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into txb

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java |   78 +++++++++++++++++++++++++++++---------
 1 files changed, 59 insertions(+), 19 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 15e3ffb..a5aa7e2 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
@@ -55,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;
@@ -71,6 +72,7 @@
 /**
  * 实有人口Service实现类
  */
+@Slf4j
 @Service
 public class ComMngPopulationServiceImpl extends ServiceImpl<ComMngPopulationDAO, ComMngPopulationDO> implements ComMngPopulationService {
     @Resource
@@ -300,10 +302,16 @@
         }
         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");
+                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);
                 }
             }
         }
@@ -388,7 +396,7 @@
             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++;
@@ -431,7 +439,7 @@
 //                if (vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) {
 //                    populationDO = updatePopulationDO(vo, populationDO);
 //                }
-                populationDO = updatePopulationDO(vo, populationDO);
+                populationDO = updatePopulationDO(vo, comActDO, populationDO);
             }
 
             //处理实有人口房屋居住信息
@@ -446,6 +454,7 @@
                     populationHouseUserDO.setPopulId(populationDO.getId());
                     populationHouseUserDO.setRelation(vo.getRelation());
                     populationHouseUserDO.setRelationId(vo.getIsRent());
+                    populationHouseUserDO.setResidence(vo.getResidence());
                     comMngPopulationHouseUserDAO.insert(populationHouseUserDO);
                 }
             }
@@ -463,7 +472,7 @@
         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();
@@ -478,6 +487,21 @@
 //        }
         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;
@@ -788,8 +812,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);
 
@@ -819,19 +847,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 {
@@ -1244,7 +1272,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);
                 }
             });
         }
@@ -1705,6 +1737,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 -> {

--
Gitblit v1.7.1