From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 09 六月 2025 11:54:00 +0800
Subject: [PATCH] 6.9新增登录失败冻结逻辑

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java | 3249 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 2,653 insertions(+), 596 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 501e34b..80c12a7 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
@@ -7,8 +7,16 @@
 
 import javax.annotation.Resource;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
+import com.panzhihua.common.model.vos.community.bigscreen.WestScreenStatics;
+import com.panzhihua.common.model.vos.community.screen.civil.*;
+import com.panzhihua.common.model.vos.community.bigscreen.*;
+import com.panzhihua.common.utlis.*;
+import com.panzhihua.service_community.util.WxDataUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -51,16 +59,15 @@
 import com.panzhihua.common.model.vos.screen.ComActPopulationScreenVO;
 import com.panzhihua.common.model.vos.screen.ComMngPopulationAgeVO;
 import com.panzhihua.common.model.vos.user.*;
-import com.panzhihua.common.utlis.AgeUtils;
-import com.panzhihua.common.utlis.DateUtils;
-import com.panzhihua.common.utlis.Snowflake;
-import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.service_community.dao.*;
 import com.panzhihua.service_community.model.dos.*;
 import com.panzhihua.service_community.service.*;
 
 import cn.hutool.core.util.IdcardUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import static java.util.Objects.nonNull;
 
 /**
  * 实有人口Service实现类
@@ -118,8 +125,22 @@
     private ComDisabilityPopulationDAO comDisabilityPopulationDAO;
     @Resource
     private ComLowSecurityPopulationDAO comLowSecurityPopulationDAO;
+    @Resource
+    private ComElderAuthElderliesDAO comElderAuthElderliesDAO;
+    @Resource
+    private ComPensionAuthPensionerDAO comPensionAuthPensionerDAO;
+    @Resource
+    private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper;
+    @Resource
+    private ComPensionAuthStatisticsDAO comPensionAuthStatisticsDAO;
+    @Resource
+    private ComActReserveMapper comActReserveMapper;
     @Value("${domain.aesKey:}")
     private String aesKey;
+    @Resource
+    private ComActEasyPhotoDAO comActEasyPhotoDAO;
+    @Resource
+    private ComMngBuildingDAO comMngBuildingDAO;
 
     /**
      * 新增实有人口
@@ -188,7 +209,7 @@
      * @return 实有人口详情
      */
     @Override
-    public R detailPopulation(Long populationId) {
+    public R detailPopulation(Long populationId, Long communityId) {
         ComMngPopulationDO comMngPopulationDO = populationDAO.selectById(populationId);
         if (ObjectUtils.isEmpty(comMngPopulationDO)) {
             return R.fail("用户信息不存在");
@@ -199,7 +220,7 @@
 
         ComMngPopulationVO comMngPopulationVO = new ComMngPopulationVO();
         BeanUtils.copyProperties(comMngPopulationDO, comMngPopulationVO);
-
+        comMngPopulationVO.setCultureLevelName(PopulCultureLevelEnum.getCnDescByName(comMngPopulationVO.getCultureLevel()));
         // 查询户主关系信息
         // List<ComHouseMemberVo> comMngFamilyInfoVOS =
         // populationDAO.listHouseMermberByUserId(comMngPopulationDO.getHouseId(),comMngPopulationDO.getId());
@@ -221,6 +242,7 @@
         if (!comMngPopulationHouseUserDOS.isEmpty()) {
             comMngPopulationVO
                 .setRelation(comMngPopulationHouseUserDOS.get(comMngPopulationHouseUserDOS.size() - 1).getRelation());
+            comMngPopulationVO.setRelationName(PopulRelationEnum.getCnDescByName(comMngPopulationVO.getRelation()));
         }
         // 设置年龄
         if (StringUtils.isNotEmpty(comMngPopulationVO.getBirthday())) {
@@ -229,7 +251,8 @@
         // 设置特殊群体标签
         ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO =
             comMngPopulationCommunityTagsDAO.selectOne(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda()
-                .eq(ComMngPopulationCommunityTagsDO::getPopulationId, populationId));
+                    .eq(ComMngPopulationCommunityTagsDO::getPopulationId, populationId)
+                    .eq(ComMngPopulationCommunityTagsDO::getCommunityId, communityId));
         if (null != comMngPopulationCommunityTagsDO) {
             comMngPopulationVO.setLabel(comMngPopulationCommunityTagsDO.getLabel());
         }
@@ -264,126 +287,167 @@
             comMngPopulationVO.setCarList(carList);
         }
 
-        // 吸毒信息
-        List<ComDrugPopulationVO> comDrugPopulationVOs = new ArrayList<>();
-        List<ComDrugPopulationDO> comDrugPopulationDOs = comDrugPopulationDAO.selectList(
-            new QueryWrapper<ComDrugPopulationDO>().lambda().eq(ComDrugPopulationDO::getPopulationId, populationId));
-        if (!comDrugPopulationDOs.isEmpty()) {
-            comDrugPopulationDOs.forEach(comDrugPopulationDO -> {
-                ComDrugPopulationVO comDrugPopulationVO = new ComDrugPopulationVO();
-                BeanUtils.copyProperties(comDrugPopulationDO, comDrugPopulationVO);
-                comDrugPopulationVOs.add(comDrugPopulationVO);
-                comMngPopulationVO.setComDrugPopulationVOs(comDrugPopulationVOs);
-            });
-        }
+        if (communityId != null){
+            // 吸毒信息
+            List<ComDrugPopulationVO> comDrugPopulationVOs = new ArrayList<>();
+            List<ComDrugPopulationDO> comDrugPopulationDOs = comDrugPopulationDAO.selectList(
+                    new QueryWrapper<ComDrugPopulationDO>().lambda().eq(ComDrugPopulationDO::getPopulationId, populationId)
+                            .eq(ComDrugPopulationDO::getCommunityId, communityId));
+            if (!comDrugPopulationDOs.isEmpty()) {
+                comDrugPopulationDOs.forEach(comDrugPopulationDO -> {
+                    ComDrugPopulationVO comDrugPopulationVO = new ComDrugPopulationVO();
+                    BeanUtils.copyProperties(comDrugPopulationDO, comDrugPopulationVO);
+                    comDrugPopulationVOs.add(comDrugPopulationVO);
+                    comMngPopulationVO.setComDrugPopulationVOs(comDrugPopulationVOs);
+                });
+            }
 
-        // 社区矫正信息
-        List<ComCorrectPopulationVO> comCorrectPopulationVOS = new ArrayList<>();
-        List<ComCorrectPopulationDO> comCorrectPopulationDOS =
-            comCorrectPopulationDAO.selectList(new QueryWrapper<ComCorrectPopulationDO>().lambda()
-                .eq(ComCorrectPopulationDO::getPopulationId, populationId));
-        if (!comCorrectPopulationDOS.isEmpty()) {
-            comCorrectPopulationDOS.forEach(comCorrectPopulationDO -> {
-                ComCorrectPopulationVO comCorrectPopulationVO = new ComCorrectPopulationVO();
-                BeanUtils.copyProperties(comCorrectPopulationDO, comCorrectPopulationVO);
-                comCorrectPopulationVOS.add(comCorrectPopulationVO);
-                comMngPopulationVO.setComCorrectPopulationVOs(comCorrectPopulationVOS);
-            });
-        }
+            // 社区矫正信息
+            List<ComCorrectPopulationVO> comCorrectPopulationVOS = new ArrayList<>();
+            List<ComCorrectPopulationDO> comCorrectPopulationDOS =
+                    comCorrectPopulationDAO.selectList(new QueryWrapper<ComCorrectPopulationDO>().lambda()
+                            .eq(ComCorrectPopulationDO::getPopulationId, populationId)
+                            .eq(ComCorrectPopulationDO::getCommunityId, communityId));
+            if (!comCorrectPopulationDOS.isEmpty()) {
+                comCorrectPopulationDOS.forEach(comCorrectPopulationDO -> {
+                    ComCorrectPopulationVO comCorrectPopulationVO = new ComCorrectPopulationVO();
+                    BeanUtils.copyProperties(comCorrectPopulationDO, comCorrectPopulationVO);
+                    comCorrectPopulationVOS.add(comCorrectPopulationVO);
+                    comMngPopulationVO.setComCorrectPopulationVOs(comCorrectPopulationVOS);
+                });
+            }
 
-        // 精神障碍信息
-        List<ComMajorPopulationVO> comMajorPopulationVOS = new ArrayList<>();
-        List<ComMajorPopulationDO> comMajorPopulationDOs = comMajorPopulationDAO.selectList(
-            new QueryWrapper<ComMajorPopulationDO>().lambda().eq(ComMajorPopulationDO::getPopulationId, populationId));
-        if (!comMajorPopulationDOs.isEmpty()) {
-            comMajorPopulationDOs.forEach(comMajorPopulationDO -> {
-                ComMajorPopulationVO comMajorPopulationVO = new ComMajorPopulationVO();
-                BeanUtils.copyProperties(comMajorPopulationDO, comMajorPopulationVO);
-                comMajorPopulationVOS.add(comMajorPopulationVO);
-                comMngPopulationVO.setComMajorPopulationVOs(comMajorPopulationVOS);
-            });
-        }
+            // 精神障碍信息
+            List<ComMajorPopulationVO> comMajorPopulationVOS = new ArrayList<>();
+            List<ComMajorPopulationDO> comMajorPopulationDOs = comMajorPopulationDAO.selectList(
+                    new QueryWrapper<ComMajorPopulationDO>().lambda().eq(ComMajorPopulationDO::getPopulationId, populationId)
+                            .eq(ComMajorPopulationDO::getCommunityId, communityId));
+            if (!comMajorPopulationDOs.isEmpty()) {
+                comMajorPopulationDOs.forEach(comMajorPopulationDO -> {
+                    ComMajorPopulationVO comMajorPopulationVO = new ComMajorPopulationVO();
+                    BeanUtils.copyProperties(comMajorPopulationDO, comMajorPopulationVO);
+                    comMajorPopulationVOS.add(comMajorPopulationVO);
+                    comMngPopulationVO.setComMajorPopulationVOs(comMajorPopulationVOS);
+                });
+            }
 
-        // 邪教信息
-        List<ComCultPopulationVO> comCultPopulationVOS = new ArrayList<>();
-        List<ComCultPopulationDO> comCultPopulationDOS = comCultPopulationDAO.selectList(
-            new QueryWrapper<ComCultPopulationDO>().lambda().eq(ComCultPopulationDO::getPopulationId, populationId));
-        if (!comCultPopulationDOS.isEmpty()) {
-            comCultPopulationDOS.forEach(comCultPopulationDO -> {
-                ComCultPopulationVO comCultPopulationVO = new ComCultPopulationVO();
-                BeanUtils.copyProperties(comCultPopulationDO, comCultPopulationVO);
-                comCultPopulationVOS.add(comCultPopulationVO);
-                comMngPopulationVO.setComCultPopulationVOs(comCultPopulationVOS);
-            });
-        }
+            // 邪教信息
+            List<ComCultPopulationVO> comCultPopulationVOS = new ArrayList<>();
+            List<ComCultPopulationDO> comCultPopulationDOS = comCultPopulationDAO.selectList(
+                    new QueryWrapper<ComCultPopulationDO>().lambda().eq(ComCultPopulationDO::getPopulationId, populationId)
+                            .eq(ComCultPopulationDO::getCommunityId, communityId));
+            if (!comCultPopulationDOS.isEmpty()) {
+                comCultPopulationDOS.forEach(comCultPopulationDO -> {
+                    ComCultPopulationVO comCultPopulationVO = new ComCultPopulationVO();
+                    BeanUtils.copyProperties(comCultPopulationDO, comCultPopulationVO);
+                    comCultPopulationVOS.add(comCultPopulationVO);
+                    comMngPopulationVO.setComCultPopulationVOs(comCultPopulationVOS);
+                });
+            }
 
-        // 刑释信息
-        List<ComRehabilitationPopulationVO> comRehabilitationPopulationVOS = new ArrayList<>();
-        List<ComRehabilitationPopulationDO> comRehabilitationPopulationDOS =
-            comRehabilitationPopulationDAO.selectList(new QueryWrapper<ComRehabilitationPopulationDO>().lambda()
-                .eq(ComRehabilitationPopulationDO::getPopulationId, populationId));
-        if (!comRehabilitationPopulationDOS.isEmpty()) {
-            comRehabilitationPopulationDOS.forEach(comRehabilitationPopulationDO -> {
-                ComRehabilitationPopulationVO comRehabilitationPopulationVO = new ComRehabilitationPopulationVO();
-                BeanUtils.copyProperties(comRehabilitationPopulationDO, comRehabilitationPopulationVO);
-                comRehabilitationPopulationVOS.add(comRehabilitationPopulationVO);
-                comMngPopulationVO.setComRehabilitationPopulationVOs(comRehabilitationPopulationVOS);
-            });
-        }
+            // 刑释信息
+            List<ComRehabilitationPopulationVO> comRehabilitationPopulationVOS = new ArrayList<>();
+            List<ComRehabilitationPopulationDO> comRehabilitationPopulationDOS =
+                    comRehabilitationPopulationDAO.selectList(new QueryWrapper<ComRehabilitationPopulationDO>().lambda()
+                            .eq(ComRehabilitationPopulationDO::getPopulationId, populationId)
+                            .eq(ComRehabilitationPopulationDO::getCommunityId, communityId));
+            if (!comRehabilitationPopulationDOS.isEmpty()) {
+                comRehabilitationPopulationDOS.forEach(comRehabilitationPopulationDO -> {
+                    ComRehabilitationPopulationVO comRehabilitationPopulationVO = new ComRehabilitationPopulationVO();
+                    BeanUtils.copyProperties(comRehabilitationPopulationDO, comRehabilitationPopulationVO);
+                    comRehabilitationPopulationVOS.add(comRehabilitationPopulationVO);
+                    comMngPopulationVO.setComRehabilitationPopulationVOs(comRehabilitationPopulationVOS);
+                });
+            }
 
-        // 上访信息
-        List<ComKeyPopulationVO> comKeyPopulationVOS = new ArrayList<>();
-        List<ComKeyPopulationDO> comKeyPopulationDOS = comKeyPopulationDAO.selectList(
-            new QueryWrapper<ComKeyPopulationDO>().lambda().eq(ComKeyPopulationDO::getPopulationId, populationId));
-        if (!comKeyPopulationDOS.isEmpty()) {
-            comKeyPopulationDOS.forEach(comKeyPopulationDO -> {
-                ComKeyPopulationVO comKeyPopulationVO = new ComKeyPopulationVO();
-                BeanUtils.copyProperties(comKeyPopulationDO, comKeyPopulationVO);
-                comKeyPopulationVOS.add(comKeyPopulationVO);
-                comMngPopulationVO.setComKeyPopulationVOs(comKeyPopulationVOS);
-            });
-        }
+            // 上访信息
+            List<ComKeyPopulationVO> comKeyPopulationVOS = new ArrayList<>();
+            List<ComKeyPopulationDO> comKeyPopulationDOS = comKeyPopulationDAO.selectList(
+                    new QueryWrapper<ComKeyPopulationDO>().lambda().eq(ComKeyPopulationDO::getPopulationId, populationId)
+                            .eq(ComKeyPopulationDO::getCommunityId, communityId));
+            if (!comKeyPopulationDOS.isEmpty()) {
+                comKeyPopulationDOS.forEach(comKeyPopulationDO -> {
+                    ComKeyPopulationVO comKeyPopulationVO = new ComKeyPopulationVO();
+                    BeanUtils.copyProperties(comKeyPopulationDO, comKeyPopulationVO);
+                    comKeyPopulationVOS.add(comKeyPopulationVO);
+                    comMngPopulationVO.setComKeyPopulationVOs(comKeyPopulationVOS);
+                });
+            }
 
-        // 退役军人信息
-        List<ComVeteransPopulationVO> comVeteransPopulationVOS = new ArrayList<>();
-        List<ComVeteransPopulationDO> comVeteransPopulationDOS =
-            comVeteransPopulationDAO.selectList(new QueryWrapper<ComVeteransPopulationDO>().lambda()
-                .eq(ComVeteransPopulationDO::getPopulationId, populationId));
-        if (!comVeteransPopulationDOS.isEmpty()) {
-            comVeteransPopulationDOS.forEach(comVeteransPopulationDO -> {
-                ComVeteransPopulationVO comVeteransPopulationVO = new ComVeteransPopulationVO();
-                BeanUtils.copyProperties(comVeteransPopulationDO, comVeteransPopulationVO);
-                comVeteransPopulationVOS.add(comVeteransPopulationVO);
-                comMngPopulationVO.setComVeteransPopulationVOs(comVeteransPopulationVOS);
-            });
-        }
+            // 退役军人信息
+            List<ComVeteransPopulationVO> comVeteransPopulationVOS = new ArrayList<>();
+            List<ComVeteransPopulationDO> comVeteransPopulationDOS =
+                    comVeteransPopulationDAO.selectList(new QueryWrapper<ComVeteransPopulationDO>().lambda()
+                            .eq(ComVeteransPopulationDO::getPopulationId, populationId)
+                            .eq(ComVeteransPopulationDO::getCommunityId, communityId));
+            if (!comVeteransPopulationDOS.isEmpty()) {
+                comVeteransPopulationDOS.forEach(comVeteransPopulationDO -> {
+                    ComVeteransPopulationVO comVeteransPopulationVO = new ComVeteransPopulationVO();
+                    BeanUtils.copyProperties(comVeteransPopulationDO, comVeteransPopulationVO);
+                    comVeteransPopulationVOS.add(comVeteransPopulationVO);
+                    comMngPopulationVO.setComVeteransPopulationVOs(comVeteransPopulationVOS);
+                });
+            }
 
-        // 残疾人信息
-        List<ComDisabilityPopulationVO> comDisabilityPopulationVOS = new ArrayList<>();
-        List<ComDisabilityPopulationDO> comDisabilityPopulationDOS =
-            comDisabilityPopulationDAO.selectList(new QueryWrapper<ComDisabilityPopulationDO>().lambda()
-                .eq(ComDisabilityPopulationDO::getPopulationId, populationId));
-        if (!comDisabilityPopulationDOS.isEmpty()) {
-            comDisabilityPopulationDOS.forEach(comDisabilityPopulationDO -> {
-                ComDisabilityPopulationVO comDisabilityPopulationVO = new ComDisabilityPopulationVO();
-                BeanUtils.copyProperties(comDisabilityPopulationDO, comDisabilityPopulationVO);
-                comDisabilityPopulationVOS.add(comDisabilityPopulationVO);
-                comMngPopulationVO.setComDisabilityPopulationVOs(comDisabilityPopulationVOS);
-            });
-        }
+            // 残疾人信息
+            List<ComDisabilityPopulationVO> comDisabilityPopulationVOS = new ArrayList<>();
+            List<ComDisabilityPopulationDO> comDisabilityPopulationDOS =
+                    comDisabilityPopulationDAO.selectList(new QueryWrapper<ComDisabilityPopulationDO>().lambda()
+                            .eq(ComDisabilityPopulationDO::getPopulationId, populationId)
+                            .eq(ComDisabilityPopulationDO::getCommunityId, communityId));
+            if (!comDisabilityPopulationDOS.isEmpty()) {
+                comDisabilityPopulationDOS.forEach(comDisabilityPopulationDO -> {
+                    ComDisabilityPopulationVO comDisabilityPopulationVO = new ComDisabilityPopulationVO();
+                    BeanUtils.copyProperties(comDisabilityPopulationDO, comDisabilityPopulationVO);
+                    comDisabilityPopulationVOS.add(comDisabilityPopulationVO);
+                    comMngPopulationVO.setComDisabilityPopulationVOs(comDisabilityPopulationVOS);
+                });
+            }
 
-        // 低保户信息
-        List<ComLowSecurityPopulationVO> comLowSecurityPopulationVOS = new ArrayList<>();
-        List<ComLowSecurityPopulationDO> comLowSecurityPopulationDOS =
-            comLowSecurityPopulationDAO.selectList(new QueryWrapper<ComLowSecurityPopulationDO>().lambda()
-                .eq(ComLowSecurityPopulationDO::getPopulationId, populationId));
-        if (!comLowSecurityPopulationDOS.isEmpty()) {
-            comLowSecurityPopulationDOS.forEach(comLowSecurityPopulationDO -> {
-                ComLowSecurityPopulationVO comLowSecurityPopulationVO = new ComLowSecurityPopulationVO();
-                BeanUtils.copyProperties(comLowSecurityPopulationDO, comLowSecurityPopulationVO);
-                comLowSecurityPopulationVOS.add(comLowSecurityPopulationVO);
-                comMngPopulationVO.setComLowSecurityPopulationVOs(comLowSecurityPopulationVOS);
-            });
+            // 低保户信息
+            List<ComLowSecurityPopulationVO> comLowSecurityPopulationVOS = new ArrayList<>();
+            List<ComLowSecurityPopulationDO> comLowSecurityPopulationDOS =
+                    comLowSecurityPopulationDAO.selectList(new QueryWrapper<ComLowSecurityPopulationDO>().lambda()
+                            .eq(ComLowSecurityPopulationDO::getPopulationId, populationId)
+                            .eq(ComLowSecurityPopulationDO::getCommunityId, communityId));
+            if (!comLowSecurityPopulationDOS.isEmpty()) {
+                comLowSecurityPopulationDOS.forEach(comLowSecurityPopulationDO -> {
+                    ComLowSecurityPopulationVO comLowSecurityPopulationVO = new ComLowSecurityPopulationVO();
+                    BeanUtils.copyProperties(comLowSecurityPopulationDO, comLowSecurityPopulationVO);
+                    comLowSecurityPopulationVOS.add(comLowSecurityPopulationVO);
+                    comMngPopulationVO.setComLowSecurityPopulationVOs(comLowSecurityPopulationVOS);
+                });
+            }
+
+            // 高龄老人信息
+            List<ComElderAuthElderliesVO> comElderAuthElderliesVOList = new ArrayList<>();
+            List<ComElderAuthElderliesDO> comElderAuthElderliesDOS =
+                    comElderAuthElderliesDAO.selectList(new QueryWrapper<ComElderAuthElderliesDO>().lambda()
+                            .eq(ComElderAuthElderliesDO::getPopulationId, populationId)
+                            .eq(ComElderAuthElderliesDO::getCommunityId, communityId));
+            if (!comElderAuthElderliesDOS.isEmpty()) {
+                comElderAuthElderliesDOS.forEach(comElderAuthElderliesDO -> {
+                    ComElderAuthElderliesVO comElderAuthElderliesVO = new ComElderAuthElderliesVO();
+                    BeanUtils.copyProperties(comElderAuthElderliesDO, comElderAuthElderliesVO);
+                    comElderAuthElderliesVOList.add(comElderAuthElderliesVO);
+                    comMngPopulationVO.setComElderAuthElderliesVOList(comElderAuthElderliesVOList);
+                });
+            }
+
+            // 养老人员信息
+            List<ComPensionAuthPensionerVO> comPensionAuthPensionerVOList = new ArrayList<>();
+            List<ComPensionAuthPensionerDO> comPensionAuthPensionerDOS =
+                    comPensionAuthPensionerDAO.selectList(new QueryWrapper<ComPensionAuthPensionerDO>().lambda()
+                            .eq(ComPensionAuthPensionerDO::getPopulationId, populationId)
+                            .eq(ComPensionAuthPensionerDO::getCommunityId, communityId));
+            if (!comPensionAuthPensionerDOS.isEmpty()) {
+                comPensionAuthPensionerDOS.forEach(comPensionAuthPensionerDO -> {
+                    ComPensionAuthPensionerVO comPensionAuthPensionerVO = new ComPensionAuthPensionerVO();
+                    BeanUtils.copyProperties(comPensionAuthPensionerDO, comPensionAuthPensionerVO);
+                    comPensionAuthPensionerVOList.add(comPensionAuthPensionerVO);
+                    comMngPopulationVO.setComPensionAuthPensionerVOList(comPensionAuthPensionerVOList);
+                });
+            }
         }
         return R.ok(comMngPopulationVO);
     }
@@ -418,29 +482,44 @@
                         break;
                     case 2:
                         comMngPopulationVO.setRoad(houseDO.getAlley());
-                        comMngPopulationVO.setDoorNo(houseDO.getHouseNum());
+//                        comMngPopulationVO.setDoorNo(houseDO.getHouseNum());
                         break;
                     case 3:
                         comMngPopulationVO.setRoad(houseDO.getAlley());
                         comMngPopulationVO.setDoorNo(houseDO.getHouseNum());
-                        comMngPopulationVO.setFloor(houseDO.getFloor());
+//                        comMngPopulationVO.setFloor(houseDO.getFloor());
                         break;
                     case 4:
                         comMngPopulationVO.setRoad(houseDO.getAlley());
                         comMngPopulationVO.setDoorNo(houseDO.getHouseNum());
                         comMngPopulationVO.setFloor(houseDO.getFloor());
-                        comMngPopulationVO.setUnitNo(houseDO.getUnitNo());
+//                        comMngPopulationVO.setUnitNo(houseDO.getUnitNo());
                         break;
                     case 5:
                         comMngPopulationVO.setRoad(houseDO.getAlley());
                         comMngPopulationVO.setDoorNo(houseDO.getHouseNum());
                         comMngPopulationVO.setFloor(houseDO.getFloor());
                         comMngPopulationVO.setUnitNo(houseDO.getUnitNo());
-                        comMngPopulationVO.setHouseNo(houseDO.getHouseNo());
+                        if(comMngPopulationVO.getLevelIsAll() == null){
+                            comMngPopulationVO.setHouseNo(houseDO.getHouseNo());
+                        }
                         break;
                     default:
                         break;
                 }
+            }
+        }
+
+        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;
             }
         }
 
