From 560db6a1036201e7e2ac50f34ad4a418f17eaba6 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期一, 06 六月 2022 11:01:11 +0800
Subject: [PATCH] bug修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java | 1693 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 1,183 insertions(+), 510 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 bbd5ca8..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
@@ -139,6 +139,8 @@
     private String aesKey;
     @Resource
     private ComActEasyPhotoDAO comActEasyPhotoDAO;
+    @Resource
+    private ComMngBuildingDAO comMngBuildingDAO;
 
     /**
      * 新增实有人口
@@ -218,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());
@@ -240,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())) {
@@ -507,6 +510,19 @@
             }
         }
 
+        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;
+            }
+        }
+
         if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeStart())) {
             String ageStartTime = DateUtils.getDateFormatString(
                 DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeStart()))), "yyyy-MM-dd");
@@ -550,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);
     }
 
     /**
@@ -636,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()
@@ -651,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() + "";
@@ -666,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() + "";
@@ -724,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;
@@ -770,7 +867,7 @@
                     // 不存在实有人口,则新增
                     populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO, userId);
                     saveList.add(populationDO);
-                    populationMap.put(populationDO.getCardNo(),populationDO);
+                    populationMap.put(populationKey,populationDO);
                 }
                 log.info("查询实有人口是否已存在完成");
 
@@ -814,6 +911,7 @@
                         }
                         cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
                         cpopulationCommunityTagsDO.setCreateBy(userId);
+                        populationCommunityMap.put(populationCommunityKey,cpopulationCommunityTagsDO);
                         savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                     }else {
                         // 实有人口存在于当前社区,则更新
@@ -829,6 +927,7 @@
                                 iterator.remove();
                         }
                         comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
+
                         comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                         updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
 
@@ -840,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());
@@ -859,7 +970,7 @@
         }
         if (!updateList.isEmpty()) {
             log.info("执行数据库更新人口");
-            this.baseMapper.updateAll(updateList);
+            this.updateBatchById(updateList);
             // this.updateBatchById(updateList);
             log.info("数据库更新人口完成");
         }
@@ -875,7 +986,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -931,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()
@@ -946,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() + "";
@@ -961,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() + "";
@@ -1019,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;
@@ -1124,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);
 
@@ -1135,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());
@@ -1146,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("执行数据库导入人口社区关系");
@@ -1171,7 +1314,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -1227,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()
@@ -1242,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() + "";
@@ -1257,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() + "";
@@ -1315,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;
@@ -1420,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);
 
@@ -1431,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());
@@ -1442,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("执行数据库导入人口社区关系");
@@ -1467,7 +1642,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -1523,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()
@@ -1538,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() + "";
@@ -1553,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() + "";
@@ -1611,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;
@@ -1716,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);
 
@@ -1727,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());
@@ -1738,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("执行数据库导入人口社区关系");
@@ -1763,7 +1970,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -1819,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()
@@ -1834,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() + "";
@@ -1849,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() + "";
@@ -1907,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;
@@ -2012,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);
 
@@ -2023,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());
@@ -2034,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("执行数据库导入人口社区关系");
@@ -2059,7 +2298,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -2116,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()
@@ -2131,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() + "";
@@ -2146,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() + "";
@@ -2205,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;
@@ -2310,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);
 
@@ -2322,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());
@@ -2333,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("执行数据库导入人口社区关系");
@@ -2358,7 +2628,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -2414,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()
@@ -2429,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() + "";
@@ -2444,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() + "";
@@ -2502,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;
@@ -2607,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);
 
@@ -2618,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());
@@ -2629,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("执行数据库导入人口社区关系");
@@ -2654,7 +2955,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -2710,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()
@@ -2725,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() + "";
@@ -2740,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() + "";
@@ -2798,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;
@@ -2903,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);
 
@@ -2914,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());
@@ -2925,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("执行数据库导入人口社区关系");
@@ -2950,7 +3282,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -3006,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()
@@ -3021,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() + "";
@@ -3036,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() + "";
@@ -3094,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;
@@ -3199,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);
 
@@ -3210,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());
@@ -3221,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("执行数据库导入人口社区关系");
@@ -3246,7 +3609,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -3302,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()
@@ -3317,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() + "";
@@ -3332,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() + "";
@@ -3390,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;
@@ -3495,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);
 
@@ -3506,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());
@@ -3517,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("执行数据库导入人口社区关系");
@@ -3542,7 +3936,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -3603,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()
@@ -3618,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() + "";
@@ -3633,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() + "";
@@ -3691,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;
@@ -3796,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);
 
@@ -3807,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());
@@ -3818,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("执行数据库导入人口社区关系");
@@ -3843,7 +4268,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -3921,7 +4346,7 @@
                 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() + "";
@@ -3987,39 +4412,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 =
+                                    saveElderPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    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;
                 }
-                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;
@@ -4094,8 +4528,15 @@
                                 iterator.remove();
                             }
                         }
-                        if(userTag != null && userTag.size() > 0){
-                            comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel() + "," + 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);
@@ -4107,7 +4548,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());
@@ -4118,23 +4572,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("执行数据库导入人口社区关系");
@@ -4143,7 +4597,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -4220,7 +4674,7 @@
                 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() + "";
@@ -4286,39 +4740,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 =
+                                    savePensionPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName());
+                            houseList.add(populationHouseDO);
+                        }
+                    } else {
+                        populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey);
                     }
-                    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;
                 }
-                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;
@@ -4393,8 +4856,15 @@
                                 iterator.remove();
                             }
                         }
-                        if(userTag != null && userTag.size() > 0){
-                            comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel() + "," + 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);
@@ -4406,7 +4876,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());
@@ -4417,23 +4900,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("执行数据库导入人口社区关系");
@@ -4442,7 +4925,7 @@
         }
         if (!updatePopulationCommunityList.isEmpty()) {
             log.info("执行数据库更新人口社区关系");
-            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
+            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
             log.info("数据库更新人口社区关系完成");
         }
         log.info("执行数据库导入完成");
@@ -4457,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());
         // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -4988,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());
@@ -6327,7 +6818,11 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R deletePopulations(List<Long> ids, Long communityId) {
-        comMngPopulationCommunityTagsDAO.deletePopulationRelation(ids,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));
+        }
         return R.ok();
     }
 
@@ -6383,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);
             });
         }
@@ -6904,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);
@@ -6918,21 +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("age45").intValue()+ageMap.get("age55").intValue()+ageMap.get("age55over").intValue()+ageMap.get("age65").intValue()+ageMap.get("age75").intValue();
             ageStatisticsVO1.setSum(ageMap.get("age16").intValue());
-            ageStatisticsVO1.setPercent(ageMap.get("age16").intValue()*100/count);
-            ageStatisticsVO2.setSum(ageMap.get("age27").intValue());
-            ageStatisticsVO2.setPercent(ageMap.get("age27").intValue()*100/count);
-            ageStatisticsVO3.setSum(ageMap.get("age35").intValue());
-            ageStatisticsVO3.setPercent(ageMap.get("age35").intValue()*100/count);
-            ageStatisticsVO4.setSum(ageMap.get("age45").intValue());
-            ageStatisticsVO4.setPercent(ageMap.get("age45").intValue()*100/count);
-            ageStatisticsVO5.setSum(ageMap.get("age55").intValue());
-            ageStatisticsVO5.setPercent(ageMap.get("age55").intValue()*100/count);
-            ageStatisticsVO6.setSum(ageMap.get("age55over").intValue());
-            ageStatisticsVO6.setPercent(ageMap.get("age55over").intValue()*100/count);
+            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);
@@ -6941,6 +7476,8 @@
         agePopulationList.add(ageStatisticsVO4);
         agePopulationList.add(ageStatisticsVO5);
         agePopulationList.add(ageStatisticsVO6);
+        agePopulationList.add(ageStatisticsVO7);
+        agePopulationList.add(ageStatisticsVO8);
         return agePopulationList;
     }
 
@@ -7397,8 +7934,13 @@
     public R getScreenEventDetail(BigScreenEventDetailDTO eventDetailDTO) {
         EventNewStatisticsVO statisticsVO = new EventNewStatisticsVO();
         Integer eventType = eventDetailDTO.getEventType();
-        if (eventDetailDTO.getType().equals(7) || (nonNull(eventType) && eventType.equals(2))) {// 随手拍详情
-            statisticsVO = this.baseMapper.getEventScreenSSPDateil(eventDetailDTO.getEventId());
+        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);
@@ -7559,7 +8101,7 @@
 
     /**
      * 综治后台-居民列表
-     * 
+     *
      * @param populationListDTO
      *            请求参数
      * @return 居民列表
@@ -7599,7 +8141,7 @@
 
     /**
      * 综治后台-删除居民
-     * 
+     *
      * @param ids
      *            居民id集合
      * @return 删除结果
@@ -7641,7 +8183,7 @@
 
     /**
      * 查询平台人口列表
-     * 
+     *
      * @param populationDTO
      *            请求参数
      * @return 人口列表
@@ -7666,7 +8208,7 @@
 
     /**
      * 综治后台-居民标签栏统计
-     * 
+     *
      * @return 居民统计
      */
     @Override
