张天森
2022-10-12 3c884ccd7b51edf3b36840bf99de5edaa41a38a7
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())) {
@@ -578,6 +581,66 @@
        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);
    }
    /**
     * 删除实有人口
     *
@@ -658,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()
@@ -673,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() + "";
@@ -688,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() + "";
@@ -746,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;
@@ -792,7 +867,7 @@
                    // 不存在实有人口,则新增
                    populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                    populationMap.put(populationKey,populationDO);
                }
                log.info("查询实有人口是否已存在完成");
@@ -836,6 +911,7 @@
                        }
                        cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
                        cpopulationCommunityTagsDO.setCreateBy(userId);
                        populationCommunityMap.put(populationCommunityKey,cpopulationCommunityTagsDO);
                        savePopulationCommunityList.add(cpopulationCommunityTagsDO);
                    }else {
                        // 实有人口存在于当前社区,则更新
@@ -851,6 +927,7 @@
                                iterator.remove();
                        }
                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
                        comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                        updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
@@ -862,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());
@@ -881,7 +970,7 @@
        }
        if (!updateList.isEmpty()) {
            log.info("执行数据库更新人口");
            this.baseMapper.updateAll(updateList);
            this.updateBatchById(updateList);
            // this.updateBatchById(updateList);
            log.info("数据库更新人口完成");
        }
@@ -897,7 +986,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -953,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()
@@ -968,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() + "";
@@ -983,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() + "";
@@ -1041,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;
@@ -1146,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);
@@ -1157,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());
@@ -1168,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("执行数据库导入人口社区关系");
@@ -1193,7 +1314,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -1249,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()
@@ -1264,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() + "";
@@ -1279,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() + "";
@@ -1337,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;
@@ -1442,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);
@@ -1453,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());
@@ -1464,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("执行数据库导入人口社区关系");
@@ -1489,7 +1642,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -1545,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()
@@ -1560,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() + "";
@@ -1575,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() + "";
@@ -1633,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;
@@ -1738,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);
@@ -1749,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());
@@ -1760,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("执行数据库导入人口社区关系");
@@ -1785,7 +1970,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -1841,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()
@@ -1856,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() + "";
@@ -1871,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() + "";
@@ -1929,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;
@@ -2034,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);
@@ -2045,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());
@@ -2056,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("执行数据库导入人口社区关系");
@@ -2081,7 +2298,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -2138,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()
@@ -2153,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() + "";
@@ -2168,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() + "";
@@ -2227,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;
@@ -2332,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);
@@ -2344,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());
@@ -2355,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("执行数据库导入人口社区关系");
@@ -2380,7 +2628,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -2436,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()
@@ -2451,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() + "";
@@ -2466,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() + "";
@@ -2524,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;
@@ -2629,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);
@@ -2640,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());
@@ -2651,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("执行数据库导入人口社区关系");
@@ -2676,7 +2955,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -2732,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()
@@ -2747,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() + "";
@@ -2762,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() + "";
@@ -2820,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;
@@ -2925,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);
@@ -2936,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());
@@ -2947,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("执行数据库导入人口社区关系");
@@ -2972,7 +3282,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -3028,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()
@@ -3043,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() + "";
@@ -3058,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() + "";
@@ -3116,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;
@@ -3221,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);
@@ -3232,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());
@@ -3243,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("执行数据库导入人口社区关系");
@@ -3268,7 +3609,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -3324,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()
@@ -3339,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() + "";
@@ -3354,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() + "";
@@ -3412,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;
@@ -3517,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);
@@ -3528,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());
@@ -3539,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("执行数据库导入人口社区关系");
@@ -3564,7 +3936,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -3625,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()
@@ -3640,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() + "";
@@ -3655,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() + "";
@@ -3713,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;
@@ -3818,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);
@@ -3829,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());
@@ -3840,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("执行数据库导入人口社区关系");
@@ -3865,7 +4268,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -3943,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() + "";
@@ -4009,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;
@@ -4116,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);
@@ -4129,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());
@@ -4140,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("执行数据库导入人口社区关系");
@@ -4165,7 +4597,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -4242,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() + "";
@@ -4308,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;
@@ -4415,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);
@@ -4428,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());
@@ -4439,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("执行数据库导入人口社区关系");
@@ -4464,7 +4925,7 @@
        }
        if (!updatePopulationCommunityList.isEmpty()) {
            log.info("执行数据库更新人口社区关系");
            comMngPopulationCommunityTagsDAO.updateAll(updatePopulationCommunityList);
            comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList);
            log.info("数据库更新人口社区关系完成");
        }
        log.info("执行数据库导入完成");
@@ -6357,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();
    }
@@ -6413,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);
            });
        }
@@ -6957,21 +7426,48 @@
            int count=ageMap.get("age16").intValue()+ageMap.get("age27").intValue()+ageMap.get("age35").intValue()
                    +ageMap.get("age45").intValue()+ageMap.get("age55").intValue()+ageMap.get("age55over").intValue()+ageMap.get("age65").intValue()+ageMap.get("age75").intValue();
            ageStatisticsVO1.setSum(ageMap.get("age16").intValue());
            ageStatisticsVO1.setPercent(BigDecimal.valueOf(ageMap.get("age16").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
            ageStatisticsVO2.setSum(ageMap.get("age27").intValue());
            ageStatisticsVO2.setPercent(BigDecimal.valueOf(ageMap.get("age27").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
            ageStatisticsVO3.setSum(ageMap.get("age35").intValue());
            ageStatisticsVO3.setPercent(BigDecimal.valueOf(ageMap.get("age35").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
            ageStatisticsVO4.setSum(ageMap.get("age45").intValue());
            ageStatisticsVO4.setPercent(BigDecimal.valueOf(ageMap.get("age45").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
            ageStatisticsVO5.setSum(ageMap.get("age55").intValue());
            ageStatisticsVO5.setPercent(BigDecimal.valueOf(ageMap.get("age55").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
            ageStatisticsVO6.setSum(ageMap.get("age55over").intValue());
            ageStatisticsVO6.setPercent(BigDecimal.valueOf(ageMap.get("age55over").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
            ageStatisticsVO7.setSum(ageMap.get("age65").intValue());
            ageStatisticsVO7.setPercent(BigDecimal.valueOf(ageMap.get("age65").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
            ageStatisticsVO8.setSum(ageMap.get("age75").intValue());
            ageStatisticsVO8.setPercent(BigDecimal.valueOf(ageMap.get("age75").intValue()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP));
            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);
@@ -7605,7 +8101,7 @@
    /**
     * 综治后台-居民列表
     *
     *
     * @param populationListDTO
     *            请求参数
     * @return 居民列表
@@ -7645,7 +8141,7 @@
    /**
     * 综治后台-删除居民
     *
     *
     * @param ids
     *            居民id集合
     * @return 删除结果
@@ -7687,7 +8183,7 @@
    /**
     * 查询平台人口列表
     *
     *
     * @param populationDTO
     *            请求参数
     * @return 人口列表
@@ -7712,7 +8208,7 @@
    /**
     * 综治后台-居民标签栏统计
     *
     *
     * @return 居民统计
     */
    @Override