@@ -487,10 +566,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);
     }
 
     /**
@@ -550,7 +698,7 @@
         try {
             // 查询社区信息
             log.info("开始查询社区信息数据");
-            ComPopulationActVO populationActVO = comActDAO.getPopulationActById(31L);
+            ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId);
             if (populationActVO == null) {
                 log.error("未查询到社区信息");
                 return R.fail("未查询到社区信息");
@@ -560,7 +708,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", 31));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -573,14 +721,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -588,14 +736,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -603,7 +751,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -632,7 +780,7 @@
                 log.info("开始查询小区街路巷是否存在");
                 // 查询小区街路巷是否存在
                 ComMngVillageDO comMngVillageDO = null;
-                String villageKey = 31 + vo.getRoad() + vo.getDoorNo();
+                String villageKey = communityId + vo.getRoad() + vo.getDoorNo();
                 if (!isOnly(villageKey, villageMap)) {
                     comMngVillageDO = (ComMngVillageDO)villageMap.get(villageKey);
                 } else {
@@ -661,39 +809,51 @@
                 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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
+                //String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -707,6 +867,7 @@
                     // 不存在实有人口,则新增
                     populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationKey,populationDO);
                 }
                 log.info("查询实有人口是否已存在完成");
 
@@ -748,8 +909,9 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
+                        populationCommunityMap.put(populationCommunityKey,cpopulationCommunityTagsDO);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     }else {
                         // 实有人口存在于当前社区,则更新
@@ -765,6 +927,7 @@
                                 iterator.remove();
                         }
                         comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -776,6 +939,18 @@
                     }
                 }
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+                   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -795,7 +970,7 @@
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
             log.info("数据库更新人口完成");
         }
@@ -811,7 +986,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -854,7 +1029,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -867,14 +1042,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -882,14 +1057,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -897,7 +1072,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -955,39 +1130,49 @@
                 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 =
+                                    saveDrugPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    if (populationHouseDO == null) {
-                        // 房屋信息不存在建立房屋信息
-                        populationHouseDO = saveDrugPopulationHouse(vo, comMngVillageDO, communityId, areaPath,
-                            populationActVO.getName());
-                        houseList.add(populationHouseDO);
-                    }
-                } else {
-                    populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationDrugMistakeExcelVO mistake = new ComMngPopulationDrugMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setDrugMistake(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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -1002,6 +1187,7 @@
                     // 不存在实有人口,则新增
                     populationDO = saveDrugPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
                 }
                 log.info("开始查询实有人口是否已存在完成");
 
@@ -1043,8 +1229,8 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     }else {
                         // 实有人口存在于当前社区,则更新
@@ -1059,7 +1245,16 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -1070,7 +1265,20 @@
                         mistakes.add(mistake);
                     }
                 }
+
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -1081,23 +1289,23 @@
         if (!houseList.isEmpty()) {
             log.info("执行数据库导入房屋");
             comMngPopulationHouseDAO.insertAll(houseList);
-            log.info("执行数据库导入房屋完成");
+            log.info("数据库导入房屋完成");
         }
         if (!saveList.isEmpty()) {
             log.info("执行数据库导入人口");
             this.baseMapper.insertAll(saveList);
-            log.info("执行数据库导入人口完成");
+            log.info("数据库导入人口完成");
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
-            log.info("执行数据库更新人口完成");
+            log.info("数据库更新人口完成");
         }
         if (!houseUserList.isEmpty()) {
             log.info("执行数据库导入人口房屋关系");
             comMngPopulationHouseUserService.saveBatch(houseUserList);
-            log.info("执行数据库导入人口房屋关系完成");
+            log.info("数据库导入人口房屋关系完成");
         }
         if (!savePopulationCommunityList.isEmpty()) {
             log.info("执行数据库导入人口社区关系");
@@ -1106,7 +1314,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -1149,7 +1357,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -1162,14 +1370,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -1177,14 +1385,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -1192,7 +1400,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -1250,39 +1458,49 @@
                 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 =
+                                    saveCorrectPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    if (populationHouseDO == null) {
-                        // 房屋信息不存在建立房屋信息
-                        populationHouseDO = saveCorrectPopulationHouse(vo, comMngVillageDO, communityId, areaPath,
-                            populationActVO.getName());
-                        houseList.add(populationHouseDO);
-                    }
-                } else {
-                    populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationCorrectMistakeExcelVO mistake = new ComMngPopulationCorrectMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setCorrectMistake(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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -1297,6 +1515,7 @@
                     // 不存在实有人口,则新增
                     populationDO = saveCorrectPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
                 }
                 log.info("开始查询实有人口是否已存在完成");
 
@@ -1338,8 +1557,8 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     }else {
                         // 实有人口存在于当前社区,则更新
@@ -1354,7 +1573,16 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -1365,7 +1593,20 @@
                         mistakes.add(mistake);
                     }
                 }
+
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -1376,23 +1617,23 @@
         if (!houseList.isEmpty()) {
             log.info("执行数据库导入房屋");
             comMngPopulationHouseDAO.insertAll(houseList);
-            log.info("执行数据库导入房屋完成");
+            log.info("数据库导入房屋完成");
         }
         if (!saveList.isEmpty()) {
             log.info("执行数据库导入人口");
             this.baseMapper.insertAll(saveList);
-            log.info("执行数据库导入人口完成");
+            log.info("数据库导入人口完成");
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
-            log.info("执行数据库更新人口完成");
+            log.info("数据库更新人口完成");
         }
         if (!houseUserList.isEmpty()) {
             log.info("执行数据库导入人口房屋关系");
             comMngPopulationHouseUserService.saveBatch(houseUserList);
-            log.info("执行数据库导入人口房屋关系完成");
+            log.info("数据库导入人口房屋关系完成");
         }
         if (!savePopulationCommunityList.isEmpty()) {
             log.info("执行数据库导入人口社区关系");
@@ -1401,7 +1642,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -1444,7 +1685,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -1457,14 +1698,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -1472,14 +1713,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -1487,7 +1728,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -1545,39 +1786,49 @@
                 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 =
+                                    saveMajorPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    if (populationHouseDO == null) {
-                        // 房屋信息不存在建立房屋信息
-                        populationHouseDO = saveMajorPopulationHouse(vo, comMngVillageDO, communityId, areaPath,
-                            populationActVO.getName());
-                        houseList.add(populationHouseDO);
-                    }
-                } else {
-                    populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationMajorMistakeExcelVO mistake = new ComMngPopulationMajorMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setMajorMistake(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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -1592,6 +1843,7 @@
                     // 不存在实有人口,则新增
                     populationDO = saveMajorPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
                 }
                 log.info("开始查询实有人口是否已存在完成");
 
@@ -1633,8 +1885,8 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     }else {
                         // 实有人口存在于当前社区,则更新
@@ -1649,7 +1901,16 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -1660,7 +1921,20 @@
                         mistakes.add(mistake);
                     }
                 }
+
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -1671,23 +1945,23 @@
         if (!houseList.isEmpty()) {
             log.info("执行数据库导入房屋");
             comMngPopulationHouseDAO.insertAll(houseList);
-            log.info("执行数据库导入房屋完成");
+            log.info("数据库导入房屋完成");
         }
         if (!saveList.isEmpty()) {
             log.info("执行数据库导入人口");
             this.baseMapper.insertAll(saveList);
-            log.info("执行数据库导入人口完成");
+            log.info("数据库导入人口完成");
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
-            log.info("执行数据库更新人口完成");
+            log.info("数据库更新人口完成");
         }
         if (!houseUserList.isEmpty()) {
             log.info("执行数据库导入人口房屋关系");
             comMngPopulationHouseUserService.saveBatch(houseUserList);
-            log.info("执行数据库导入人口房屋关系完成");
+            log.info("数据库导入人口房屋关系完成");
         }
         if (!savePopulationCommunityList.isEmpty()) {
             log.info("执行数据库导入人口社区关系");
@@ -1696,7 +1970,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -1739,7 +2013,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -1752,14 +2026,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -1767,14 +2041,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -1782,7 +2056,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -1840,39 +2114,49 @@
                 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 =
+                                    saveCultPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    if (populationHouseDO == null) {
-                        // 房屋信息不存在建立房屋信息
-                        populationHouseDO = saveCultPopulationHouse(vo, comMngVillageDO, communityId, areaPath,
-                            populationActVO.getName());
-                        houseList.add(populationHouseDO);
-                    }
-                } else {
-                    populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationCultMistakeExcelVO mistake = new ComMngPopulationCultMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setCultMistake(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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -1887,6 +2171,7 @@
                     // 不存在实有人口,则新增
                     populationDO = saveCultPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
                 }
                 log.info("开始查询实有人口是否已存在完成");
 
@@ -1928,8 +2213,8 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     } else {
                         // 实有人口存在于当前社区,则更新
@@ -1944,7 +2229,16 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -1955,7 +2249,20 @@
                         mistakes.add(mistake);
                     }
                 }
+
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -1966,23 +2273,23 @@
         if (!houseList.isEmpty()) {
             log.info("执行数据库导入房屋");
             comMngPopulationHouseDAO.insertAll(houseList);
-            log.info("执行数据库导入房屋完成");
+            log.info("数据库导入房屋完成");
         }
         if (!saveList.isEmpty()) {
             log.info("执行数据库导入人口");
             this.baseMapper.insertAll(saveList);
-            log.info("执行数据库导入人口完成");
+            log.info("数据库导入人口完成");
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
-            log.info("执行数据库更新人口完成");
+            log.info("数据库更新人口完成");
         }
         if (!houseUserList.isEmpty()) {
             log.info("执行数据库导入人口房屋关系");
             comMngPopulationHouseUserService.saveBatch(houseUserList);
-            log.info("执行数据库导入人口房屋关系完成");
+            log.info("数据库导入人口房屋关系完成");
         }
         if (!savePopulationCommunityList.isEmpty()) {
             log.info("执行数据库导入人口社区关系");
@@ -1991,7 +2298,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -2035,7 +2342,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -2048,14 +2355,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -2063,14 +2370,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -2078,7 +2385,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -2137,39 +2444,48 @@
                 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 =
+                                    saveRehabilitationPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    if (populationHouseDO == null) {
-                        // 房屋信息不存在建立房屋信息
-                        populationHouseDO = saveRehabilitationPopulationHouse(vo, comMngVillageDO, communityId,
-                            areaPath, populationActVO.getName());
-                        houseList.add(populationHouseDO);
-                    }
-                } else {
-                    populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setRehabilitationMistake(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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -2184,6 +2500,7 @@
                     // 不存在实有人口,则新增
                     populationDO = saveRehabilitationPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
                 }
                 log.info("开始查询实有人口是否已存在完成");
 
@@ -2225,8 +2542,8 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     }else {
                         // 实有人口存在于当前社区,则更新
@@ -2241,7 +2558,16 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -2253,7 +2579,20 @@
                         mistakes.add(mistake);
                     }
                 }
+
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -2264,23 +2603,23 @@
         if (!houseList.isEmpty()) {
             log.info("执行数据库导入房屋");
             comMngPopulationHouseDAO.insertAll(houseList);
-            log.info("执行数据库导入房屋完成");
+            log.info("数据库导入房屋完成");
         }
         if (!saveList.isEmpty()) {
             log.info("执行数据库导入人口");
             this.baseMapper.insertAll(saveList);
-            log.info("执行数据库导入人口完成");
+            log.info("数据库导入人口完成");
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
-            log.info("执行数据库更新人口完成");
+            log.info("数据库更新人口完成");
         }
         if (!houseUserList.isEmpty()) {
             log.info("执行数据库导入人口房屋关系");
             comMngPopulationHouseUserService.saveBatch(houseUserList);
-            log.info("执行数据库导入人口房屋关系完成");
+            log.info("数据库导入人口房屋关系完成");
         }
         if (!savePopulationCommunityList.isEmpty()) {
             log.info("执行数据库导入人口社区关系");
@@ -2289,7 +2628,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -2332,7 +2671,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -2345,14 +2684,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -2360,14 +2699,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -2375,7 +2714,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -2433,39 +2772,48 @@
                 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 =
+                                    saveKeyPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    if (populationHouseDO == null) {
-                        // 房屋信息不存在建立房屋信息
-                        populationHouseDO = saveKeyPopulationHouse(vo, comMngVillageDO, communityId, areaPath,
-                            populationActVO.getName());
-                        houseList.add(populationHouseDO);
-                    }
-                } else {
-                    populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationKeyMistakeExcelVO mistake = new ComMngPopulationKeyMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setKeyMistake(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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -2480,6 +2828,7 @@
                     // 不存在实有人口,则新增
                     populationDO = saveKeyPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
                 }
                 log.info("开始查询实有人口是否已存在完成");
 
@@ -2521,8 +2870,8 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     }else {
                         // 实有人口存在于当前社区,则更新
@@ -2537,7 +2886,16 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -2548,7 +2906,20 @@
                         mistakes.add(mistake);
                     }
                 }
+
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -2559,23 +2930,23 @@
         if (!houseList.isEmpty()) {
             log.info("执行数据库导入房屋");
             comMngPopulationHouseDAO.insertAll(houseList);
-            log.info("执行数据库导入房屋完成");
+            log.info("数据库导入房屋完成");
         }
         if (!saveList.isEmpty()) {
             log.info("执行数据库导入人口");
             this.baseMapper.insertAll(saveList);
-            log.info("执行数据库导入人口完成");
+            log.info("数据库导入人口完成");
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
-            log.info("执行数据库更新人口完成");
+            log.info("数据库更新人口完成");
         }
         if (!houseUserList.isEmpty()) {
             log.info("执行数据库导入人口房屋关系");
             comMngPopulationHouseUserService.saveBatch(houseUserList);
-            log.info("执行数据库导入人口房屋关系完成");
+            log.info("数据库导入人口房屋关系完成");
         }
         if (!savePopulationCommunityList.isEmpty()) {
             log.info("执行数据库导入人口社区关系");
@@ -2584,7 +2955,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -2627,7 +2998,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -2640,14 +3011,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -2655,14 +3026,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -2670,7 +3041,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -2728,39 +3099,48 @@
                 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 =
+                                    saveSentencePopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    if (populationHouseDO == null) {
-                        // 房屋信息不存在建立房屋信息
-                        populationHouseDO = saveSentencePopulationHouse(vo, comMngVillageDO, communityId, areaPath,
-                            populationActVO.getName());
-                        houseList.add(populationHouseDO);
-                    }
-                } else {
-                    populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationSentenceMistakeExcelVO mistake = new ComMngPopulationSentenceMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setSentenceMistake(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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -2775,6 +3155,7 @@
                     // 不存在实有人口,则新增
                     populationDO = saveSentencePopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
                 }
                 log.info("开始查询实有人口是否已存在完成");
 
@@ -2816,8 +3197,8 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     } else {
                         // 实有人口存在于当前社区,则更新
@@ -2832,7 +3213,16 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -2843,7 +3233,20 @@
                         mistakes.add(mistake);
                     }
                 }
+
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -2854,23 +3257,23 @@
         if (!houseList.isEmpty()) {
             log.info("执行数据库导入房屋");
             comMngPopulationHouseDAO.insertAll(houseList);
-            log.info("执行数据库导入房屋完成");
+            log.info("数据库导入房屋完成");
         }
         if (!saveList.isEmpty()) {
             log.info("执行数据库导入人口");
             this.baseMapper.insertAll(saveList);
-            log.info("执行数据库导入人口完成");
+            log.info("数据库导入人口完成");
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
-            log.info("执行数据库更新人口完成");
+            log.info("数据库更新人口完成");
         }
         if (!houseUserList.isEmpty()) {
             log.info("执行数据库导入人口房屋关系");
             comMngPopulationHouseUserService.saveBatch(houseUserList);
-            log.info("执行数据库导入人口房屋关系完成");
+            log.info("数据库导入人口房屋关系完成");
         }
         if (!savePopulationCommunityList.isEmpty()) {
             log.info("执行数据库导入人口社区关系");
@@ -2879,7 +3282,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -2922,7 +3325,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -2935,14 +3338,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -2950,14 +3353,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -2965,7 +3368,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -3023,39 +3426,48 @@
                 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 =
+                                    saveVeteransPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    if (populationHouseDO == null) {
-                        // 房屋信息不存在建立房屋信息
-                        populationHouseDO = saveVeteransPopulationHouse(vo, comMngVillageDO, communityId, areaPath,
-                            populationActVO.getName());
-                        houseList.add(populationHouseDO);
-                    }
-                } else {
-                    populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationVeteransMistakeExcelVO mistake = new ComMngPopulationVeteransMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setVeteransMistake(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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -3070,6 +3482,7 @@
                     // 不存在实有人口,则新增
                     populationDO = saveVeteransPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
                 }
                 log.info("开始查询实有人口是否已存在完成");
 
@@ -3111,8 +3524,8 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     }else {
                         // 实有人口存在于当前社区,则更新
@@ -3127,7 +3540,16 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -3138,7 +3560,20 @@
                         mistakes.add(mistake);
                     }
                 }
+
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -3149,23 +3584,23 @@
         if (!houseList.isEmpty()) {
             log.info("执行数据库导入房屋");
             comMngPopulationHouseDAO.insertAll(houseList);
-            log.info("执行数据库导入房屋完成");
+            log.info("数据库导入房屋完成");
         }
         if (!saveList.isEmpty()) {
             log.info("执行数据库导入人口");
             this.baseMapper.insertAll(saveList);
-            log.info("执行数据库导入人口完成");
+            log.info("数据库导入人口完成");
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
-            log.info("执行数据库更新人口完成");
+            log.info("数据库更新人口完成");
         }
         if (!houseUserList.isEmpty()) {
             log.info("执行数据库导入人口房屋关系");
             comMngPopulationHouseUserService.saveBatch(houseUserList);
-            log.info("执行数据库导入人口房屋关系完成");
+            log.info("数据库导入人口房屋关系完成");
         }
         if (!savePopulationCommunityList.isEmpty()) {
             log.info("执行数据库导入人口社区关系");
@@ -3174,7 +3609,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -3217,7 +3652,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -3230,14 +3665,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -3245,14 +3680,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -3260,7 +3695,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -3318,39 +3753,48 @@
                 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 =
+                                    saveDisabilityPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    if (populationHouseDO == null) {
-                        // 房屋信息不存在建立房屋信息
-                        populationHouseDO = saveDisabilityPopulationHouse(vo, comMngVillageDO, communityId, areaPath,
-                            populationActVO.getName());
-                        houseList.add(populationHouseDO);
-                    }
-                } else {
-                    populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationDisabilityMistakeExcelVO mistake = new ComMngPopulationDisabilityMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setDisabilityMistake(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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -3365,6 +3809,7 @@
                     // 不存在实有人口,则新增
                     populationDO = saveDisabilityPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
                 }
                 log.info("开始查询实有人口是否已存在完成");
 
@@ -3406,8 +3851,8 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     } else {
                         // 实有人口存在于当前社区,则更新
@@ -3422,7 +3867,16 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -3433,7 +3887,20 @@
                         mistakes.add(mistake);
                     }
                 }
+
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -3444,23 +3911,23 @@
         if (!houseList.isEmpty()) {
             log.info("执行数据库导入房屋");
             comMngPopulationHouseDAO.insertAll(houseList);
-            log.info("执行数据库导入房屋完成");
+            log.info("数据库导入房屋完成");
         }
         if (!saveList.isEmpty()) {
             log.info("执行数据库导入人口");
             this.baseMapper.insertAll(saveList);
-            log.info("执行数据库导入人口完成");
+            log.info("数据库导入人口完成");
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
-            log.info("执行数据库更新人口完成");
+            log.info("数据库更新人口完成");
         }
         if (!houseUserList.isEmpty()) {
             log.info("执行数据库导入人口房屋关系");
             comMngPopulationHouseUserService.saveBatch(houseUserList);
-            log.info("执行数据库导入人口房屋关系完成");
+            log.info("数据库导入人口房屋关系完成");
         }
         if (!savePopulationCommunityList.isEmpty()) {
             log.info("执行数据库导入人口社区关系");
@@ -3469,7 +3936,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -3517,7 +3984,7 @@
             // 查询当前社区标签列表
             List<String> labelList = new ArrayList<>();
             List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
-                .selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
+                .selectList(null);
             if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                 labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
                     .collect(Collectors.toList());
@@ -3530,14 +3997,14 @@
             Integer nub = 1;
 
             // 查询所有人口数据放入HashMap中
-            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
+            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId,communityId));
             HashMap<String, Object> populationMap = new HashMap<>();
             populationList.forEach(population -> {
                 String key = population.getCardNo();
                 populationMap.put(key, population);
             });
             // 查询所有房屋信息放入到HashMap中
-            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId));
             HashMap<String, Object> houseMap = new HashMap<>();
             houseLists.forEach(house -> {
                 String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
@@ -3545,14 +4012,14 @@
                 houseMap.put(key, house);
             });
 
-            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId,communityId));
             HashMap<String, Object> villageMap = new HashMap<>();
             villageList.forEach(village -> {
                 String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                 villageMap.put(key, village);
             });
 
-            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
             HashMap<String, Object> houseUserMap = new HashMap<>();
             houseUserLists.forEach(houseUser -> {
                 String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
@@ -3560,7 +4027,7 @@
             });
 
             List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
-                comMngPopulationCommunityTagsDAO.selectList(null);
+                comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
             HashMap<String, Object> populationCommunityMap = new HashMap<>();
             populationCommunityLists.forEach(populationCommunity -> {
                 String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
@@ -3618,39 +4085,48 @@
                 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 =
+                                    saveLowSecurityPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    if (populationHouseDO == null) {
-                        // 房屋信息不存在建立房屋信息
-                        populationHouseDO = saveLowSecurityPopulationHouse(vo, comMngVillageDO, communityId, areaPath,
-                            populationActVO.getName());
-                        houseList.add(populationHouseDO);
-                    }
-                } else {
-                    populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationLowSecurityMistakeExcelVO mistake = new ComMngPopulationLowSecurityMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setLowSecurityMistake(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())) {
                     // 空户处理完房屋信息,直接返回
                     continue;
                 }
-                String cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
                 // 判断实有人口是否已存在
                 log.info("开始查询实有人口是否已存在");
                 ComMngPopulationDO populationDO = null;
@@ -3665,6 +4141,7 @@
                     // 不存在实有人口,则新增
                     populationDO = saveLowSecurityPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
                 }
                 log.info("开始查询实有人口是否已存在完成");
 
@@ -3706,8 +4183,8 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        populationDO.setLabel(Joiner.on(",").join(userTag));
-                        populationDO.setCreateBy(userId);
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     } else {
                         // 实有人口存在于当前社区,则更新
@@ -3722,7 +4199,16 @@
                             if (!labelList.contains(s))
                                 iterator.remove();
                         }
-                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -3733,7 +4219,20 @@
                         mistakes.add(mistake);
                     }
                 }
+
                 log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
             }
         } catch (Exception e) {
             log.info("出现错误,错误原因:" + e.getMessage());
@@ -3744,23 +4243,23 @@
         if (!houseList.isEmpty()) {
             log.info("执行数据库导入房屋");
             comMngPopulationHouseDAO.insertAll(houseList);
-            log.info("执行数据库导入房屋完成");
+            log.info("数据库导入房屋完成");
         }
         if (!saveList.isEmpty()) {
             log.info("执行数据库导入人口");
             this.baseMapper.insertAll(saveList);
-            log.info("执行数据库导入人口完成");
+            log.info("数据库导入人口完成");
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
-            log.info("执行数据库更新人口完成");
+            log.info("数据库更新人口完成");
         }
         if (!houseUserList.isEmpty()) {
             log.info("执行数据库导入人口房屋关系");
             comMngPopulationHouseUserService.saveBatch(houseUserList);
-            log.info("执行数据库导入人口房屋关系完成");
+            log.info("数据库导入人口房屋关系完成");
         }
         if (!savePopulationCommunityList.isEmpty()) {
             log.info("执行数据库导入人口社区关系");
@@ -3769,7 +4268,664 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
+            log.info("数据库更新人口社区关系完成");
+        }
+        log.info("执行数据库导入完成");
+
+        if (!mistakes.isEmpty()) {
+            log.info("返回错误数据");
+            return R.fail(mistakes);
+        }
+        return R.ok(mistakes);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R listSaveEdlerPopulation(List<ComMngPopulationElderExcelVO> list, Long communityId, Long userId) {
+        // 需要新增的房屋集合
+        List<ComMngPopulationHouseDO> houseList = new ArrayList<>();
+        // 需要新增的人口集合
+        List<ComMngPopulationDO> saveList = new ArrayList<>();
+        // 需要修改的人口集合
+        List<ComMngPopulationDO> updateList = new ArrayList<>();
+        // 需要新增的人口与房屋关系集合
+        List<ComMngPopulationHouseUserDO> houseUserList = new ArrayList<>();
+        // 需要新增的人口与社区关系集合
+        List<ComMngPopulationCommunityTagsDO> savePopulationCommunityList = new ArrayList<>();
+        // 需要新增的人口与社区关系集合
+        List<ComMngPopulationCommunityTagsDO> updatePopulationCommunityList = new ArrayList<>();
+
+        log.info("开始处理导入数据");
+        List<ComMngPopulationElderMistakeExcelVO> mistakes = new ArrayList<>();
+        try {
+            // 查询社区信息
+            log.info("开始查询社区信息数据");
+            ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId);
+            if (populationActVO == null) {
+                log.error("未查询到社区信息");
+                return R.fail("未查询到社区信息");
+            }
+            log.info("开始查询社区信息数据完成");
+
+            // 查询当前社区标签列表
+            List<String> labelList = new ArrayList<>();
+            List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO
+                    .selectList(null);
+            if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
+                labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
+                        .collect(Collectors.toList());
+            }
+
+            StringBuilder areaPath = new StringBuilder();
+            areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName())
+                    .append(">").append(populationActVO.getDistrictName()).append(">");
+            // 处理实有人口信息
+            Integer nub = 1;
+
+            // 查询所有人口数据放入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);
+            });
+            // 查询所有房屋信息放入到HashMap中
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            HashMap<String, Object> houseMap = new HashMap<>();
+            houseLists.forEach(house -> {
+                String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
+                        + house.getHouseNo();
+                houseMap.put(key, house);
+            });
+
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            HashMap<String, Object> villageMap = new HashMap<>();
+            villageList.forEach(village -> {
+                String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
+                villageMap.put(key, village);
+            });
+
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
+            HashMap<String, Object> houseUserMap = new HashMap<>();
+            houseUserLists.forEach(houseUser -> {
+                String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
+                houseUserMap.put(key, houseUser);
+            });
+
+            List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
+                    comMngPopulationCommunityTagsDAO.selectList(null);
+            HashMap<String, Object> populationCommunityMap = new HashMap<>();
+            populationCommunityLists.forEach(populationCommunity -> {
+                String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
+                populationCommunityMap.put(key, populationCommunity);
+            });
+
+            for (ComMngPopulationElderExcelVO vo : list) {
+                if (vo.getDoorNo().contains("号")) {
+                    vo.setDoorNo(vo.getDoorNo().replace("号", ""));
+                }
+                if (StringUtils.isNotEmpty(vo.getFloor())) {
+                    if (vo.getFloor().contains("栋")) {
+                        vo.setFloor(vo.getFloor().replace("栋", ""));
+                    }
+                }
+                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
+                    if (vo.getUnitNo().contains("单元")) {
+                        vo.setUnitNo(vo.getUnitNo().replace("单元", ""));
+                    }
+                }
+                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
+                    if (vo.getHouseNo().contains("号")) {
+                        vo.setHouseNo(vo.getHouseNo().replace("号", ""));
+                    }
+                }
+                log.info("开始查询小区街路巷是否存在");
+                // 查询小区街路巷是否存在
+                ComMngVillageDO comMngVillageDO = null;
+                String villageKey = communityId + vo.getRoad() + vo.getDoorNo();
+                if (!isOnly(villageKey, villageMap)) {
+                    comMngVillageDO = (ComMngVillageDO)villageMap.get(villageKey);
+                } else {
+                    ComMngPopulationElderMistakeExcelVO mistake = new ComMngPopulationElderMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setElderMistake(mistake, vo);
+                    mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo());
+                    mistakes.add(mistake);
+                    log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo());
+                    continue;
+                }
+                StringBuilder address = new StringBuilder();
+                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName())
+                        .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName())
+                        .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
+                if (StringUtils.isNotEmpty(vo.getFloor())) {
+                    address.append(vo.getFloor()).append("栋");
+                }
+                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
+                    address.append(vo.getUnitNo()).append("单元");
+                }
+                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
+                    address.append(vo.getHouseNo()).append("号");
+                }
+                vo.setAddress(address.toString());
+                log.info("开始查询小区街路巷是否存在完成");
+
+                log.info("开始查询房屋是否存在");
+                ComMngPopulationHouseDO populationHouseDO = null;
+                // 先判断房屋是否存在
+                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 =
+                                    saveElderPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    }
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationElderMistakeExcelVO mistake = new ComMngPopulationElderMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setElderMistake(mistake, vo);
+                    mistake.setMistake("房屋数据填报不完整" );
+                    mistakes.add(mistake);
+                    log.info("房屋数据填报不完整");
+                    continue;
+                }
+
+                if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) {
+                    // 空户处理完房屋信息,直接返回
+                    continue;
+                }
+                // 判断实有人口是否已存在
+                log.info("开始查询实有人口是否已存在");
+                ComMngPopulationDO populationDO = null;
+                String populationKey = vo.getCardNo();
+                if (!isOnly(populationKey, populationMap)) {
+                    // 存在实有人口信息,则更新
+                    populationDO = (ComMngPopulationDO)populationMap.get(populationKey);
+                    ComMngPopulationDO updatePopulationDO =
+                            updateElderPopulationDO(vo, populationDO, communityId, userId);
+                    updateList.add(updatePopulationDO);
+                } else {
+                    // 不存在实有人口,则新增
+                    populationDO = saveElderPopulationDO(vo, populationActVO, comMngVillageDO, userId,communityId);
+                    saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
+                }
+                log.info("开始查询实有人口是否已存在完成");
+
+                log.info("开始查询实有人口房屋居住信息");
+                // 处理实有人口房屋居住信息
+                if (populationDO != null) {
+                    ComMngPopulationHouseUserDO populationHouseUserDO = null;
+                    String houseUserKey = populationDO.getId() + populationHouseDO.getId() + "";
+                    if (isOnly(houseUserKey, houseUserMap)) {
+                        populationHouseUserDO = new ComMngPopulationHouseUserDO();
+                        populationHouseUserDO.setId(Snowflake.getId());
+                        populationHouseUserDO.setHouseId(populationHouseDO.getId());
+                        populationHouseUserDO.setPopulId(populationDO.getId());
+                        // populationHouseUserDO.setRelation(vo.getRelation());
+                        populationHouseUserDO.setRelationId(vo.getIsRent());
+                        // populationHouseUserDO.setResidence(vo.getResidence());
+                        houseUserList.add(populationHouseUserDO);
+                    }
+                }
+                log.info("开始查询实有人口房屋居住信息完成");
+
+                log.info("开始查询实有人口存在社区信息");
+                // 处理实有人口与社区关系以及对应特殊群体标签
+                String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + "";
+                if (populationDO != null) {
+                    ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null;
+                    if (isOnly(populationCommunityKey, populationCommunityMap)) {
+                        // 实有人口不存在于当前社区
+                        cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO();
+                        cpopulationCommunityTagsDO.setId(Snowflake.getId());
+                        cpopulationCommunityTagsDO.setPopulationId(populationDO.getId());
+                        cpopulationCommunityTagsDO.setCommunityId(communityId);
+                        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0])
+                                .collect(Collectors.toList());
+                        // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
+                        Iterator<String> iterator = userTag.iterator();
+                        while (iterator.hasNext()) {
+                            String s = iterator.next();
+                            if (!labelList.contains(s))
+                                iterator.remove();
+                        }
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
+                        savePopulationCommunityList.add(cpopulationCommunityTagsDO);
+                    } else {
+                        // 实有人口存在于当前社区,则更新
+                        ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO =
+                                (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey);
+                        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0])
+                                .collect(Collectors.toList());
+                        // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
+                        Iterator<String> iterator = userTag.iterator();
+                        while (iterator.hasNext()) {
+                            String s = iterator.next();
+                            if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())
+                                    && comMngPopulationCommunityTagsDO.getLabel().contains(s)){
+                                iterator.remove();
+                            }
+                        }
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
+                        comMngPopulationCommunityTagsDO.setUpdateBy(userId);
+                        updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
+
+                        ComMngPopulationElderMistakeExcelVO mistake = new ComMngPopulationElderMistakeExcelVO();
+                        BeanUtils.copyProperties(vo, mistake);
+                        setElderMistake(mistake, vo);
+                        mistake.setMistake("该实有人口已存在于该社区,执行更新");
+                        mistakes.add(mistake);
+                    }
+                }
+
+                log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
+            }
+        } catch (Exception e) {
+            log.info("出现错误,错误原因:" + e.getMessage());
+        }
+        log.info("处理完成导入数据");
+
+        log.info("开始执行数据库导入");
+        if (!houseList.isEmpty()) {
+            log.info("执行数据库导入房屋");
+            comMngPopulationHouseDAO.insertAll(houseList);
+            log.info("数据库导入房屋完成");
+        }
+        if (!saveList.isEmpty()) {
+            log.info("执行数据库导入人口");
+            this.baseMapper.insertAll(saveList);
+            log.info("数据库导入人口完成");
+        }
+        if (!updateList.isEmpty()) {
+            log.info("执行数据库更新人口");
+            this.updateBatchById(updateList);
+            // this.updateBatchById(updateList);
+            log.info("数据库更新人口完成");
+        }
+        if (!houseUserList.isEmpty()) {
+            log.info("执行数据库导入人口房屋关系");
+            comMngPopulationHouseUserService.saveBatch(houseUserList);
+            log.info("数据库导入人口房屋关系完成");
+        }
+        if (!savePopulationCommunityList.isEmpty()) {
+            log.info("执行数据库导入人口社区关系");
+            comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList);
+            log.info("数据库导入人口社区关系完成");
+        }
+        if (!updatePopulationCommunityList.isEmpty()) {
+            log.info("执行数据库更新人口社区关系");
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
+            log.info("数据库更新人口社区关系完成");
+        }
+        log.info("执行数据库导入完成");
+
+        if (!mistakes.isEmpty()) {
+            log.info("返回错误数据");
+            return R.fail(mistakes);
+        }
+        return R.ok(mistakes);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R listSavePensionPopulation(List<ComMngPopulationPensionExcelVO> list, Long communityId, Long userId) {
+        // 需要新增的房屋集合
+        List<ComMngPopulationHouseDO> houseList = new ArrayList<>();
+        // 需要新增的人口集合
+        List<ComMngPopulationDO> saveList = new ArrayList<>();
+        // 需要修改的人口集合
+        List<ComMngPopulationDO> updateList = new ArrayList<>();
+        // 需要新增的人口与房屋关系集合
+        List<ComMngPopulationHouseUserDO> houseUserList = new ArrayList<>();
+        // 需要新增的人口与社区关系集合
+        List<ComMngPopulationCommunityTagsDO> savePopulationCommunityList = new ArrayList<>();
+        // 需要新增的人口与社区关系集合
+        List<ComMngPopulationCommunityTagsDO> updatePopulationCommunityList = new ArrayList<>();
+
+        log.info("开始处理导入数据");
+        List<ComMngPopulationPensionMistakeExcelVO> mistakes = new ArrayList<>();
+        try {
+            // 查询社区信息
+            log.info("开始查询社区信息数据");
+            ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId);
+            if (populationActVO == null) {
+                log.error("未查询到社区信息");
+                return R.fail("未查询到社区信息");
+            }
+            log.info("开始查询社区信息数据完成");
+
+            // 查询当前社区标签列表
+            List<String> labelList = new ArrayList<>();
+            List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(null);
+            if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
+                labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName())
+                        .collect(Collectors.toList());
+            }
+
+            StringBuilder areaPath = new StringBuilder();
+            areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName())
+                    .append(">").append(populationActVO.getDistrictName()).append(">");
+            // 处理实有人口信息
+            Integer nub = 1;
+
+            // 查询所有人口数据放入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);
+            });
+            // 查询所有房屋信息放入到HashMap中
+            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
+            HashMap<String, Object> houseMap = new HashMap<>();
+            houseLists.forEach(house -> {
+                String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo()
+                        + house.getHouseNo();
+                houseMap.put(key, house);
+            });
+
+            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
+            HashMap<String, Object> villageMap = new HashMap<>();
+            villageList.forEach(village -> {
+                String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
+                villageMap.put(key, village);
+            });
+
+            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId);
+            HashMap<String, Object> houseUserMap = new HashMap<>();
+            houseUserLists.forEach(houseUser -> {
+                String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
+                houseUserMap.put(key, houseUser);
+            });
+
+            List<ComMngPopulationCommunityTagsDO> populationCommunityLists =
+                    comMngPopulationCommunityTagsDAO.selectList(null);
+            HashMap<String, Object> populationCommunityMap = new HashMap<>();
+            populationCommunityLists.forEach(populationCommunity -> {
+                String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + "";
+                populationCommunityMap.put(key, populationCommunity);
+            });
+
+            for (ComMngPopulationPensionExcelVO vo : list) {
+                if (vo.getDoorNo().contains("号")) {
+                    vo.setDoorNo(vo.getDoorNo().replace("号", ""));
+                }
+                if (StringUtils.isNotEmpty(vo.getFloor())) {
+                    if (vo.getFloor().contains("栋")) {
+                        vo.setFloor(vo.getFloor().replace("栋", ""));
+                    }
+                }
+                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
+                    if (vo.getUnitNo().contains("单元")) {
+                        vo.setUnitNo(vo.getUnitNo().replace("单元", ""));
+                    }
+                }
+                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
+                    if (vo.getHouseNo().contains("号")) {
+                        vo.setHouseNo(vo.getHouseNo().replace("号", ""));
+                    }
+                }
+                log.info("开始查询小区街路巷是否存在");
+                // 查询小区街路巷是否存在
+                ComMngVillageDO comMngVillageDO = null;
+                String villageKey = communityId + vo.getRoad() + vo.getDoorNo();
+                if (!isOnly(villageKey, villageMap)) {
+                    comMngVillageDO = (ComMngVillageDO)villageMap.get(villageKey);
+                } else {
+                    ComMngPopulationPensionMistakeExcelVO mistake = new ComMngPopulationPensionMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setPensionMistake(mistake, vo);
+                    mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo());
+                    mistakes.add(mistake);
+                    log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo());
+                    continue;
+                }
+                StringBuilder address = new StringBuilder();
+                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName())
+                        .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName())
+                        .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
+                if (StringUtils.isNotEmpty(vo.getFloor())) {
+                    address.append(vo.getFloor()).append("栋");
+                }
+                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
+                    address.append(vo.getUnitNo()).append("单元");
+                }
+                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
+                    address.append(vo.getHouseNo()).append("号");
+                }
+                vo.setAddress(address.toString());
+                log.info("开始查询小区街路巷是否存在完成");
+
+                log.info("开始查询房屋是否存在");
+                ComMngPopulationHouseDO populationHouseDO = null;
+                // 先判断房屋是否存在
+                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 =
+                                    savePensionPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
+                    }
+                    vo.setHouseId(populationHouseDO.getId());
+                    log.info("查询房屋是否存在完成");
+                }else {
+                    ComMngPopulationPensionMistakeExcelVO mistake = new ComMngPopulationPensionMistakeExcelVO();
+                    BeanUtils.copyProperties(vo, mistake);
+                    setPensionMistake(mistake, vo);
+                    mistake.setMistake("房屋数据填报不完整" );
+                    mistakes.add(mistake);
+                    log.info("房屋数据填报不完整");
+                    continue;
+                }
+
+                if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) {
+                    // 空户处理完房屋信息,直接返回
+                    continue;
+                }
+                // 判断实有人口是否已存在
+                log.info("开始查询实有人口是否已存在");
+                ComMngPopulationDO populationDO = null;
+                String populationKey = vo.getCardNo();
+                if (!isOnly(populationKey, populationMap)) {
+                    // 存在实有人口信息,则更新
+                    populationDO = (ComMngPopulationDO)populationMap.get(populationKey);
+                    ComMngPopulationDO updatePopulationDO =
+                            updatePensionPopulationDO(vo, populationDO, communityId, userId);
+                    updateList.add(updatePopulationDO);
+                } else {
+                    // 不存在实有人口,则新增
+                    populationDO = savePensionPopulationDO(vo, populationActVO, comMngVillageDO, userId);
+                    saveList.add(populationDO);
+                    populationMap.put(populationDO.getCardNo(),populationDO);
+                }
+                log.info("开始查询实有人口是否已存在完成");
+
+                log.info("开始查询实有人口房屋居住信息");
+                // 处理实有人口房屋居住信息
+                if (populationDO != null) {
+                    ComMngPopulationHouseUserDO populationHouseUserDO = null;
+                    String houseUserKey = populationDO.getId() + populationHouseDO.getId() + "";
+                    if (isOnly(houseUserKey, houseUserMap)) {
+                        populationHouseUserDO = new ComMngPopulationHouseUserDO();
+                        populationHouseUserDO.setId(Snowflake.getId());
+                        populationHouseUserDO.setHouseId(populationHouseDO.getId());
+                        populationHouseUserDO.setPopulId(populationDO.getId());
+                        // populationHouseUserDO.setRelation(vo.getRelation());
+                        populationHouseUserDO.setRelationId(vo.getIsRent());
+                        // populationHouseUserDO.setResidence(vo.getResidence());
+                        houseUserList.add(populationHouseUserDO);
+                    }
+                }
+                log.info("开始查询实有人口房屋居住信息完成");
+
+                log.info("开始查询实有人口存在社区信息");
+                // 处理实有人口与社区关系以及对应特殊群体标签
+                String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + "";
+                if (populationDO != null) {
+                    ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null;
+                    if (isOnly(populationCommunityKey, populationCommunityMap)) {
+                        // 实有人口不存在于当前社区
+                        cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO();
+                        cpopulationCommunityTagsDO.setId(Snowflake.getId());
+                        cpopulationCommunityTagsDO.setPopulationId(populationDO.getId());
+                        cpopulationCommunityTagsDO.setCommunityId(communityId);
+                        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0])
+                                .collect(Collectors.toList());
+                        // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
+                        Iterator<String> iterator = userTag.iterator();
+                        while (iterator.hasNext()) {
+                            String s = iterator.next();
+                            if (!labelList.contains(s))
+                                iterator.remove();
+                        }
+                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        cpopulationCommunityTagsDO.setCreateBy(userId);
+                        savePopulationCommunityList.add(cpopulationCommunityTagsDO);
+                    } else {
+                        // 实有人口存在于当前社区,则更新
+                        ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO =
+                                (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey);
+                        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0])
+                                .collect(Collectors.toList());
+                        // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
+                        Iterator<String> iterator = userTag.iterator();
+                        while (iterator.hasNext()) {
+                            String s = iterator.next();
+                            if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())
+                                    && comMngPopulationCommunityTagsDO.getLabel().contains(s)){
+                                iterator.remove();
+                            }
+                        }
+                        if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){
+                            for(String tag:userTag){
+                                if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){
+                                    comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag);
+                                }
+                            }
+                        }
+                        else{
+                            comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+                        }
+                        comMngPopulationCommunityTagsDO.setUpdateBy(userId);
+                        updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
+
+                        ComMngPopulationPensionMistakeExcelVO mistake = new ComMngPopulationPensionMistakeExcelVO();
+                        BeanUtils.copyProperties(vo, mistake);
+                        setPensionMistake(mistake, vo);
+                        mistake.setMistake("该实有人口已存在于该社区,执行更新");
+                        mistakes.add(mistake);
+                    }
+                }
+
+                log.info("查询实有人口存在社区信息完成");
+
+                log.info("开始处理楼栋信息");
+                List<ComMngBuildingDO> comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper<ComMngBuildingDO>().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor()));
+                if(comMngBuildingDOList.isEmpty()){
+	   ComMngBuildingDO  comMngBuildingDO=new ComMngBuildingDO();
+                   comMngBuildingDO.setId(Snowflake.getId());
+                   comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId());
+                   comMngBuildingDO.setName(vo.getFloor());
+                   comMngBuildingDO.setActId(comMngVillageDO.getCommunityId());
+                   comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId());
+                   comMngBuildingDAO.insert(comMngBuildingDO);
+                }
+            }
+        } catch (Exception e) {
+            log.info("出现错误,错误原因:" + e.getMessage());
+        }
+        log.info("处理完成导入数据");
+
+        log.info("开始执行数据库导入");
+        if (!houseList.isEmpty()) {
+            log.info("执行数据库导入房屋");
+            comMngPopulationHouseDAO.insertAll(houseList);
+            log.info("数据库导入房屋完成");
+        }
+        if (!saveList.isEmpty()) {
+            log.info("执行数据库导入人口");
+            this.baseMapper.insertAll(saveList);
+            log.info("数据库导入人口完成");
+        }
+        if (!updateList.isEmpty()) {
+            log.info("执行数据库更新人口");
+            this.updateBatchById(updateList);
+            // this.updateBatchById(updateList);
+            log.info("数据库更新人口完成");
+        }
+        if (!houseUserList.isEmpty()) {
+            log.info("执行数据库导入人口房屋关系");
+            comMngPopulationHouseUserService.saveBatch(houseUserList);
+            log.info("数据库导入人口房屋关系完成");
+        }
+        if (!savePopulationCommunityList.isEmpty()) {
+            log.info("执行数据库导入人口社区关系");
+            comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList);
+            log.info("数据库导入人口社区关系完成");
+        }
+        if (!updatePopulationCommunityList.isEmpty()) {
+            log.info("执行数据库更新人口社区关系");
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -3784,6 +4940,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());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -3810,7 +4970,7 @@
         Long communityId, Long userId) {
         BeanUtils.copyProperties(vo, populationDO);
         ComDrugPopulationDO comDrugPopulationDO = comDrugPopulationDAO.selectOne(new QueryWrapper<ComDrugPopulationDO>()
-            .lambda().eq(ComDrugPopulationDO::getPopulationId, populationDO.getId()));
+            .lambda().eq(ComDrugPopulationDO::getPopulationId, populationDO.getId()).eq(ComDrugPopulationDO::getCommunityId, communityId));
         // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
         // userTagStr.split("\\(")[0]).collect(Collectors.toList());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -3840,7 +5000,7 @@
             BeanUtils.copyProperties(vo, comDrugPopulationDO);
             comDrugPopulationDO.setId(Snowflake.getId());
             comDrugPopulationDO.setPopulationId(populationDO.getId());
-            comDrugPopulationDO.setCommunityId(populationDO.getActId());
+            comDrugPopulationDO.setCommunityId(communityId);
             comDrugPopulationDO.setStreetId(populationDO.getStreetId());
             comDrugPopulationDAO.insert(comDrugPopulationDO);
         }
@@ -3852,7 +5012,7 @@
         BeanUtils.copyProperties(vo, populationDO);
         ComCorrectPopulationDO comCorrectPopulationDO =
             comCorrectPopulationDAO.selectOne(new QueryWrapper<ComCorrectPopulationDO>().lambda()
-                .eq(ComCorrectPopulationDO::getPopulationId, populationDO.getId()));
+                .eq(ComCorrectPopulationDO::getPopulationId, populationDO.getId()).eq(ComCorrectPopulationDO::getCommunityId, communityId));
         // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
         // userTagStr.split("\\(")[0]).collect(Collectors.toList());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -3881,7 +5041,7 @@
             BeanUtils.copyProperties(vo, comCorrectPopulationDO);
             comCorrectPopulationDO.setId(Snowflake.getId());
             comCorrectPopulationDO.setPopulationId(populationDO.getId());
-            comCorrectPopulationDO.setCommunityId(populationDO.getActId());
+            comCorrectPopulationDO.setCommunityId(communityId);
             comCorrectPopulationDO.setStreetId(populationDO.getStreetId());
             comCorrectPopulationDAO.insert(comCorrectPopulationDO);
         }
@@ -3893,7 +5053,7 @@
         BeanUtils.copyProperties(vo, populationDO);
         ComMajorPopulationDO comMajorPopulationDO =
             comMajorPopulationDAO.selectOne(new QueryWrapper<ComMajorPopulationDO>().lambda()
-                .eq(ComMajorPopulationDO::getPopulationId, populationDO.getId()));
+                .eq(ComMajorPopulationDO::getPopulationId, populationDO.getId()).eq(ComMajorPopulationDO::getCommunityId, communityId));
         // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
         // userTagStr.split("\\(")[0]).collect(Collectors.toList());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -3922,7 +5082,7 @@
             BeanUtils.copyProperties(vo, comMajorPopulationDO);
             comMajorPopulationDO.setId(Snowflake.getId());
             comMajorPopulationDO.setPopulationId(populationDO.getId());
-            comMajorPopulationDO.setCommunityId(populationDO.getActId());
+            comMajorPopulationDO.setCommunityId(communityId);
             comMajorPopulationDO.setStreetId(populationDO.getStreetId());
             comMajorPopulationDAO.insert(comMajorPopulationDO);
         }
@@ -3933,7 +5093,7 @@
         Long communityId, Long userId) {
         BeanUtils.copyProperties(vo, populationDO);
         ComCultPopulationDO comCultPopulationDO = comCultPopulationDAO.selectOne(new QueryWrapper<ComCultPopulationDO>()
-            .lambda().eq(ComCultPopulationDO::getPopulationId, populationDO.getId()));
+            .lambda().eq(ComCultPopulationDO::getPopulationId, populationDO.getId()).eq(ComCultPopulationDO::getCommunityId, communityId));
         // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
         // userTagStr.split("\\(")[0]).collect(Collectors.toList());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -3962,7 +5122,7 @@
             BeanUtils.copyProperties(vo, comCultPopulationDO);
             comCultPopulationDO.setId(Snowflake.getId());
             comCultPopulationDO.setPopulationId(populationDO.getId());
-            comCultPopulationDO.setCommunityId(populationDO.getActId());
+            comCultPopulationDO.setCommunityId(communityId);
             comCultPopulationDO.setStreetId(populationDO.getStreetId());
             comCultPopulationDAO.insert(comCultPopulationDO);
         }
@@ -3974,7 +5134,7 @@
         BeanUtils.copyProperties(vo, populationDO);
         ComRehabilitationPopulationDO comRehabilitationPopulationDO =
             comRehabilitationPopulationDAO.selectOne(new QueryWrapper<ComRehabilitationPopulationDO>().lambda()
-                .eq(ComRehabilitationPopulationDO::getPopulationId, populationDO.getId()));
+                .eq(ComRehabilitationPopulationDO::getPopulationId, populationDO.getId()).eq(ComRehabilitationPopulationDO::getCommunityId, communityId));
         // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
         // userTagStr.split("\\(")[0]).collect(Collectors.toList());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -4003,7 +5163,7 @@
             BeanUtils.copyProperties(vo, comRehabilitationPopulationDO);
             comRehabilitationPopulationDO.setId(Snowflake.getId());
             comRehabilitationPopulationDO.setPopulationId(populationDO.getId());
-            comRehabilitationPopulationDO.setCommunityId(populationDO.getActId());
+            comRehabilitationPopulationDO.setCommunityId(communityId);
             comRehabilitationPopulationDO.setStreetId(populationDO.getStreetId());
             comRehabilitationPopulationDAO.insert(comRehabilitationPopulationDO);
         }
@@ -4015,7 +5175,7 @@
         Long communityId, Long userId) {
         BeanUtils.copyProperties(vo, populationDO);
         ComKeyPopulationDO comKeyPopulationDO = comKeyPopulationDAO.selectOne(new QueryWrapper<ComKeyPopulationDO>()
-            .lambda().eq(ComKeyPopulationDO::getPopulationId, populationDO.getId()));
+            .lambda().eq(ComKeyPopulationDO::getPopulationId, populationDO.getId()).eq(ComKeyPopulationDO::getCommunityId, communityId));
         // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
         // userTagStr.split("\\(")[0]).collect(Collectors.toList());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -4044,7 +5204,7 @@
             BeanUtils.copyProperties(vo, comKeyPopulationDO);
             comKeyPopulationDO.setId(Snowflake.getId());
             comKeyPopulationDO.setPopulationId(populationDO.getId());
-            comKeyPopulationDO.setCommunityId(populationDO.getActId());
+            comKeyPopulationDO.setCommunityId(communityId);
             comKeyPopulationDO.setStreetId(populationDO.getStreetId());
             comKeyPopulationDAO.insert(comKeyPopulationDO);
         }
@@ -4056,7 +5216,7 @@
         BeanUtils.copyProperties(vo, populationDO);
         ComSentencePopulationDO comSentencePopulationDO =
             comSentencePopulationDAO.selectOne(new QueryWrapper<ComSentencePopulationDO>().lambda()
-                .eq(ComSentencePopulationDO::getPopulationId, populationDO.getId()));
+                .eq(ComSentencePopulationDO::getPopulationId, populationDO.getId()).eq(ComSentencePopulationDO::getCommunityId, communityId));
         // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
         // userTagStr.split("\\(")[0]).collect(Collectors.toList());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -4085,7 +5245,7 @@
             BeanUtils.copyProperties(vo, comSentencePopulationDO);
             comSentencePopulationDO.setId(Snowflake.getId());
             comSentencePopulationDO.setPopulationId(populationDO.getId());
-            comSentencePopulationDO.setCommunityId(populationDO.getActId());
+            comSentencePopulationDO.setCommunityId(communityId);
             comSentencePopulationDO.setStreetId(populationDO.getStreetId());
             comSentencePopulationDAO.insert(comSentencePopulationDO);
         }
@@ -4097,7 +5257,7 @@
         BeanUtils.copyProperties(vo, populationDO);
         ComVeteransPopulationDO comVeteransPopulationDO =
             comVeteransPopulationDAO.selectOne(new QueryWrapper<ComVeteransPopulationDO>().lambda()
-                .eq(ComVeteransPopulationDO::getPopulationId, populationDO.getId()));
+                .eq(ComVeteransPopulationDO::getPopulationId, populationDO.getId()).eq(ComVeteransPopulationDO::getCommunityId, communityId));
         // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
         // userTagStr.split("\\(")[0]).collect(Collectors.toList());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -4126,7 +5286,7 @@
             BeanUtils.copyProperties(vo, comVeteransPopulationDO);
             comVeteransPopulationDO.setId(Snowflake.getId());
             comVeteransPopulationDO.setPopulationId(populationDO.getId());
-            comVeteransPopulationDO.setCommunityId(populationDO.getActId());
+            comVeteransPopulationDO.setCommunityId(communityId);
             comVeteransPopulationDO.setStreetId(populationDO.getStreetId());
             comVeteransPopulationDAO.insert(comVeteransPopulationDO);
         }
@@ -4138,7 +5298,7 @@
         BeanUtils.copyProperties(vo, populationDO);
         ComDisabilityPopulationDO comDisabilityPopulationDO =
             comDisabilityPopulationDAO.selectOne(new QueryWrapper<ComDisabilityPopulationDO>().lambda()
-                .eq(ComDisabilityPopulationDO::getPopulationId, populationDO.getId()));
+                .eq(ComDisabilityPopulationDO::getPopulationId, populationDO.getId()).eq(ComDisabilityPopulationDO::getCommunityId, communityId));
         // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
         // userTagStr.split("\\(")[0]).collect(Collectors.toList());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -4167,7 +5327,7 @@
             BeanUtils.copyProperties(vo, comDisabilityPopulationDO);
             comDisabilityPopulationDO.setId(Snowflake.getId());
             comDisabilityPopulationDO.setPopulationId(populationDO.getId());
-            comDisabilityPopulationDO.setCommunityId(populationDO.getActId());
+            comDisabilityPopulationDO.setCommunityId(communityId);
             comDisabilityPopulationDO.setStreetId(populationDO.getStreetId());
             comDisabilityPopulationDAO.insert(comDisabilityPopulationDO);
         }
@@ -4179,7 +5339,7 @@
         BeanUtils.copyProperties(vo, populationDO);
         ComLowSecurityPopulationDO comLowSecurityPopulationDO =
             comLowSecurityPopulationDAO.selectOne(new QueryWrapper<ComLowSecurityPopulationDO>().lambda()
-                .eq(ComLowSecurityPopulationDO::getPopulationId, populationDO.getId()));
+                .eq(ComLowSecurityPopulationDO::getPopulationId, populationDO.getId()).eq(ComLowSecurityPopulationDO::getCommunityId, communityId));
         // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
         // userTagStr.split("\\(")[0]).collect(Collectors.toList());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -4208,10 +5368,106 @@
             BeanUtils.copyProperties(vo, comLowSecurityPopulationDO);
             comLowSecurityPopulationDO.setId(Snowflake.getId());
             comLowSecurityPopulationDO.setPopulationId(populationDO.getId());
-            comLowSecurityPopulationDO.setCommunityId(populationDO.getActId());
+            comLowSecurityPopulationDO.setCommunityId(communityId);
             comLowSecurityPopulationDO.setStreetId(populationDO.getStreetId());
             comLowSecurityPopulationDAO.insert(comLowSecurityPopulationDO);
         }
+        return populationDO;
+    }
+
+    private ComMngPopulationDO updateElderPopulationDO(ComMngPopulationElderExcelVO vo,
+                                                             ComMngPopulationDO populationDO, Long communityId, Long userId) {
+        BeanUtils.copyProperties(vo, populationDO);
+        ComElderAuthElderliesDO comElderAuthElderliesDO =
+                comElderAuthElderliesDAO.selectOne(new QueryWrapper<ComElderAuthElderliesDO>().lambda()
+                        .eq(ComElderAuthElderliesDO::getPopulationId, populationDO.getId()).eq(ComElderAuthElderliesDO::getCommunityId, communityId));
+        String cardNoAES = populationDO.getCardNo();
+        try {
+            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
+        } catch (Exception e) {
+            log.error("身份证加密失败");
+        }
+        // populationDO.setLabel(Joiner.on(",").join(userTag));
+        populationDO.setActId(communityId);
+        populationDO.setCardNo(cardNoAES);
+        populationDO.setUpdateBy(userId);
+        if (comElderAuthElderliesDO != null) {
+            BeanUtils.copyProperties(vo, comElderAuthElderliesDO);
+            comElderAuthElderliesDO.setIdCard(cardNoAES);
+            comElderAuthElderliesDO.setAddress(vo.getNowAddress());
+            if (StringUtils.isNotEmpty(vo.getBirthday())) {
+                int age = AgeUtils.getAgeFromBirthTimes(vo.getBirthday());
+                if (age >= 80 && age < 90) {
+                    comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under90);
+                }else if (age >= 90 && age < 100){
+                    comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under100);
+                }else if (age >= 100){
+                    comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.above100);
+                }
+            }
+            comElderAuthElderliesDAO.updateById(comElderAuthElderliesDO);
+        } else {
+            comElderAuthElderliesDO = new ComElderAuthElderliesDO();
+            BeanUtils.copyProperties(vo, comElderAuthElderliesDO);
+            comElderAuthElderliesDO.setId(Snowflake.getId());
+            comElderAuthElderliesDO.setPopulationId(populationDO.getId());
+            comElderAuthElderliesDO.setCommunityId(communityId);
+            comElderAuthElderliesDO.setStreetId(populationDO.getStreetId());
+            comElderAuthElderliesDO.setIdCard(vo.getCardNo());
+            comElderAuthElderliesDO.setAddress(vo.getNowAddress());
+            if (StringUtils.isNotEmpty(vo.getBirthday())) {
+                int age = AgeUtils.getAgeFromBirthTimes(vo.getBirthday());
+                if (age >= 80 && age < 90) {
+                    comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under90);
+                }else if (age >= 90 && age < 100){
+                    comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under100);
+                }else if (age >= 100){
+                    comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.above100);
+                }
+            }
+            comElderAuthElderliesDAO.insert(comElderAuthElderliesDO);
+        }
+
+        //维护养老认证健在状态
+        comPensionAuthPensionerDAO.editPensionIsAlive(populationDO.getId(),vo.getIsAlive());
+        return populationDO;
+    }
+
+    private ComMngPopulationDO updatePensionPopulationDO(ComMngPopulationPensionExcelVO vo,
+                                                       ComMngPopulationDO populationDO, Long communityId, Long userId) {
+        BeanUtils.copyProperties(vo, populationDO);
+        ComPensionAuthPensionerDO comPensionAuthPensionerDO =
+                comPensionAuthPensionerDAO.selectOne(new QueryWrapper<ComPensionAuthPensionerDO>().lambda()
+                        .eq(ComPensionAuthPensionerDO::getPopulationId, populationDO.getId())
+                        .eq(ComPensionAuthPensionerDO::getCommunityId, communityId));
+        String cardNoAES = populationDO.getCardNo();
+        try {
+            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
+        } catch (Exception e) {
+            log.error("身份证加密失败");
+        }
+        // populationDO.setLabel(Joiner.on(",").join(userTag));
+        populationDO.setActId(communityId);
+        populationDO.setCardNo(cardNoAES);
+        populationDO.setUpdateBy(userId);
+        if (comPensionAuthPensionerDO != null) {
+            BeanUtils.copyProperties(vo, comPensionAuthPensionerDO);
+            comPensionAuthPensionerDO.setIdCard(cardNoAES);
+            comPensionAuthPensionerDO.setAddress(vo.getNowAddress());
+            comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO);
+        } else {
+            comPensionAuthPensionerDO = new ComPensionAuthPensionerDO();
+            BeanUtils.copyProperties(vo, comPensionAuthPensionerDO);
+            comPensionAuthPensionerDO.setId(Snowflake.getId());
+            comPensionAuthPensionerDO.setPopulationId(populationDO.getId());
+            comPensionAuthPensionerDO.setCommunityId(populationDO.getActId());
+            comPensionAuthPensionerDO.setStreetId(populationDO.getStreetId());
+            comPensionAuthPensionerDO.setIdCard(vo.getCardNo());
+            comPensionAuthPensionerDO.setAddress(vo.getNowAddress());
+            comPensionAuthPensionerDAO.insert(comPensionAuthPensionerDO);
+        }
+        //维护高龄老人健在状态
+        comElderAuthElderliesDAO.editEditIsAlive(populationDO.getId(),vo.getIsAlive());
         return populationDO;
     }
 
@@ -4219,6 +5475,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());
@@ -4237,6 +5497,7 @@
         populationDO.setVillageName(comMngVillageDO.getGroupAt());
         populationDO.setCardNoStr(vo.getCardNo());
         populationDO.setUpdateAt(new Date());
+        populationDO.setDeath(vo.getDeath().toString());
 
         String cardNoAES = populationDO.getCardNo();
         try {
@@ -4768,6 +6029,112 @@
         return populationDO;
     }
 
+    private ComMngPopulationDO saveElderPopulationDO(ComMngPopulationElderExcelVO vo,
+                                                           ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO, Long userId, Long communityId) {
+        ComMngPopulationDO populationDO = new ComMngPopulationDO();
+        ComElderAuthElderliesDO comElderAuthElderliesDO = new ComElderAuthElderliesDO();
+        BeanUtils.copyProperties(vo, populationDO);
+        BeanUtils.copyProperties(vo, comElderAuthElderliesDO);
+        Long populationId = Snowflake.getId();
+        populationDO.setId(populationId);
+        comElderAuthElderliesDO.setPopulationId(populationId);
+        populationDO.setVillageId(comMngVillageDO.getVillageId());
+        populationDO.setActId(comActDO.getCommunityId());
+        populationDO.setStreetId(comActDO.getStreetId());
+        // populationDO.setLabel(Joiner.on(",").join(userTag));
+        populationDO.setVillageName(comMngVillageDO.getGroupAt());
+        populationDO.setCardNoStr(vo.getCardNo());
+        populationDO.setUpdateAt(new Date());
+
+        String cardNoAES = populationDO.getCardNo();
+        try {
+            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
+        } catch (Exception e) {
+            log.error("身份证加密失败");
+        }
+        populationDO.setCardNo(cardNoAES);
+        populationDO.setCreateBy(userId);
+        // 新增的时候默认绑定房屋id
+        // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
+        // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
+        // populationDO.setHouseId(vo.getHouseId());
+        // }else{
+        // populationDO.setHouseId(null);
+        // }
+
+        // this.baseMapper.insert(populationDO);
+        comElderAuthElderliesDO.setId(Snowflake.getId());
+        comElderAuthElderliesDO.setCommunityId(comActDO.getCommunityId());
+        comElderAuthElderliesDO.setStreetId(comActDO.getStreetId());
+        comElderAuthElderliesDO.setIdCard(vo.getCardNo());
+        comElderAuthElderliesDO.setAddress(vo.getNowAddress());
+        if (StringUtils.isNotEmpty(vo.getBirthday())) {
+            int age = AgeUtils.getAgeFromBirthTimes(vo.getBirthday());
+            if (age >= 80 && age < 90) {
+                comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under90);
+            }else if (age >= 90 && age < 100){
+                comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under100);
+            }else if (age >= 100){
+                comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.above100);
+            }
+        }
+        comElderAuthElderliesDAO.insert(comElderAuthElderliesDO);
+        return populationDO;
+    }
+
+    private ComMngPopulationDO savePensionPopulationDO(ComMngPopulationPensionExcelVO vo,
+                                                     ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO, Long userId) {
+        ComMngPopulationDO populationDO = new ComMngPopulationDO();
+        ComPensionAuthPensionerDO comPensionAuthPensionerDO = new ComPensionAuthPensionerDO();
+        BeanUtils.copyProperties(vo, populationDO);
+        BeanUtils.copyProperties(vo, comPensionAuthPensionerDO);
+        Long populationId = Snowflake.getId();
+        populationDO.setId(populationId);
+        comPensionAuthPensionerDO.setPopulationId(populationId);
+        // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
+        // userTagStr.split("\\(")[0]).collect(Collectors.toList());
+        //
+        // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
+        // Iterator<String> iterator = userTag.iterator();
+        // while (iterator.hasNext()) {
+        // String s = iterator.next();
+        // if (!labelList.contains(s))
+        // iterator.remove();
+        // }
+        populationDO.setVillageId(comMngVillageDO.getVillageId());
+        populationDO.setActId(comActDO.getCommunityId());
+        populationDO.setStreetId(comActDO.getStreetId());
+        // populationDO.setLabel(Joiner.on(",").join(userTag));
+        populationDO.setVillageName(comMngVillageDO.getGroupAt());
+        populationDO.setCardNoStr(vo.getCardNo());
+        populationDO.setUpdateAt(new Date());
+
+        String cardNoAES = populationDO.getCardNo();
+        try {
+            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
+        } catch (Exception e) {
+            log.error("身份证加密失败");
+        }
+        populationDO.setCardNo(cardNoAES);
+        populationDO.setCreateBy(userId);
+        // 新增的时候默认绑定房屋id
+        // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
+        // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
+        // populationDO.setHouseId(vo.getHouseId());
+        // }else{
+        // populationDO.setHouseId(null);
+        // }
+
+        // this.baseMapper.insert(populationDO);
+        comPensionAuthPensionerDO.setId(Snowflake.getId());
+        comPensionAuthPensionerDO.setCommunityId(comActDO.getCommunityId());
+        comPensionAuthPensionerDO.setStreetId(comActDO.getStreetId());
+        comPensionAuthPensionerDO.setIdCard(vo.getCardNo());
+        comPensionAuthPensionerDO.setAddress(vo.getNowAddress());
+        comPensionAuthPensionerDAO.insert(comPensionAuthPensionerDO);
+        return populationDO;
+    }
+
     private ComMngPopulationHouseDO savePopulationHouse(ComMngPopulationServeExcelVO vo,
         ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) {
         // 查询该房屋未建立,执行建立房屋信息
@@ -5241,6 +6608,92 @@
         return populationHouseDO;
     }
 
+    private ComMngPopulationHouseDO saveElderPopulationHouse(ComMngPopulationElderExcelVO vo,
+                                                                   ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) {
+        // 查询该房屋未建立,执行建立房屋信息
+        ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO();
+        populationHouseDO.setId(Snowflake.getId());
+        populationHouseDO.setStreetId(comMngVillageDO.getStreetId());
+        populationHouseDO.setVillageId(comMngVillageDO.getVillageId());
+        populationHouseDO.setAlley(vo.getRoad());
+        populationHouseDO.setHouseNum(vo.getDoorNo());
+        populationHouseDO.setStatus(vo.getIsRent());
+        populationHouseDO.setCommunityId(communityId);
+        populationHouseDO.setFloor(vo.getFloor());
+        populationHouseDO.setUnitNo(vo.getUnitNo());
+        populationHouseDO.setHouseNo(vo.getHouseNo());
+        populationHouseDO.setCode(vo.getHouseNo());
+        populationHouseDO.setAddress(vo.getAddress());
+        populationHouseDO.setUpdateAt(new Date());
+//         populationHouseDO.setConstructPurpose(vo.getHousePurpose());
+        StringBuilder housePath = new StringBuilder();
+        housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">")
+                .append(comMngVillageDO.getName()).append(">").append(vo.getAddress());
+        populationHouseDO.setPath(areaPath.toString() + housePath.toString());
+        // try {
+        // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea()));
+        // } catch (Exception e) {
+        // }
+
+        if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) {
+            populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode());
+        }
+        if (vo.getHouseStatus() != null) {
+            populationHouseDO.setStatus(vo.getHouseStatus());
+        }
+        if (vo.getHousePurpose() != null) {
+            populationHouseDO.setPurpose(vo.getHousePurpose());
+        }
+        if (vo.getControlStatus() != null) {
+            populationHouseDO.setControlStatus(vo.getControlStatus());
+        }
+        // comMngPopulationHouseDAO.insert(populationHouseDO);
+        return populationHouseDO;
+    }
+
+    private ComMngPopulationHouseDO savePensionPopulationHouse(ComMngPopulationPensionExcelVO vo,
+                                                             ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) {
+        // 查询该房屋未建立,执行建立房屋信息
+        ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO();
+        populationHouseDO.setId(Snowflake.getId());
+        populationHouseDO.setStreetId(comMngVillageDO.getStreetId());
+        populationHouseDO.setVillageId(comMngVillageDO.getVillageId());
+        populationHouseDO.setAlley(vo.getRoad());
+        populationHouseDO.setHouseNum(vo.getDoorNo());
+        populationHouseDO.setStatus(vo.getIsRent());
+        populationHouseDO.setCommunityId(communityId);
+        populationHouseDO.setFloor(vo.getFloor());
+        populationHouseDO.setUnitNo(vo.getUnitNo());
+        populationHouseDO.setHouseNo(vo.getHouseNo());
+        populationHouseDO.setCode(vo.getHouseNo());
+        populationHouseDO.setAddress(vo.getAddress());
+        populationHouseDO.setUpdateAt(new Date());
+//         populationHouseDO.setConstructPurpose(vo.getHousePurpose());
+        StringBuilder housePath = new StringBuilder();
+        housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">")
+                .append(comMngVillageDO.getName()).append(">").append(vo.getAddress());
+        populationHouseDO.setPath(areaPath.toString() + housePath.toString());
+        // try {
+        // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea()));
+        // } catch (Exception e) {
+        // }
+
+        if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) {
+            populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode());
+        }
+        if (vo.getHouseStatus() != null) {
+            populationHouseDO.setStatus(vo.getHouseStatus());
+        }
+        if (vo.getHousePurpose() != null) {
+            populationHouseDO.setPurpose(vo.getHousePurpose());
+        }
+        if (vo.getControlStatus() != null) {
+            populationHouseDO.setControlStatus(vo.getControlStatus());
+        }
+        // comMngPopulationHouseDAO.insert(populationHouseDO);
+        return populationHouseDO;
+    }
+
     private ComMngPopulationHouseUserDO savePopulationHouseUser(ComMngPopulationServeExcelVO vo,
         ComMngPopulationDO comMngPopulationDO, ComMngPopulationHouseDO comMngPopulationHouseDO) {
         // 查询该房屋未建立,执行建立房屋信息
@@ -5359,23 +6812,18 @@
     /**
      * 批量删除实有人口
      *
-     * @param Ids
-     * @return
+     * @param ids 实有人口id集合
+     * @return  删除结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public R deletePopulations(List<Long> Ids) {
-        if (!Ids.isEmpty()) {
-            Ids.forEach(id -> {
-                // 清除用户房屋居住信息
-                comMngPopulationHouseUserDAO.deletePopulationHouseByUserId(id);
-            });
+    public R deletePopulations(List<Long> ids, Long 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));
         }
-        int delete = populationDAO.deleteBatchIds(Ids);
-        if (delete > 0) {
-            return R.ok();
-        }
-        return R.fail();
+        return R.ok();
     }
 
     /**
@@ -5430,6 +6878,10 @@
             list.forEach(populationDO -> {
                 ComMngPopulationVO populationVO = new ComMngPopulationVO();
                 BeanUtils.copyProperties(populationDO, populationVO);
+                ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO=comMngPopulationCommunityTagsDAO.selectOne(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda().eq(ComMngPopulationCommunityTagsDO::getPopulationId,populationDO.getId()));
+                if(comMngPopulationCommunityTagsDO!=null){
+                    populationVO.setLabel(comMngPopulationCommunityTagsDO.getLabel());
+                }
                 resultList.add(populationVO);
             });
         }
@@ -5457,6 +6909,16 @@
             populationDO.setActId(comActDO.getCommunityId());
             populationDO.setStreetId(comActDO.getStreetId());
         }
+
+        //修改人员标签
+        List<ComMngPopulationCommunityTagsDO> communityTagsDOList = comMngPopulationCommunityTagsDAO
+                .selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda()
+                .eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)
+                .eq(ComMngPopulationCommunityTagsDO::getPopulationId,vo.getId()));
+        communityTagsDOList.forEach(communityTags -> {
+            communityTags.setLabel(vo.getLabel());
+            comMngPopulationCommunityTagsDAO.updateById(communityTags);
+        });
 
         // 查询当前用户所有房屋id
         List<Long> houseIds = comMngPopulationHouseUserDAO.getPopulationHouseIdByUserId(vo.getId());
@@ -5532,6 +6994,83 @@
         // comMngPopulationHouseUserDO.setCreateAt(new Date());
         // comMngPopulationHouseUserDAO.insert(comMngPopulationHouseUserDO);
         // }
+        //修改吸毒人员信息
+        if (null != vo.getComDrugPopulationVO()) {
+            ComDrugPopulationVO comDrugPopulationVO = vo.getComDrugPopulationVO();
+            ComDrugPopulationDO comDrugPopulationDO = comDrugPopulationDAO.selectById(comDrugPopulationVO.getId());
+            BeanUtils.copyProperties(comDrugPopulationVO, comDrugPopulationDO);
+            comDrugPopulationDAO.updateById(comDrugPopulationDO);
+        }
+        //修改社区矫正人员信息
+        if (null != vo.getComCorrectPopulationVO()) {
+            ComCorrectPopulationVO comCorrectPopulationVO = vo.getComCorrectPopulationVO();
+            ComCorrectPopulationDO comCorrectPopulationDO = comCorrectPopulationDAO.selectById(comCorrectPopulationVO.getId());
+            BeanUtils.copyProperties(comCorrectPopulationVO, comCorrectPopulationDO);
+            comCorrectPopulationDAO.updateById(comCorrectPopulationDO);
+        }
+        //修改精神障碍信息
+        if (null != vo.getComMajorPopulationVO()) {
+            ComMajorPopulationVO comMajorPopulationVO = vo.getComMajorPopulationVO();
+            ComMajorPopulationDO comCorrectPopulationDO = comMajorPopulationDAO.selectById(comMajorPopulationVO.getId());
+            BeanUtils.copyProperties(comMajorPopulationVO, comCorrectPopulationDO);
+            comMajorPopulationDAO.updateById(comCorrectPopulationDO);
+        }
+        //修改邪教信息
+        if (null != vo.getComCultPopulationVO()) {
+            ComCultPopulationVO comCultPopulationVO = vo.getComCultPopulationVO();
+            ComCultPopulationDO comCultPopulationDO = comCultPopulationDAO.selectById(comCultPopulationVO.getId());
+            BeanUtils.copyProperties(comCultPopulationVO, comCultPopulationDO);
+            comCultPopulationDAO.updateById(comCultPopulationDO);
+        }
+        //修改刑释信息
+        if (null != vo.getComRehabilitationPopulationVO()) {
+            ComRehabilitationPopulationVO comRehabilitationPopulationVO = vo.getComRehabilitationPopulationVO();
+            ComRehabilitationPopulationDO comRehabilitationPopulationDO = comRehabilitationPopulationDAO.selectById(comRehabilitationPopulationVO.getId());
+            BeanUtils.copyProperties(comRehabilitationPopulationVO, comRehabilitationPopulationDO);
+            comRehabilitationPopulationDAO.updateById(comRehabilitationPopulationDO);
+        }
+        //修改上访信息
+        if (null != vo.getComKeyPopulationVO()) {
+            ComKeyPopulationVO comKeyPopulationVO = vo.getComKeyPopulationVO();
+            ComKeyPopulationDO comKeyPopulationDO = comKeyPopulationDAO.selectById(comKeyPopulationVO.getId());
+            BeanUtils.copyProperties(comKeyPopulationVO, comKeyPopulationDO);
+            comKeyPopulationDAO.updateById(comKeyPopulationDO);
+        }
+        //修改退役军人信息
+        if (null != vo.getComVeteransPopulationVO()) {
+            ComVeteransPopulationVO comVeteransPopulationVO = vo.getComVeteransPopulationVO();
+            ComVeteransPopulationDO comVeteransPopulationDO = comVeteransPopulationDAO.selectById(comVeteransPopulationVO.getId());
+            BeanUtils.copyProperties(comVeteransPopulationVO, comVeteransPopulationDO);
+            comVeteransPopulationDAO.updateById(comVeteransPopulationDO);
+        }
+        //修改残疾人信息
+        if (null != vo.getComDisabilityPopulationVO()) {
+            ComDisabilityPopulationVO comDisabilityPopulationVO = vo.getComDisabilityPopulationVO();
+            ComDisabilityPopulationDO comDisabilityPopulationDO = comDisabilityPopulationDAO.selectById(comDisabilityPopulationVO.getId());
+            BeanUtils.copyProperties(comDisabilityPopulationVO, comDisabilityPopulationDO);
+            comDisabilityPopulationDAO.updateById(comDisabilityPopulationDO);
+        }
+        //修改低保户信息
+        if (null != vo.getComLowSecurityPopulationVO()) {
+            ComLowSecurityPopulationVO comLowSecurityPopulationVO = vo.getComLowSecurityPopulationVO();
+            ComLowSecurityPopulationDO comLowSecurityPopulationDO = comLowSecurityPopulationDAO.selectById(comLowSecurityPopulationVO.getId());
+            BeanUtils.copyProperties(comLowSecurityPopulationVO, comLowSecurityPopulationDO);
+            comLowSecurityPopulationDAO.updateById(comLowSecurityPopulationDO);
+        }
+        //修改高龄老人信息
+        if (null != vo.getComElderAuthElderliesVO()) {
+            ComElderAuthElderliesVO comElderAuthElderliesVO = vo.getComElderAuthElderliesVO();
+            ComElderAuthElderliesDO comElderAuthElderliesDO = comElderAuthElderliesDAO.selectById(comElderAuthElderliesVO.getId());
+            BeanUtils.copyProperties(comElderAuthElderliesVO, comElderAuthElderliesDO);
+            comElderAuthElderliesDAO.updateById(comElderAuthElderliesDO);
+        }
+        //修改养老人员信息
+        if (null != vo.getComPensionAuthPensionerVO()) {
+            ComPensionAuthPensionerVO comPensionAuthPensionerVO = vo.getComPensionAuthPensionerVO();
+            ComPensionAuthPensionerDO comPensionAuthPensionerDO = comPensionAuthPensionerDAO.selectById(comPensionAuthPensionerVO.getId());
+            BeanUtils.copyProperties(comPensionAuthPensionerVO, comPensionAuthPensionerDO);
+            comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO);
+        }
         if (populationDAO.updateById(populationDO) > 0) {
             return R.ok();
         } else {
@@ -5543,6 +7082,19 @@
     public R specialInputUser(PageInputUserDTO pageInputUserDTO) {
         IPage<InputUserInfoVO> iPage = populationDAO.specialInputUser(
             new Page<>(pageInputUserDTO.getPageNum(), pageInputUserDTO.getPageSize()), pageInputUserDTO);
+        if(iPage!=null){
+            iPage.getRecords().forEach(page -> {
+                if(page.getAreaName() == null || StringUtils.isEmpty(page.getAreaName())){
+                    StringBuilder sb = new StringBuilder();
+                    sb.append(page.getAlley());
+                    if(!page.getHouseNum().contains("号")){
+                        sb.append(page.getHouseNum() + "号");
+                    }
+                    page.setAreaName(sb.toString());
+                }
+            });
+        }
+
         return R.ok(iPage);
     }
 
@@ -5554,13 +7106,24 @@
      * @return 删除结果
      */
     @Override