@@ -7676,7 +8218,7 @@
 
     /**
      * 综治后台-居民导出查询居民数据
-     * 
+     *
      * @param populationExportDTO
      *            请求参数
      * @return 导出结果
@@ -7724,7 +8266,7 @@
 
     /**
      * 综治后台-居民管理小区列表
-     * 
+     *
      * @param name
      *            小区名字
      * @return 小区列表
@@ -7823,36 +8365,53 @@
         IndexSpecialStatisticsVO otherSpecialVO = new IndexSpecialStatisticsVO();
         otherSpecialVO.setTitle("其他");
         otherSpecialVO.setSum(0);
-        int countAll=comMngPopulationDAO.getSpecialStatistics(communityId);
+        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.getSysFlag().equals(0)) {
-                        Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId);
-                        otherSpecialVO.setSum(otherSpecialVO.getSum() + count);
-                        otherSpecialVO.setPercent(otherSpecialVO.getSum()*100/countAll);
-                    } else {
-                        if (StringUtils.isNotEmpty(userTag.getTagName())) {
-                            if (userTag.getTagName().equals("高龄老人")) {
-                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
-                                specialStatisticsVO.setTitle(userTag.getTagName());
-                                specialStatisticsVO.setSum(comMngPopulationDAO.getStatisticsCount(communityId));
-                                specialStatisticsVO.setPercent(specialStatisticsVO.getSum()*100/countAll);
-                                specialStatisticsVOList.add(specialStatisticsVO);
-                            } else {
-                                IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO();
-                                specialStatisticsVO.setTitle(userTag.getTagName());
-                                Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId);
-                                specialStatisticsVO.setSum(count);
-                                specialStatisticsVO.setPercent(specialStatisticsVO.getSum()*100/countAll);
-                                specialStatisticsVOList.add(specialStatisticsVO);
-                            }
+                    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();
@@ -7860,12 +8419,22 @@
         // 查询网格化事件数据
         IndexGridEventStatisticsVO gridEventStatistics = comMngPopulationDAO.getGridEventStatisticsList(communityId);
         int count=gridEventStatistics.getEventGGTotal()+gridEventStatistics.getEventBWDTotal()+gridEventStatistics.getEventMDTotal()+gridEventStatistics.getEventTFTotal()+gridEventStatistics.getEventTSTotal()+gridEventStatistics.getEventZATotal();
-        gridEventStatistics.setGgPercent(gridEventStatistics.getEventGGTotal()*100/count);
-        gridEventStatistics.setBwdPercent(gridEventStatistics.getEventBWDTotal()*100/count);
-        gridEventStatistics.setMdPercent(gridEventStatistics.getEventMDTotal()*100/count);
-        gridEventStatistics.setTfPercent(gridEventStatistics.getEventTFTotal()*100/count);
-        gridEventStatistics.setTsPercent(gridEventStatistics.getEventTSTotal()*100/count);
-        gridEventStatistics.setZaPercent(gridEventStatistics.getEventZATotal()*100/count);
+        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);
@@ -7894,10 +8463,10 @@
         indexBackReserve.setIndexReserveSubList(comActReserveMapper.indexBackReserveSub(communityId));
         indexBackReserve.getIndexReserveSubList().forEach(indexReserveSub -> {
             if(indexReserveSub.getAllCount()!=0){
-                indexReserveSub.setPercent(indexReserveSub.getNum()*100/indexReserveSub.getAllCount());
+                indexReserveSub.setPercent(BigDecimal.valueOf(indexReserveSub.getNum()*100d/indexReserveSub.getAllCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
             }
             else {
-                indexReserveSub.setPercent(0);
+                indexReserveSub.setPercent(BigDecimal.valueOf(0d));
             }
         });
         IndexHomeQuarantine indexHomeQuarantine=new IndexHomeQuarantine();
@@ -7905,10 +8474,10 @@
         indexHomeQuarantine.setIndexReserveSubList(comActReserveMapper.IndexHomeQuarantineSub(communityId));
         indexHomeQuarantine.getIndexReserveSubList().forEach(indexReserveSub -> {
             if(indexReserveSub.getAllCount()!=0){
-                indexReserveSub.setPercent(indexReserveSub.getNum()*100/indexReserveSub.getAllCount());
+                indexReserveSub.setPercent(BigDecimal.valueOf(indexReserveSub.getNum()*100d/indexReserveSub.getAllCount()).setScale(2,BigDecimal.ROUND_HALF_UP));
             }
             else {
-                indexReserveSub.setPercent(0);
+                indexReserveSub.setPercent(BigDecimal.valueOf(0d));
             }
         });
         indexReserve.setIndexBackReserve(indexBackReserve);
@@ -7918,6 +8487,65 @@
         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) {
@@ -8149,7 +8777,7 @@
 
     /**
      * 判重方法
-     * 
+     *
      * @param key
      *            主键
      * @param hashMap
@@ -8168,50 +8796,95 @@
         BigScreenGridStaticsReturn bigScreenGridStaticsReturn1=new BigScreenGridStaticsReturn();
         bigScreenGridStaticsReturn1.setTitle("突发事件报告");
         bigScreenGridStaticsReturn1.setNum(bigscreenGridsGovernanceStatisticsVO.getEventTFTotal());
-        bigScreenGridStaticsReturn1.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventTFTotal()*100/bigScreenGridStaticsReturn.getCount());
+        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());
-        bigScreenGridStaticsReturn2.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventTSTotal()*100/bigScreenGridStaticsReturn.getCount());
+        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());
-        bigScreenGridStaticsReturn3.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventZATotal()*100/bigScreenGridStaticsReturn.getCount());
+        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());
-        bigScreenGridStaticsReturn4.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventMSTotal()*100/bigScreenGridStaticsReturn.getCount());
+        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());
-        bigScreenGridStaticsReturn5.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventMDTotal()*100/bigScreenGridStaticsReturn.getCount());
+        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());
-        bigScreenGridStaticsReturn6.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventFJTotal()*100/bigScreenGridStaticsReturn.getCount());
+        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());
-        bigScreenGridStaticsReturn7.setPercent(bigscreenGridsGovernanceStatisticsVO.getEventFGTotal()*100/bigScreenGridStaticsReturn.getCount());
+        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());
-        bigScreenGridStaticsReturn8.setPercent(bigscreenGridsGovernanceStatisticsVO.getSafety()*100/bigScreenGridStaticsReturn.getCount());
+        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());
-        bigScreenGridStaticsReturn9.setPercent(bigscreenGridsGovernanceStatisticsVO.getOtherTotal()*100/bigScreenGridStaticsReturn.getCount());
+        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;
     }
 
-}
\ No newline at end of file
+}

--
Gitblit v1.7.1