@@ -7722,7 +8218,7 @@
    /**
     * 综治后台-居民导出查询居民数据
     *
     *
     * @param populationExportDTO
     *            请求参数
     * @return 导出结果
@@ -7770,7 +8266,7 @@
    /**
     * 综治后台-居民管理小区列表
     *
     *
     * @param name
     *            小区名字
     * @return 小区列表
@@ -7889,7 +8385,11 @@
                            count= comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId);
                        }
                        specialStatisticsVO.setSum(count);
                        specialStatisticsVO.setPercent(BigDecimal.valueOf(specialStatisticsVO.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP));
                        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);
                    }
@@ -7901,10 +8401,16 @@
                }
            });
        }
        otherSpecialVO.setPercent(BigDecimal.valueOf(otherSpecialVO.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP));
        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());
        otherSpecialVO1.setPercent(BigDecimal.valueOf(otherSpecialVO1.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP));
        specialStatisticsVOList.add(otherSpecialVO1);
        indexInfo.setSpecialStatisticsVOList(specialStatisticsVOList);
        // 查询网格化治理
@@ -8271,7 +8777,7 @@
    /**
     * 判重方法
     *
     *
     * @param key
     *            主键
     * @param hashMap
@@ -8381,4 +8887,4 @@
        return bigScreenGridStaticsReturn;
    }
}
}