-    public R deleteSpecialInputUser(Long id) {
+    public R deleteSpecialInputUser(Long id,Long communityId) {
         // 查询特殊群体人员
         ComMngPopulationDO populationDO = this.baseMapper.selectById(id);
         if (populationDO == null) {
             return R.fail("未查询到该记录");
         }
         populationDO.setLabel(null);
+
+        //  清理社区与人口关联信息的label信息
+        List<ComMngPopulationCommunityTagsDO> communityTagsDOList = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>()
+                .lambda().eq(ComMngPopulationCommunityTagsDO::getPopulationId,id).eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
+        if(communityTagsDOList != null && communityTagsDOList.size() > 0){
+            communityTagsDOList.forEach(communityTags -> {
+                communityTags.setLabel(null);
+                comMngPopulationCommunityTagsDAO.updateById(communityTags);
+            });
+        }
+
         if (this.baseMapper.updateById(populationDO) > 0) {
             return R.ok();
         } else {
@@ -5585,7 +7148,7 @@
             }
             ComMngUserTagDO checkCreditCode = comMngUserTagDAO.selectOne(
                 new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName, comMngTagVO.getTagName()));
-            if (null != checkCreditCode && comMngUserTagDO.getId() != checkCreditCode.getId()) {
+            if (null != checkCreditCode && !comMngUserTagDO.getId().equals(checkCreditCode.getId())) {
                 return R.fail("该标签已存在,标签名称重复");
             }
 
@@ -5597,8 +7160,7 @@
         } else {
             // 新增
             Integer count = comMngUserTagDAO.selectCount(
-                new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName, comMngTagVO.getTagName())
-                    .eq(ComMngUserTagDO::getCommunityId, comMngTagVO.getCommunityId()));
+                new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName, comMngTagVO.getTagName()));
             if (count > 0) {
                 return R.fail("该标签已存在,标签名称重复");
             }
