From 3f7f5b1b98e66693f4f7f85a2eb73f654efbf938 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期六, 24 七月 2021 13:36:30 +0800
Subject: [PATCH] 修改bug

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 39 insertions(+), 17 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..d1cf948 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
@@ -300,10 +300,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);
                 }
             }
         }
@@ -431,7 +437,7 @@
 //                if (vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) {
 //                    populationDO = updatePopulationDO(vo, populationDO);
 //                }
-                populationDO = updatePopulationDO(vo, populationDO);
+                populationDO = updatePopulationDO(vo, comActDO, populationDO);
             }
 
             //处理实有人口房屋居住信息
@@ -463,7 +469,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 +484,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,6 +809,7 @@
                 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();//居住地
                 }
@@ -819,19 +841,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 {

--
Gitblit v1.7.1