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 |   67 +++++++++++++++++++++++----------
 1 files changed, 46 insertions(+), 21 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 f37dfe6..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
@@ -298,14 +298,21 @@
                 comMngPopulationVO.setAgeEndTime(ageEndTime);
             }
         }
-        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);
+        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 -> {
@@ -430,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);
             }
 
             //处理实有人口房屋居住信息
@@ -462,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();
@@ -475,7 +482,24 @@
 //        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;
     }
@@ -785,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();//居住地
                 }
@@ -816,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