@@ -5841,13 +7403,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);
@@ -5855,13 +7420,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("age65").intValue()+ageMap.get("age75").intValue();
             ageStatisticsVO1.setSum(ageMap.get("age16").intValue());
-            ageStatisticsVO2.setSum(ageMap.get("age27").intValue());
-            ageStatisticsVO3.setSum(ageMap.get("age35").intValue());
-            ageStatisticsVO4.setSum(ageMap.get("age45").intValue());
-            ageStatisticsVO5.setSum(ageMap.get("age55").intValue());
-            ageStatisticsVO6.setSum(ageMap.get("age55over").intValue());
+            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);
@@ -5870,6 +7476,8 @@
         agePopulationList.add(ageStatisticsVO4);
         agePopulationList.add(ageStatisticsVO5);
         agePopulationList.add(ageStatisticsVO6);
+        agePopulationList.add(ageStatisticsVO7);
+        agePopulationList.add(ageStatisticsVO8);
         return agePopulationList;
     }
 
@@ -5990,7 +7598,7 @@
         // 查询特殊人群统计
         List<IndexSpecialStatisticsVO> specialStatisticsVOList = new ArrayList<>();
 
-        // 查询特殊人群标签列表
+        //查询特殊人群标签列表
         List<ComMngUserTagVO> userTagList = comMngPopulationDAO.getUserTagListByCommunityId(communityId);
         IndexSpecialStatisticsVO otherSpecialVO = new IndexSpecialStatisticsVO();
         otherSpecialVO.setTitle("其他");
@@ -6074,8 +7682,49 @@
 
         // 查询小区列表
         List<CivilVillageStatisticsVO> villageStatisticsList = this.baseMapper.getCivilScreenVillageList(communityId);
+//        villageStatisticsList.forEach(civilVillageStatisticsVO -> {
+//            civilVillageStatisticsVO.setUserSum(comMngPopulationDAO.selectCount(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getVillageId,civilVillageStatisticsVO.getVillageId())));
+//            List<IndexSpecialStatisticsVO> specialStatisticsVOS = new ArrayList<>();
+//            IndexSpecialStatisticsVO otherSpecial = new IndexSpecialStatisticsVO();
+//            otherSpecial.setTitle("其他");
+//            otherSpecial.setSum(0);
+//            // 查询特殊人群标签列表
+//            List<ComMngUserTagVO> userTagVOS = comMngPopulationDAO.getUserTagListByCommunityId(communityId);
+//
+//            userTagVOS.forEach(comMngUserTagVO -> {
+//              Integer count=comMngPopulationDAO.selectCountByVillageId(civilVillageStatisticsVO.getVillageId(),comMngUserTagVO.getTagName());
+//              IndexSpecialStatisticsVO indexSpecialStatisticsVO=new IndexSpecialStatisticsVO();
+//              indexSpecialStatisticsVO.setTitle(comMngUserTagVO.getTagName());
+//              indexSpecialStatisticsVO.setSum(count);
+//              otherSpecial.setSum(otherSpecial.getSum()+count);
+//              specialStatisticsVOS.add(indexSpecialStatisticsVO);
+//            });
+//            otherSpecial.setSum(civilVillageStatisticsVO.getUserSum()-otherSpecial.getSum());
+//            specialStatisticsVOS.add(otherSpecial);
+//            civilVillageStatisticsVO.setSpecialStatisticsList(specialStatisticsVOS);
+//        });
         civilStatisticsVO.setVillageStatisticsList(villageStatisticsList);
 
+        //查询党建引领数据
+        CivilPartyStatisticsVO civilParty = this.baseMapper.getCivilParty(communityId);
+        if(civilParty != null){
+            civilStatisticsVO.setCivilPartyStatisticsVO(civilParty);
+        }
+        //查询社区治理数据
+        CivilGovernmentStatisticsVO civilGovernment = this.baseMapper.getCivilGovernment(communityId);
+        if(civilGovernment != null){
+            civilStatisticsVO.setCivilGovernmentStatisticsVO(civilGovernment);
+        }
+        //查询网格管理数据
+        CivilGridStatisticsVO civilGrid = this.baseMapper.getCivilGrid(communityId);
+        if(civilGrid != null){
+            civilStatisticsVO.setCivilGridStatisticsVO(civilGrid);
+        }
+        //查询便民服务数据
+        CivilConvenienceStatisticsVO civilConvenience = this.baseMapper.getCivilConvenience(communityId);
+        if(civilConvenience != null){
+            civilStatisticsVO.setCivilConvenienceStatisticsVO(civilConvenience);
+        }
         return R.ok(civilStatisticsVO);
     }
 
@@ -6284,14 +7933,23 @@
     @Override
     public R getScreenEventDetail(BigScreenEventDetailDTO eventDetailDTO) {
         EventNewStatisticsVO statisticsVO = new EventNewStatisticsVO();
-        if (eventDetailDTO.getType().equals(7)) {// 随手拍详情
-            statisticsVO = this.baseMapper.getEventScreenSSPDateil(eventDetailDTO.getEventId());
+        Integer eventType = eventDetailDTO.getEventType();
+        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);
                 statisticsVO.setUrgent(false);
-                if (statisticsVO.getEventDealStatus().equals(2)) {
-                    statisticsVO.setEventDealStatus(4);
+                if (statisticsVO.getEventDealStatus().equals(2)||statisticsVO.getEventDealStatus().equals(1)) {
+                    statisticsVO.setEventDealStatus(1);
+                }
+                else {
+                    statisticsVO.setEventDealStatus(2);
                 }
                 List<EventResourceVO> picList = new ArrayList<>();
                 String[] pics = statisticsVO.getPhotoPathList().split(",");
@@ -6374,6 +8032,14 @@
      */
     @Override
     public R pagePopulationListApp(PagePopulationListDTO populationListDTO) {
+        if(populationListDTO.getLabel() != null && "户籍人口".equals(populationListDTO.getLabel())){
+            populationListDTO.setLabel(null);
+            populationListDTO.setOutOrLocal(PagePopulationListDTO.outOrLocal.bd);
+        }
+        if(populationListDTO.getLabel() != null && "流动人口".equals(populationListDTO.getLabel())){
+            populationListDTO.setLabel(null);
+            populationListDTO.setOutOrLocal(PagePopulationListDTO.outOrLocal.wd);
+        }
         IPage<PopulationListVO> pagePopulationList = this.baseMapper.pagePopulationListApp(
             new Page(populationListDTO.getPageNum(), populationListDTO.getPageSize()), populationListDTO);
         if (!pagePopulationList.getRecords().isEmpty()) {
@@ -6403,6 +8069,10 @@
             if (StringUtils.isNotEmpty(detail.getMarriage())) {
                 detail.setMarriage(PopulMarriageEnum.getCnDescByName(Integer.parseInt(detail.getMarriage())));
             }
+            //查询该人口的标签
+            List<ComMngPopulationCommunityTagsVo> communityTagsList = this.baseMapper.getCommunityTagList(populationId);
+            String label = LabelUtils.assembleLabel(communityTagsList);
+            detail.setLabel(label);
         }
         return R.ok(detail);
     }
@@ -6431,7 +8101,7 @@
 
     /**
      * 综治后台-居民列表
-     * 
+     *
      * @param populationListDTO
      *            请求参数
      * @return 居民列表
@@ -6471,7 +8141,7 @@
 
     /**
      * 综治后台-删除居民
-     * 
+     *
      * @param ids
      *            居民id集合
      * @return 删除结果
@@ -6480,10 +8150,12 @@
     public R delGridPopulationAdmin(List<Long> ids) {
         Integer count = this.baseMapper.getPopulationVisitingCount(ids);
         if (count > 0) {
-            return R.ok("您选择的数据中存在被引用的,无法删除");
+            return R.fail("您选择的数据中存在被引用的,无法删除");
         }
         this.baseMapper.deleteBatchIds(ids);
-        return R.ok();
+        //删除人口并删除人口和社区关联关系
+        this.baseMapper.deletePopulaitonRelation(ids);
+        return R.ok("删除成功");
     }
 
     @Override
@@ -6511,7 +8183,7 @@
 
     /**
      * 查询平台人口列表
-     * 
+     *
      * @param populationDTO
      *            请求参数
      * @return 人口列表
@@ -6536,7 +8208,7 @@
 
     /**
      * 综治后台-居民标签栏统计
-     * 
+     *
      * @return 居民统计
      */
     @Override
@@ -6546,7 +8218,7 @@
 
     /**
      * 综治后台-居民导出查询居民数据
-     * 
+     *
      * @param populationExportDTO
      *            请求参数
      * @return 导出结果
@@ -6594,7 +8266,7 @@
 
     /**
      * 综治后台-居民管理小区列表
-     * 
+     *
      * @param name
      *            小区名字
      * @return 小区列表
@@ -6622,6 +8294,258 @@
     public R getVillagePopulationAdmin(PageComMngVillagePopulationDTO villagePopulationDTO) {
         return R.ok(this.baseMapper.getVillagePopulationAdmin(
             new Page(villagePopulationDTO.getPageNum(), villagePopulationDTO.getPageSize()), villagePopulationDTO));
+    }
+
+    @Override
+    public R specialInputUserExport(PageInputUserDTO pageInputUserDTO) {
+        return R.ok(this.comMngPopulationDAO.specialInputUserExport(pageInputUserDTO));
+    }
+
+    @Override
+    public R westScreenStatics() {
+        WestScreenStatics westScreenStatics=this.comMngPopulationDAO.westScreenStatics();
+        WxDataUtil wxDataUtil=new WxDataUtil();
+        westScreenStatics.setDayUser(wxDataUtil.getDayUser());
+        westScreenStatics.setCountUser(wxDataUtil.getMonthUser());
+        return R.ok(westScreenStatics);
+    }
+
+    @Override
+    public R getComprehensivePopulationStatics(Long streetId){
+        EventPopulationStatisticsVO statisticsVo = new EventPopulationStatisticsVO();
+        //查询人口数据
+        List<EventPopulationBasicsStatisticsVO> basicsList = comMngPopulationDAO.getBasicsList(streetId);
+        if(basicsList != null){
+            for (EventPopulationBasicsStatisticsVO basics : basicsList) {
+                statisticsVo.setPopulationNum(statisticsVo.getPopulationNum() + basics.getPopulationNum());
+                statisticsVo.setVillageNum(statisticsVo.getVillageNum() + basics.getVillageNum());
+                statisticsVo.setHouseNum(statisticsVo.getHouseNum() + basics.getHouseNum());
+            }
+            statisticsVo.setBasicsList(basicsList);
+        }
+        //查询特殊人群数据
+        EventPopulationSpecialStatisticsVO populationSpecial = comMngPopulationDAO.getPopulationSpecial(streetId);
+        if(populationSpecial != null){
+            populationSpecial.setOtherTotal(populationSpecial.getZjTotal() + populationSpecial.getSfTotal()
+                    + populationSpecial.getXsTotal() + populationSpecial.getXjTotal()
+                    + populationSpecial.getJzTotal() + populationSpecial.getXdTotal());
+            populationSpecial.setLnTotal(comMngPopulationDAO.getPopulationAge(streetId,60));
+            populationSpecial.setGlTotal(comMngPopulationDAO.getPopulationAge(streetId,80));
+            statisticsVo.setSpecialStatisticsVo(populationSpecial);
+        }
+        return R.ok(statisticsVo);
+    }
+
+    @Override
+    public R getComprehensiveStreetList(){
+        return R.ok(comMngPopulationDAO.getComprehensiveStreetList());
+    }
+
+    @Override
+    public R indexInfo(Long communityId) {
+        IndexInfo indexInfo=new IndexInfo();
+        //基础数据
+        BaseInfo baseInfo=this.comMngPopulationDAO.baseInfo(communityId);
+        indexInfo.setBaseInfo(baseInfo);
+        // 查询实有人口统计模块
+        IndexPopulationStatisticsVO populationStatisticsVO = new IndexPopulationStatisticsVO();
+        // 查询实有人口性别统计
+        List<IndexPopulationSexStatisticsVO> sexPopulationList =
+                comMngPopulationDAO.getScreenIndexByPopulationSex(communityId);
+        populationStatisticsVO.setSexPopulationList(sexPopulationList);
+        // 查询实有人口年龄统计
+        List<IndexPopulationAgeStatisticsVO> agePopulationList = statisticsAge(communityId);
+        populationStatisticsVO.setAgePopulationList(agePopulationList);
+        indexInfo.setIndexPopulationStatisticsVO(populationStatisticsVO);
+        // 查询特殊人群统计
+        List<IndexSpecialStatisticsVO> specialStatisticsVOList = new ArrayList<>();
+
+        // 查询特殊人群标签列表
+        List<ComMngUserTagVO> userTagList = comMngPopulationDAO.getUserTagListByCommunityId(communityId);
+        IndexSpecialStatisticsVO otherSpecialVO = new IndexSpecialStatisticsVO();
+        otherSpecialVO.setTitle("其他");
+        otherSpecialVO.setSum(0);
+        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.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();
+        List<IndexGridStatisticsVO> gridStatisticsList = new ArrayList<>();
+        // 查询网格化事件数据
+        IndexGridEventStatisticsVO gridEventStatistics = comMngPopulationDAO.getGridEventStatisticsList(communityId);
+        int count=gridEventStatistics.getEventGGTotal()+gridEventStatistics.getEventBWDTotal()+gridEventStatistics.getEventMDTotal()+gridEventStatistics.getEventTFTotal()+gridEventStatistics.getEventTSTotal()+gridEventStatistics.getEventZATotal();
+        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);
+        if (!gridDataList.isEmpty()) {
+            gridDataList.forEach(gridData -> {
+                if (gridData != null) {
+                    IndexGridStatisticsVO gridStatisticsVO = new IndexGridStatisticsVO();
+                    gridStatisticsVO.setEventData(gridData.getGridName());
+                    // 根据网格id查询网格事件列表
+                    IndexGridEventStatisticsVO gridEventList =
+                            comMngPopulationDAO.getGridEventByGirdId(gridData.getId());
+                    gridStatisticsVO.setGridEventStatisticsList(gridEventList);
+                    gridStatisticsList.add(gridStatisticsVO);
+                }
+            });
+        }
+        eventGridStatisticsVO.setGridStatisticsList(gridStatisticsList);
+        indexInfo.setEventGridStatisticsVO(eventGridStatisticsVO);
+        //首页业务统计
+        IndexDynamic indexDynamic=this.populationDAO.indexDynamic(communityId);
+        indexInfo.setIndexDynamic(indexDynamic);
+        //返攀登记居家隔离数据统计
+        IndexReserve indexReserve=new IndexReserve();
+        IndexBackReserve indexBackReserve=new IndexBackReserve();
+        indexBackReserve.setCount(comActReserveMapper.indexBackReserve(communityId));
+        indexBackReserve.setIndexReserveSubList(comActReserveMapper.indexBackReserveSub(communityId));
+        indexBackReserve.getIndexReserveSubList().forEach(indexReserveSub -> {
+            if(indexReserveSub.getAllCount()!=0){
+                indexReserveSub.setPercent(BigDecimal.valueOf(indexReserveSub.getNum()*100d/indexReserveSub.getAllCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
+            }
+            else {
+                indexReserveSub.setPercent(BigDecimal.valueOf(0d));
+            }
+        });
+        IndexHomeQuarantine indexHomeQuarantine=new IndexHomeQuarantine();
+        indexHomeQuarantine.setCount(comActReserveMapper.indexHomeQuarantine(communityId));
+        indexHomeQuarantine.setIndexReserveSubList(comActReserveMapper.IndexHomeQuarantineSub(communityId));
+        indexHomeQuarantine.getIndexReserveSubList().forEach(indexReserveSub -> {
+            if(indexReserveSub.getAllCount()!=0){
+                indexReserveSub.setPercent(BigDecimal.valueOf(indexReserveSub.getNum()*100d/indexReserveSub.getAllCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
+            }
+            else {
+                indexReserveSub.setPercent(BigDecimal.valueOf(0d));
+            }
+        });
+        indexReserve.setIndexBackReserve(indexBackReserve);
+        indexReserve.setIndexHomeQuarantine(indexHomeQuarantine);
+        indexInfo.setIndexReserve(indexReserve);
+        BigscreenGridsGovernanceStatisticsVO bigscreenGridsGovernanceStatisticsVO=comActEasyPhotoDAO.selectBigscreenGridsGovern(communityId);
+        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) {
@@ -6817,9 +8741,43 @@
         // mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
     }
 
+    private void setElderMistake(ComMngPopulationElderMistakeExcelVO mvo,
+                                       ComMngPopulationElderExcelVO vo) {
+        mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook()));
+        mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent()));
+        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.setIsRegister(PopulHouseUseEnum.getCnDescByName(vo.getIsRegister()));
+         mvo.setIsAlive(PopulHouseUseEnum.getCnDescByName(vo.getIsAlive()));
+        // mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence()));
+        // mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType()));
+        // mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
+    }
+
+    private void setPensionMistake(ComMngPopulationPensionMistakeExcelVO mvo,
+                                 ComMngPopulationPensionExcelVO vo) {
+        mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook()));
+        mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent()));
+        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.setIsRegister(PopulHouseUseEnum.getCnDescByName(vo.getIsRegister()));
+        mvo.setIsAlive(PopulHouseUseEnum.getCnDescByName(vo.getIsAlive()));
+        // mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence()));
+        // mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType()));
+        // mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
+    }
+
     /**
      * 判重方法
-     * 
+     *
      * @param key
      *            主键
      * @param hashMap
@@ -6830,4 +8788,103 @@
         return ObjectUtils.isEmpty(hashMap.get(key));
     }
 
-}
\ No newline at end of file
+
+    private BigScreenGridStaticsReturn setData(BigscreenGridsGovernanceStatisticsVO bigscreenGridsGovernanceStatisticsVO){
+        List<BigScreenGridStaticsReturn> bigScreenGridStaticsReturnList=new ArrayList<>();
+        BigScreenGridStaticsReturn bigScreenGridStaticsReturn=new BigScreenGridStaticsReturn();
+        bigScreenGridStaticsReturn.setCount(bigscreenGridsGovernanceStatisticsVO.getEventTotal()+bigscreenGridsGovernanceStatisticsVO.getOtherTotal()+bigscreenGridsGovernanceStatisticsVO.getSafety());
+        BigScreenGridStaticsReturn bigScreenGridStaticsReturn1=new BigScreenGridStaticsReturn();
+        bigScreenGridStaticsReturn1.setTitle("突发事件报告");
+        bigScreenGridStaticsReturn1.setNum(bigscreenGridsGovernanceStatisticsVO.getEventTFTotal());
+        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());
+        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());
+        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());
+        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());
+        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());
+        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());
+        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());
+        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());
+        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;
+    }
+
+}

--
Gitblit v1.7.1