huanghongfa
2021-08-19 c40be027ef8068b9a77bb24c94291dee25f563d8
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -92,6 +92,26 @@
    private BigScreenDAO bigScreenDAO;
    @Resource
    private ComMngUserTagDAO comMngUserTagDAO;
    @Resource
    private ComDrugPopulationDAO comDrugPopulationDAO;
    @Resource
    private ComCorrectPopulationDAO comCorrectPopulationDAO;
    @Resource
    private ComMajorPopulationDAO comMajorPopulationDAO;
    @Resource
    private ComCultPopulationDAO comCultPopulationDAO;
    @Resource
    private ComRehabilitationPopulationDAO comRehabilitationPopulationDAO;
    @Resource
    private ComKeyPopulationDAO comKeyPopulationDAO;
    @Resource
    private ComSentencePopulationDAO comSentencePopulationDAO;
    @Resource
    private ComVeteransPopulationDAO comVeteransPopulationDAO;
    @Resource
    private ComDisabilityPopulationDAO comDisabilityPopulationDAO;
    @Resource
    private ComLowSecurityPopulationDAO comLowSecurityPopulationDAO;
    @Value("${domain.aesKey:}")
    private String aesKey;
@@ -221,6 +241,123 @@
        List<ComMngPopulationCarVO> carList = comMngCarDAO.getPopulationCarListByIdCard(comMngPopulationDO.getCardNo());
        if (!carList.isEmpty()) {
            comMngPopulationVO.setCarList(carList);
        }
        //吸毒信息
        List<ComDrugPopulationVO> comDrugPopulationVOs = new ArrayList<>();
        List<ComDrugPopulationDO> comDrugPopulationDOs = comDrugPopulationDAO.selectList(new QueryWrapper<ComDrugPopulationDO>().
                lambda().eq(ComDrugPopulationDO::getPopulationId, populationId));
        if (!comDrugPopulationDOs.isEmpty()) {
            comDrugPopulationDOs.forEach(comDrugPopulationDO -> {
                ComDrugPopulationVO comDrugPopulationVO = new ComDrugPopulationVO();
                BeanUtils.copyProperties(comDrugPopulationDO, comDrugPopulationVO);
                comDrugPopulationVOs.add(comDrugPopulationVO);
                comMngPopulationVO.setComDrugPopulationVOs(comDrugPopulationVOs);
            });
        }
        //社区矫正信息
        List<ComCorrectPopulationVO> comCorrectPopulationVOS = new ArrayList<>();
        List<ComCorrectPopulationDO> comCorrectPopulationDOS = comCorrectPopulationDAO.selectList(new QueryWrapper<ComCorrectPopulationDO>().
                lambda().eq(ComCorrectPopulationDO::getPopulationId, populationId));
        if (!comCorrectPopulationDOS.isEmpty()) {
            comCorrectPopulationDOS.forEach(comCorrectPopulationDO -> {
                ComCorrectPopulationVO comCorrectPopulationVO = new ComCorrectPopulationVO();
                BeanUtils.copyProperties(comCorrectPopulationDO, comCorrectPopulationVO);
                comCorrectPopulationVOS.add(comCorrectPopulationVO);
                comMngPopulationVO.setComCorrectPopulationVOs(comCorrectPopulationVOS);
            });
        }
        //精神障碍信息
        List<ComMajorPopulationVO> comMajorPopulationVOS = new ArrayList<>();
        List<ComMajorPopulationDO> comMajorPopulationDOs = comMajorPopulationDAO.selectList(new QueryWrapper<ComMajorPopulationDO>().
                lambda().eq(ComMajorPopulationDO::getPopulationId, populationId));
        if (!comMajorPopulationDOs.isEmpty()) {
            comMajorPopulationDOs.forEach(comMajorPopulationDO -> {
                ComMajorPopulationVO comMajorPopulationVO = new ComMajorPopulationVO();
                BeanUtils.copyProperties(comMajorPopulationDO, comMajorPopulationVO);
                comMajorPopulationVOS.add(comMajorPopulationVO);
                comMngPopulationVO.setComMajorPopulationVOs(comMajorPopulationVOS);
            });
        }
        //邪教信息
        List<ComCultPopulationVO> comCultPopulationVOS = new ArrayList<>();
        List<ComCultPopulationDO> comCultPopulationDOS = comCultPopulationDAO.selectList(new QueryWrapper<ComCultPopulationDO>().
                lambda().eq(ComCultPopulationDO::getPopulationId, populationId));
        if (!comCultPopulationDOS.isEmpty()) {
            comCultPopulationDOS.forEach(comCultPopulationDO -> {
                ComCultPopulationVO comCultPopulationVO = new ComCultPopulationVO();
                BeanUtils.copyProperties(comCultPopulationDO, comCultPopulationVO);
                comCultPopulationVOS.add(comCultPopulationVO);
                comMngPopulationVO.setComCultPopulationVOs(comCultPopulationVOS);
            });
        }
        //刑释信息
        List<ComRehabilitationPopulationVO> comRehabilitationPopulationVOS = new ArrayList<>();
        List<ComRehabilitationPopulationDO> comRehabilitationPopulationDOS = comRehabilitationPopulationDAO.selectList(new QueryWrapper<ComRehabilitationPopulationDO>().
                lambda().eq(ComRehabilitationPopulationDO::getPopulationId, populationId));
        if (!comRehabilitationPopulationDOS.isEmpty()) {
            comRehabilitationPopulationDOS.forEach(comRehabilitationPopulationDO -> {
                ComRehabilitationPopulationVO comRehabilitationPopulationVO = new ComRehabilitationPopulationVO();
                BeanUtils.copyProperties(comRehabilitationPopulationDO, comRehabilitationPopulationVO);
                comRehabilitationPopulationVOS.add(comRehabilitationPopulationVO);
                comMngPopulationVO.setComRehabilitationPopulationVOs(comRehabilitationPopulationVOS);
            });
        }
        //上访信息
        List<ComKeyPopulationVO> comKeyPopulationVOS = new ArrayList<>();
        List<ComKeyPopulationDO> comKeyPopulationDOS = comKeyPopulationDAO.selectList(new QueryWrapper<ComKeyPopulationDO>().
                lambda().eq(ComKeyPopulationDO::getPopulationId, populationId));
        if (!comKeyPopulationDOS.isEmpty()) {
            comKeyPopulationDOS.forEach(comKeyPopulationDO -> {
                ComKeyPopulationVO comKeyPopulationVO = new ComKeyPopulationVO();
                BeanUtils.copyProperties(comKeyPopulationDO, comKeyPopulationVO);
                comKeyPopulationVOS.add(comKeyPopulationVO);
                comMngPopulationVO.setComKeyPopulationVOs(comKeyPopulationVOS);
            });
        }
        //退役军人信息
        List<ComVeteransPopulationVO> comVeteransPopulationVOS = new ArrayList<>();
        List<ComVeteransPopulationDO> comVeteransPopulationDOS = comVeteransPopulationDAO.selectList(new QueryWrapper<ComVeteransPopulationDO>().
                lambda().eq(ComVeteransPopulationDO::getPopulationId, populationId));
        if (!comVeteransPopulationDOS.isEmpty()) {
            comVeteransPopulationDOS.forEach(comVeteransPopulationDO -> {
                ComVeteransPopulationVO comVeteransPopulationVO = new ComVeteransPopulationVO();
                BeanUtils.copyProperties(comVeteransPopulationDO, comVeteransPopulationVO);
                comVeteransPopulationVOS.add(comVeteransPopulationVO);
                comMngPopulationVO.setComVeteransPopulationVOs(comVeteransPopulationVOS);
            });
        }
        //残疾人信息
        List<ComDisabilityPopulationVO> comDisabilityPopulationVOS = new ArrayList<>();
        List<ComDisabilityPopulationDO> comDisabilityPopulationDOS = comDisabilityPopulationDAO.selectList(new QueryWrapper<ComDisabilityPopulationDO>().
                lambda().eq(ComDisabilityPopulationDO::getPopulationId, populationId));
        if (!comDisabilityPopulationDOS.isEmpty()) {
            comDisabilityPopulationDOS.forEach(comDisabilityPopulationDO -> {
                ComDisabilityPopulationVO comDisabilityPopulationVO = new ComDisabilityPopulationVO();
                BeanUtils.copyProperties(comDisabilityPopulationDO, comDisabilityPopulationVO);
                comDisabilityPopulationVOS.add(comDisabilityPopulationVO);
                comMngPopulationVO.setComDisabilityPopulationVOs(comDisabilityPopulationVOS);
            });
        }
        //低保户信息
        List<ComLowSecurityPopulationVO> comLowSecurityPopulationVOS = new ArrayList<>();
        List<ComLowSecurityPopulationDO> comLowSecurityPopulationDOS = comLowSecurityPopulationDAO.selectList(new QueryWrapper<ComLowSecurityPopulationDO>().
                lambda().eq(ComLowSecurityPopulationDO::getPopulationId, populationId));
        if (!comLowSecurityPopulationDOS.isEmpty()) {
            comLowSecurityPopulationDOS.forEach(comLowSecurityPopulationDO -> {
                ComLowSecurityPopulationVO comLowSecurityPopulationVO = new ComLowSecurityPopulationVO();
                BeanUtils.copyProperties(comLowSecurityPopulationDO, comLowSecurityPopulationVO);
                comLowSecurityPopulationVOS.add(comLowSecurityPopulationVO);
                comMngPopulationVO.setComLowSecurityPopulationVOs(comLowSecurityPopulationVOS);
            });
        }
        return R.ok(comMngPopulationVO);
    }
@@ -427,14 +564,20 @@
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if(vo.getFloor().contains("栋")){
                    vo.setFloor(vo.getFloor().replace("栋",""));
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if(vo.getUnitNo().contains("单元")){
                    vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if(vo.getHouseNo().contains("号")){
                    vo.setHouseNo(vo.getHouseNo().replace("号",""));
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
@@ -453,9 +596,16 @@
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
                        .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
@@ -499,6 +649,12 @@
                    populationDO = (ComMngPopulationDO)populationMap.get(populationKey);
                    ComMngPopulationDO updatePopulationDO = updatePopulationDO(vo,populationDO,labelList);
                    updateList.add(updatePopulationDO);
                    ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO();
                    BeanUtils.copyProperties(vo,mistake);
                    setMistake(mistake, vo);
                    mistake.setMistake("该实有人口已存在,执行更新,社区id::"+ populationDO.getActId());
                    mistakes.add(mistake);
                }else{
                    //不存在实有人口,则新增
                    populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO,labelList);
@@ -630,14 +786,20 @@
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if(vo.getFloor().contains("栋")){
                    vo.setFloor(vo.getFloor().replace("栋",""));
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if(vo.getUnitNo().contains("单元")){
                    vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if(vo.getHouseNo().contains("号")){
                    vo.setHouseNo(vo.getHouseNo().replace("号",""));
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
@@ -656,9 +818,16 @@
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
                        .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
@@ -833,14 +1002,20 @@
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if(vo.getFloor().contains("栋")){
                    vo.setFloor(vo.getFloor().replace("栋",""));
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if(vo.getUnitNo().contains("单元")){
                    vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if(vo.getHouseNo().contains("号")){
                    vo.setHouseNo(vo.getHouseNo().replace("号",""));
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
@@ -859,9 +1034,16 @@
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
                        .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
@@ -1036,14 +1218,20 @@
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if(vo.getFloor().contains("栋")){
                    vo.setFloor(vo.getFloor().replace("栋",""));
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if(vo.getUnitNo().contains("单元")){
                    vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if(vo.getHouseNo().contains("号")){
                    vo.setHouseNo(vo.getHouseNo().replace("号",""));
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
@@ -1062,9 +1250,16 @@
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
                        .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
@@ -1239,14 +1434,20 @@
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if(vo.getFloor().contains("栋")){
                    vo.setFloor(vo.getFloor().replace("栋",""));
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if(vo.getUnitNo().contains("单元")){
                    vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if(vo.getHouseNo().contains("号")){
                    vo.setHouseNo(vo.getHouseNo().replace("号",""));
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
@@ -1265,9 +1466,16 @@
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
                        .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
@@ -1442,14 +1650,20 @@
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if(vo.getFloor().contains("栋")){
                    vo.setFloor(vo.getFloor().replace("栋",""));
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if(vo.getUnitNo().contains("单元")){
                    vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if(vo.getHouseNo().contains("号")){
                    vo.setHouseNo(vo.getHouseNo().replace("号",""));
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
@@ -1468,9 +1682,16 @@
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
                        .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
@@ -1645,14 +1866,20 @@
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if(vo.getFloor().contains("栋")){
                    vo.setFloor(vo.getFloor().replace("栋",""));
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if(vo.getUnitNo().contains("单元")){
                    vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if(vo.getHouseNo().contains("号")){
                    vo.setHouseNo(vo.getHouseNo().replace("号",""));
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
@@ -1671,9 +1898,16 @@
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
                        .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
@@ -1848,14 +2082,20 @@
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if(vo.getFloor().contains("栋")){
                    vo.setFloor(vo.getFloor().replace("栋",""));
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if(vo.getUnitNo().contains("单元")){
                    vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if(vo.getHouseNo().contains("号")){
                    vo.setHouseNo(vo.getHouseNo().replace("号",""));
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
@@ -1874,9 +2114,16 @@
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
                        .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
@@ -2051,14 +2298,20 @@
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if(vo.getFloor().contains("栋")){
                    vo.setFloor(vo.getFloor().replace("栋",""));
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if(vo.getUnitNo().contains("单元")){
                    vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if(vo.getHouseNo().contains("号")){
                    vo.setHouseNo(vo.getHouseNo().replace("号",""));
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
@@ -2077,9 +2330,16 @@
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
                        .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
@@ -2254,14 +2514,20 @@
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if(vo.getFloor().contains("栋")){
                    vo.setFloor(vo.getFloor().replace("栋",""));
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if(vo.getUnitNo().contains("单元")){
                    vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if(vo.getHouseNo().contains("号")){
                    vo.setHouseNo(vo.getHouseNo().replace("号",""));
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
@@ -2280,9 +2546,16 @@
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号").append(vo.getFloor()).append("栋")
                        .append(vo.getUnitNo()).append("单元").append(vo.getHouseNo()).append("号");
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
@@ -2387,6 +2660,226 @@
        return R.ok(mistakes);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R listSaveLowSecurityPopulation(List<ComMngPopulationLowSecurityExcelVO> list, Long communityId) {
        //需要新增的房屋集合
        List<ComMngPopulationHouseDO> houseList = new ArrayList<>();
        //需要新增的人口集合
        List<ComMngPopulationDO> saveList = new ArrayList<>();
        //需要修改的人口集合
        List<ComMngPopulationDO> updateList = new ArrayList<>();
        //需要新增的吸毒人员集合
        List<ComDrugPopulationDO> saveDrugList = new ArrayList<>();
        //需要修改的吸毒人员集合
        List<ComDrugPopulationDO> updateDrugList = new ArrayList<>();
        //需要新增的人口与房屋关系集合
        List<ComMngPopulationHouseUserDO> houseUserList = new ArrayList<>();
        log.info("开始处理导入数据");
        List<ComMngPopulationLowSecurityMistakeExcelVO> mistakes = new ArrayList<>();
        try {
            //查询社区信息
            log.info("开始查询社区信息数据");
            ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId);
            if(populationActVO == null){
                log.error("未查询到社区信息");
                return R.fail("未查询到社区信息");
            }
            log.info("开始查询社区信息数据完成");
            //查询当前社区标签列表
            List<String> labelList = new ArrayList<>();
            List<ComMngUserTagDO> comMngUserTagDOS = comMngUserTagDAO.selectList(new QueryWrapper<ComMngUserTagDO>().eq("sys_flag", 1).or().eq("community_id", communityId));
            if (!ObjectUtils.isEmpty(comMngUserTagDOS)) {
                labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()).collect(Collectors.toList());
            }
            StringBuilder areaPath = new StringBuilder();
            areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()).append(">").append(populationActVO.getDistrictName()).append(">");
            //处理实有人口信息
            Integer nub = 1;
            //查询所有人口数据放入HashMap中
            List<ComMngPopulationDO> populationList = this.baseMapper.selectList(null);
            HashMap<String,Object> populationMap = new HashMap<>();
            populationList.forEach(population -> {
                String key = population.getCardNo();
                populationMap.put(key,population);
            });
            //查询所有房屋信息放入到HashMap中
            List<ComMngPopulationHouseDO> houseLists = comMngPopulationHouseDAO.selectList(null);
            HashMap<String,Object> houseMap = new HashMap<>();
            houseLists.forEach(house -> {
                String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo();
                houseMap.put(key,house);
            });
            List<ComMngVillageDO> villageList = comActVillageDAO.selectList(null);
            HashMap<String,Object> villageMap = new HashMap<>();
            villageList.forEach(village -> {
                String key = village.getCommunityId() + village.getAlley() + village.getHouseNum();
                villageMap.put(key,village);
            });
            List<ComMngPopulationHouseUserDO> houseUserLists = comMngPopulationHouseUserDAO.selectList(null);
            HashMap<String,Object> houseUserMap = new HashMap<>();
            houseUserLists.forEach(houseUser -> {
                String key = houseUser.getPopulId() + houseUser.getHouseId() + "";
                houseUserMap.put(key,houseUser);
            });
            for (ComMngPopulationLowSecurityExcelVO vo : list) {
                if (vo.getDoorNo().contains("号")) {
                    vo.setDoorNo(vo.getDoorNo().replace("号",""));
                }
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    if(vo.getFloor().contains("栋")){
                        vo.setFloor(vo.getFloor().replace("栋",""));
                    }
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    if(vo.getUnitNo().contains("单元")){
                        vo.setUnitNo(vo.getUnitNo().replace("单元",""));
                    }
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    if(vo.getHouseNo().contains("号")){
                        vo.setHouseNo(vo.getHouseNo().replace("号",""));
                    }
                }
                log.info("开始查询小区街路巷是否存在");
                //查询小区街路巷是否存在
                ComMngVillageDO comMngVillageDO = null;
                String villageKey = communityId + vo.getRoad() + vo.getDoorNo();
                if(!isOnly(villageKey,villageMap)){
                    comMngVillageDO = (ComMngVillageDO)villageMap.get(villageKey);
                }else{
                    ComMngPopulationLowSecurityMistakeExcelVO mistake = new ComMngPopulationLowSecurityMistakeExcelVO();
                    BeanUtils.copyProperties(vo,mistake);
                    setLowSecurityMistake(mistake, vo);
                    mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:"+ vo.getRoad() +",小区号:" + vo.getDoorNo());
                    mistakes.add(mistake);
                    log.info("未查询到街路巷:"+ vo.getRoad() +",小区号:" + vo.getDoorNo());
                    continue;
                }
                StringBuilder address = new StringBuilder();
                address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()).append(populationActVO.getDistrictName())
                        .append(populationActVO.getStreetName()).append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号");
                if (StringUtils.isNotEmpty(vo.getFloor())) {
                    address.append(vo.getFloor()).append("栋");
                }
                if (StringUtils.isNotEmpty(vo.getUnitNo())) {
                    address.append(vo.getUnitNo()).append("单元");
                }
                if (StringUtils.isNotEmpty(vo.getHouseNo())) {
                    address.append(vo.getHouseNo()).append("号");
                }
                vo.setAddress(address.toString());
                log.info("开始查询小区街路巷是否存在完成");
                log.info("开始查询房屋是否存在");
                //先判断房屋是否存在
                ComMngPopulationHouseDO populationHouseDO = null;
                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);
                }
                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;
                String populationKey = vo.getCardNo();
                if(!isOnly(populationKey,populationMap)){
                    //存在实有人口信息,则更新
                    populationDO = (ComMngPopulationDO)populationMap.get(populationKey);
                    ComMngPopulationDO updatePopulationDO = updateLowSecurityPopulationDO(vo,populationDO,labelList);
                    updateList.add(updatePopulationDO);
                }else{
                    //不存在实有人口,则新增
                    populationDO = saveLowSecurityPopulationDO(vo, populationActVO, comMngVillageDO,labelList);
                    saveList.add(populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
                log.info("开始查询实有人口房屋居住信息");
                //处理实有人口房屋居住信息
                if (populationDO != null) {
                    ComMngPopulationHouseUserDO populationHouseUserDO = null;
                    String houseUserKey = populationDO.getId() + populationHouseDO.getId() + "";
                    if(isOnly(houseUserKey,houseUserMap)){
                        populationHouseUserDO = new ComMngPopulationHouseUserDO();
                        populationHouseUserDO.setId(Snowflake.getId());
                        populationHouseUserDO.setHouseId(populationHouseDO.getId());
                        populationHouseUserDO.setPopulId(populationDO.getId());
//                        populationHouseUserDO.setRelation(vo.getRelation());
                        populationHouseUserDO.setRelationId(vo.getIsRent());
//                        populationHouseUserDO.setResidence(vo.getResidence());
                        houseUserList.add(populationHouseUserDO);
                    }
                }
                log.info("开始查询实有人口房屋居住信息完成");
            }
        }catch (Exception e){
            log.info("出现错误,错误原因:" + e.getMessage());
        }
        log.info("处理完成导入数据");
        log.info("开始执行数据库导入");
        if(!houseList.isEmpty()){
            log.info("执行数据库导入房屋");
            comMngPopulationHouseDAO.insertAll(houseList);
            log.info("执行数据库导入房屋完成");
        }
        if(!saveList.isEmpty()){
            log.info("执行数据库导入人口");
            this.baseMapper.insertAll(saveList);
            log.info("执行数据库导入人口完成");
        }
        if(!updateList.isEmpty()){
            log.info("执行数据库更新人口");
            this.baseMapper.updateAll(updateList);
//            this.updateBatchById(updateList);
            log.info("执行数据库更新人口完成");
        }
        if(!houseUserList.isEmpty()){
            log.info("执行数据库导入人口房屋关系");
            comMngPopulationHouseUserService.saveBatch(houseUserList);
            log.info("执行数据库导入人口房屋关系完成");
        }
        log.info("执行数据库导入完成");
        if (!mistakes.isEmpty()) {
            log.info("返回错误数据");
            return R.fail(mistakes);
        }
        return R.ok(mistakes);
    }
    private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
@@ -2411,6 +2904,8 @@
    private ComMngPopulationDO updateDrugPopulationDO(ComMngPopulationDrugExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
        ComDrugPopulationDO comDrugPopulationDO = comDrugPopulationDAO.selectOne(new QueryWrapper<ComDrugPopulationDO>().lambda()
                .eq(ComDrugPopulationDO::getPopulationId, populationDO.getId()));
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
@@ -2427,11 +2922,27 @@
        }
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setCardNo(cardNoAES);
        if (comDrugPopulationDO != null) {
            BeanUtils.copyProperties(vo, comDrugPopulationDO);
            comDrugPopulationDO.setCardNo(cardNoAES);
            comDrugPopulationDAO.updateById(comDrugPopulationDO);
        }else {
            comDrugPopulationDO = new ComDrugPopulationDO();
            BeanUtils.copyProperties(vo, comDrugPopulationDO);
            comDrugPopulationDO.setId(Snowflake.getId());
            comDrugPopulationDO.setPopulationId(populationDO.getId());
            comDrugPopulationDO.setCommunityId(populationDO.getActId());
            comDrugPopulationDO.setStreetId(populationDO.getStreetId());
            comDrugPopulationDAO.insert(comDrugPopulationDO);
        }
        return populationDO;
    }
    private ComMngPopulationDO updateCorrectPopulationDO(ComMngPopulationCorrectExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
        ComCorrectPopulationDO comCorrectPopulationDO = comCorrectPopulationDAO.selectOne(new QueryWrapper<ComCorrectPopulationDO>().lambda()
                .eq(ComCorrectPopulationDO::getPopulationId, populationDO.getId()));
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
@@ -2448,11 +2959,26 @@
        }
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setCardNo(cardNoAES);
        if (comCorrectPopulationDO != null) {
            BeanUtils.copyProperties(vo, comCorrectPopulationDO);
            comCorrectPopulationDO.setCardNo(cardNoAES);
            comCorrectPopulationDAO.updateById(comCorrectPopulationDO);
        }else {
            comCorrectPopulationDO = new ComCorrectPopulationDO();
            BeanUtils.copyProperties(vo, comCorrectPopulationDO);
            comCorrectPopulationDO.setId(Snowflake.getId());
            comCorrectPopulationDO.setPopulationId(populationDO.getId());
            comCorrectPopulationDO.setCommunityId(populationDO.getActId());
            comCorrectPopulationDO.setStreetId(populationDO.getStreetId());
            comCorrectPopulationDAO.insert(comCorrectPopulationDO);
        }
        return populationDO;
    }
    private ComMngPopulationDO updateMajorPopulationDO(ComMngPopulationMajorExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
        ComMajorPopulationDO comMajorPopulationDO = comMajorPopulationDAO.selectOne(new QueryWrapper<ComMajorPopulationDO>().lambda()
                .eq(ComMajorPopulationDO::getPopulationId, populationDO.getId()));
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
@@ -2469,11 +2995,26 @@
        }
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setCardNo(cardNoAES);
        if (comMajorPopulationDO != null) {
            BeanUtils.copyProperties(vo, comMajorPopulationDO);
            comMajorPopulationDO.setCardNo(cardNoAES);
            comMajorPopulationDAO.updateById(comMajorPopulationDO);
        }else {
            comMajorPopulationDO = new ComMajorPopulationDO();
            BeanUtils.copyProperties(vo, comMajorPopulationDO);
            comMajorPopulationDO.setId(Snowflake.getId());
            comMajorPopulationDO.setPopulationId(populationDO.getId());
            comMajorPopulationDO.setCommunityId(populationDO.getActId());
            comMajorPopulationDO.setStreetId(populationDO.getStreetId());
            comMajorPopulationDAO.insert(comMajorPopulationDO);
        }
        return populationDO;
    }
    private ComMngPopulationDO updateCultPopulationDO(ComMngPopulationCultExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
        ComCultPopulationDO comCultPopulationDO = comCultPopulationDAO.selectOne(new QueryWrapper<ComCultPopulationDO>().lambda().
                eq(ComCultPopulationDO::getPopulationId, populationDO.getId()));
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
@@ -2490,11 +3031,26 @@
        }
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setCardNo(cardNoAES);
        if (comCultPopulationDO != null) {
            BeanUtils.copyProperties(vo, comCultPopulationDO);
            comCultPopulationDO.setCardNo(cardNoAES);
            comCultPopulationDAO.updateById(comCultPopulationDO);
        }else {
            comCultPopulationDO = new ComCultPopulationDO();
            BeanUtils.copyProperties(vo, comCultPopulationDO);
            comCultPopulationDO.setId(Snowflake.getId());
            comCultPopulationDO.setPopulationId(populationDO.getId());
            comCultPopulationDO.setCommunityId(populationDO.getActId());
            comCultPopulationDO.setStreetId(populationDO.getStreetId());
            comCultPopulationDAO.insert(comCultPopulationDO);
        }
        return populationDO;
    }
    private ComMngPopulationDO updateRehabilitationPopulationDO(ComMngPopulationRehabilitationExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
        ComRehabilitationPopulationDO comRehabilitationPopulationDO = comRehabilitationPopulationDAO.selectOne(new QueryWrapper<ComRehabilitationPopulationDO>().lambda().
                eq(ComRehabilitationPopulationDO::getPopulationId, populationDO.getId()));
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
@@ -2511,11 +3067,27 @@
        }
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setCardNo(cardNoAES);
        if (comRehabilitationPopulationDO != null) {
            BeanUtils.copyProperties(vo, comRehabilitationPopulationDO);
            comRehabilitationPopulationDO.setCardNo(cardNoAES);
            comRehabilitationPopulationDAO.updateById(comRehabilitationPopulationDO);
        }else {
            comRehabilitationPopulationDO = new ComRehabilitationPopulationDO();
            BeanUtils.copyProperties(vo, comRehabilitationPopulationDO);
            comRehabilitationPopulationDO.setId(Snowflake.getId());
            comRehabilitationPopulationDO.setPopulationId(populationDO.getId());
            comRehabilitationPopulationDO.setCommunityId(populationDO.getActId());
            comRehabilitationPopulationDO.setStreetId(populationDO.getStreetId());
            comRehabilitationPopulationDAO.insert(comRehabilitationPopulationDO);
        }
        return populationDO;
    }
    private ComMngPopulationDO updateKeyPopulationDO(ComMngPopulationKeyExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
        ComKeyPopulationDO comKeyPopulationDO = comKeyPopulationDAO.selectOne(new QueryWrapper<ComKeyPopulationDO>().lambda().
                eq(ComKeyPopulationDO::getPopulationId, populationDO.getId()));
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
@@ -2532,11 +3104,26 @@
        }
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setCardNo(cardNoAES);
        if (comKeyPopulationDO != null) {
            BeanUtils.copyProperties(vo, comKeyPopulationDO);
            comKeyPopulationDO.setCardNo(cardNoAES);
            comKeyPopulationDAO.updateById(comKeyPopulationDO);
        }else {
            comKeyPopulationDO = new ComKeyPopulationDO();
            BeanUtils.copyProperties(vo, comKeyPopulationDO);
            comKeyPopulationDO.setId(Snowflake.getId());
            comKeyPopulationDO.setPopulationId(populationDO.getId());
            comKeyPopulationDO.setCommunityId(populationDO.getActId());
            comKeyPopulationDO.setStreetId(populationDO.getStreetId());
            comKeyPopulationDAO.insert(comKeyPopulationDO);
        }
        return populationDO;
    }
    private ComMngPopulationDO updateSentencePopulationDO(ComMngPopulationSentenceExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
        ComSentencePopulationDO comSentencePopulationDO = comSentencePopulationDAO.selectOne(new QueryWrapper<ComSentencePopulationDO>().lambda().
                eq(ComSentencePopulationDO::getPopulationId, populationDO.getId()));
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
@@ -2553,11 +3140,26 @@
        }
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setCardNo(cardNoAES);
        if (comSentencePopulationDO != null) {
            BeanUtils.copyProperties(vo, comSentencePopulationDO);
            comSentencePopulationDO.setCardNo(cardNoAES);
            comSentencePopulationDAO.updateById(comSentencePopulationDO);
        }else {
            comSentencePopulationDO = new ComSentencePopulationDO();
            BeanUtils.copyProperties(vo, comSentencePopulationDO);
            comSentencePopulationDO.setId(Snowflake.getId());
            comSentencePopulationDO.setPopulationId(populationDO.getId());
            comSentencePopulationDO.setCommunityId(populationDO.getActId());
            comSentencePopulationDO.setStreetId(populationDO.getStreetId());
            comSentencePopulationDAO.insert(comSentencePopulationDO);
        }
        return populationDO;
    }
    private ComMngPopulationDO updateVeteransPopulationDO(ComMngPopulationVeteransExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
        ComVeteransPopulationDO comVeteransPopulationDO = comVeteransPopulationDAO.selectOne(new QueryWrapper<ComVeteransPopulationDO>().lambda().
                eq(ComVeteransPopulationDO::getPopulationId, populationDO.getId()));
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
@@ -2574,10 +3176,25 @@
        }
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setCardNo(cardNoAES);
        if (comVeteransPopulationDO != null) {
            BeanUtils.copyProperties(vo, comVeteransPopulationDO);
            comVeteransPopulationDO.setCardNo(cardNoAES);
            comVeteransPopulationDAO.updateById(comVeteransPopulationDO);
        }else {
            comVeteransPopulationDO = new ComVeteransPopulationDO();
            BeanUtils.copyProperties(vo, comVeteransPopulationDO);
            comVeteransPopulationDO.setId(Snowflake.getId());
            comVeteransPopulationDO.setPopulationId(populationDO.getId());
            comVeteransPopulationDO.setCommunityId(populationDO.getActId());
            comVeteransPopulationDO.setStreetId(populationDO.getStreetId());
            comVeteransPopulationDAO.insert(comVeteransPopulationDO);
        }
        return populationDO;
    }
    private ComMngPopulationDO updateDisabilityPopulationDO(ComMngPopulationDisabilityExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
        ComDisabilityPopulationDO comDisabilityPopulationDO = comDisabilityPopulationDAO.selectOne(new QueryWrapper<ComDisabilityPopulationDO>().lambda().
                eq(ComDisabilityPopulationDO::getPopulationId, populationDO.getId()));
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
@@ -2594,6 +3211,55 @@
        }
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setCardNo(cardNoAES);
        if (comDisabilityPopulationDO != null) {
            BeanUtils.copyProperties(vo, comDisabilityPopulationDO);
            comDisabilityPopulationDO.setCardNo(cardNoAES);
            comDisabilityPopulationDAO.updateById(comDisabilityPopulationDO);
        }else {
            comDisabilityPopulationDO = new ComDisabilityPopulationDO();
            BeanUtils.copyProperties(vo, comDisabilityPopulationDO);
            comDisabilityPopulationDO.setId(Snowflake.getId());
            comDisabilityPopulationDO.setPopulationId(populationDO.getId());
            comDisabilityPopulationDO.setCommunityId(populationDO.getActId());
            comDisabilityPopulationDO.setStreetId(populationDO.getStreetId());
            comDisabilityPopulationDAO.insert(comDisabilityPopulationDO);
        }
        return populationDO;
    }
    private ComMngPopulationDO updateLowSecurityPopulationDO(ComMngPopulationLowSecurityExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){
        BeanUtils.copyProperties(vo, populationDO);
        ComLowSecurityPopulationDO comLowSecurityPopulationDO = comLowSecurityPopulationDAO.selectOne(new QueryWrapper<ComLowSecurityPopulationDO>().lambda().
                eq(ComLowSecurityPopulationDO::getPopulationId, populationDO.getId()));
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
        while (iterator.hasNext()) {
            String s = iterator.next();
            if (!labelList.contains(s))
                iterator.remove();
        }
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setCardNo(cardNoAES);
        if (comLowSecurityPopulationDO != null) {
            BeanUtils.copyProperties(vo, comLowSecurityPopulationDO);
            comLowSecurityPopulationDO.setCardNo(cardNoAES);
            comLowSecurityPopulationDAO.updateById(comLowSecurityPopulationDO);
        }else {
            comLowSecurityPopulationDO = new ComLowSecurityPopulationDO();
            BeanUtils.copyProperties(vo, comLowSecurityPopulationDO);
            comLowSecurityPopulationDO.setId(Snowflake.getId());
            comLowSecurityPopulationDO.setPopulationId(populationDO.getId());
            comLowSecurityPopulationDO.setCommunityId(populationDO.getActId());
            comLowSecurityPopulationDO.setStreetId(populationDO.getStreetId());
            comLowSecurityPopulationDAO.insert(comLowSecurityPopulationDO);
        }
        return populationDO;
    }
@@ -2640,7 +3306,11 @@
    private ComMngPopulationDO saveDrugPopulationDO(ComMngPopulationDrugExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) {
        ComMngPopulationDO populationDO = new ComMngPopulationDO();
        BeanUtils.copyProperties(vo, populationDO);
        populationDO.setId(Snowflake.getId());
        ComDrugPopulationDO comDrugPopulationDO = new ComDrugPopulationDO();
        BeanUtils.copyProperties(vo, comDrugPopulationDO);
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comDrugPopulationDO.setPopulationId(populationId);
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -2657,6 +3327,14 @@
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setCardNo(cardNoAES);
        //新增的时候默认绑定房屋id
//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
@@ -2666,13 +3344,21 @@
//        }
//        this.baseMapper.insert(populationDO);
        comDrugPopulationDO.setId(Snowflake.getId());
        comDrugPopulationDO.setCommunityId(comActDO.getCommunityId());
        comDrugPopulationDO.setStreetId(comActDO.getStreetId());
        comDrugPopulationDAO.insert(comDrugPopulationDO);
        return populationDO;
    }
    private ComMngPopulationDO saveCorrectPopulationDO(ComMngPopulationCorrectExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) {
        ComMngPopulationDO populationDO = new ComMngPopulationDO();
        BeanUtils.copyProperties(vo, populationDO);
        populationDO.setId(Snowflake.getId());
        ComCorrectPopulationDO comCorrectPopulationDO = new ComCorrectPopulationDO();
        BeanUtils.copyProperties(vo, comCorrectPopulationDO);
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comCorrectPopulationDO.setPopulationId(populationId);
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -2689,6 +3375,14 @@
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setCardNo(cardNoAES);
        //新增的时候默认绑定房屋id
//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
@@ -2698,13 +3392,21 @@
//        }
//        this.baseMapper.insert(populationDO);
        comCorrectPopulationDO.setId(Snowflake.getId());
        comCorrectPopulationDO.setCommunityId(comActDO.getCommunityId());
        comCorrectPopulationDO.setStreetId(comActDO.getStreetId());
        comCorrectPopulationDAO.insert(comCorrectPopulationDO);
        return populationDO;
    }
    private ComMngPopulationDO saveMajorPopulationDO(ComMngPopulationMajorExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) {
        ComMngPopulationDO populationDO = new ComMngPopulationDO();
        BeanUtils.copyProperties(vo, populationDO);
        populationDO.setId(Snowflake.getId());
        ComMajorPopulationDO comMajorPopulationDO = new ComMajorPopulationDO();
        BeanUtils.copyProperties(vo, comMajorPopulationDO);
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comMajorPopulationDO.setPopulationId(populationId);
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -2721,6 +3423,14 @@
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setCardNo(cardNoAES);
        //新增的时候默认绑定房屋id
//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
@@ -2730,13 +3440,21 @@
//        }
//        this.baseMapper.insert(populationDO);
        comMajorPopulationDO.setId(Snowflake.getId());
        comMajorPopulationDO.setCommunityId(comActDO.getCommunityId());
        comMajorPopulationDO.setStreetId(comActDO.getStreetId());
        comMajorPopulationDAO.insert(comMajorPopulationDO);
        return populationDO;
    }
    private ComMngPopulationDO saveCultPopulationDO(ComMngPopulationCultExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) {
        ComMngPopulationDO populationDO = new ComMngPopulationDO();
        BeanUtils.copyProperties(vo, populationDO);
        populationDO.setId(Snowflake.getId());
        ComCultPopulationDO comCultPopulationDO = new ComCultPopulationDO();
        BeanUtils.copyProperties(vo, comCultPopulationDO);
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comCultPopulationDO.setPopulationId(populationId);
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -2753,6 +3471,14 @@
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setCardNo(cardNoAES);
        //新增的时候默认绑定房屋id
//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
@@ -2762,13 +3488,21 @@
//        }
//        this.baseMapper.insert(populationDO);
        comCultPopulationDO.setId(Snowflake.getId());
        comCultPopulationDO.setCommunityId(comActDO.getCommunityId());
        comCultPopulationDO.setStreetId(comActDO.getStreetId());
        comCultPopulationDAO.insert(comCultPopulationDO);
        return populationDO;
    }
    private ComMngPopulationDO saveRehabilitationPopulationDO(ComMngPopulationRehabilitationExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) {
        ComMngPopulationDO populationDO = new ComMngPopulationDO();
        BeanUtils.copyProperties(vo, populationDO);
        populationDO.setId(Snowflake.getId());
        ComRehabilitationPopulationDO comRehabilitationPopulationDO = new ComRehabilitationPopulationDO();
        BeanUtils.copyProperties(vo, comRehabilitationPopulationDO);
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comRehabilitationPopulationDO.setPopulationId(populationId);
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -2785,6 +3519,14 @@
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setCardNo(cardNoAES);
        //新增的时候默认绑定房屋id
//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
@@ -2794,13 +3536,21 @@
//        }
//        this.baseMapper.insert(populationDO);
        comRehabilitationPopulationDO.setId(Snowflake.getId());
        comRehabilitationPopulationDO.setCommunityId(comActDO.getCommunityId());
        comRehabilitationPopulationDO.setStreetId(comActDO.getStreetId());
        comRehabilitationPopulationDAO.insert(comRehabilitationPopulationDO);
        return populationDO;
    }
    private ComMngPopulationDO saveKeyPopulationDO(ComMngPopulationKeyExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) {
        ComMngPopulationDO populationDO = new ComMngPopulationDO();
        BeanUtils.copyProperties(vo, populationDO);
        populationDO.setId(Snowflake.getId());
        ComKeyPopulationDO comKeyPopulationDO = new ComKeyPopulationDO();
        BeanUtils.copyProperties(vo, comKeyPopulationDO);
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comKeyPopulationDO.setPopulationId(populationId);
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -2817,6 +3567,14 @@
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setCardNo(cardNoAES);
        //新增的时候默认绑定房屋id
//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
@@ -2826,13 +3584,21 @@
//        }
//        this.baseMapper.insert(populationDO);
        comKeyPopulationDO.setId(Snowflake.getId());
        comKeyPopulationDO.setCommunityId(comActDO.getCommunityId());
        comKeyPopulationDO.setStreetId(comActDO.getStreetId());
        comKeyPopulationDAO.insert(comKeyPopulationDO);
        return populationDO;
    }
    private ComMngPopulationDO saveSentencePopulationDO(ComMngPopulationSentenceExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) {
        ComMngPopulationDO populationDO = new ComMngPopulationDO();
        BeanUtils.copyProperties(vo, populationDO);
        populationDO.setId(Snowflake.getId());
        ComSentencePopulationDO comSentencePopulationDO = new ComSentencePopulationDO();
        BeanUtils.copyProperties(vo, comSentencePopulationDO);
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comSentencePopulationDO.setPopulationId(populationId);
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -2849,6 +3615,14 @@
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setCardNo(cardNoAES);
        //新增的时候默认绑定房屋id
//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
@@ -2858,13 +3632,21 @@
//        }
//        this.baseMapper.insert(populationDO);
        comSentencePopulationDO.setId(Snowflake.getId());
        comSentencePopulationDO.setCommunityId(comActDO.getCommunityId());
        comSentencePopulationDO.setStreetId(comActDO.getStreetId());
        comSentencePopulationDAO.insert(comSentencePopulationDO);
        return populationDO;
    }
    private ComMngPopulationDO saveVeteransPopulationDO(ComMngPopulationVeteransExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) {
        ComMngPopulationDO populationDO = new ComMngPopulationDO();
        BeanUtils.copyProperties(vo, populationDO);
        populationDO.setId(Snowflake.getId());
        ComVeteransPopulationDO comVeteransPopulationDO = new ComVeteransPopulationDO();
        BeanUtils.copyProperties(vo, comVeteransPopulationDO);
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comVeteransPopulationDO.setPopulationId(populationId);
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -2881,6 +3663,14 @@
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setCardNo(cardNoAES);
        //新增的时候默认绑定房屋id
//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
@@ -2890,13 +3680,21 @@
//        }
//        this.baseMapper.insert(populationDO);
        comVeteransPopulationDO.setId(Snowflake.getId());
        comVeteransPopulationDO.setCommunityId(comActDO.getCommunityId());
        comVeteransPopulationDO.setStreetId(comActDO.getStreetId());
        comVeteransPopulationDAO.insert(comVeteransPopulationDO);
        return populationDO;
    }
    private ComMngPopulationDO saveDisabilityPopulationDO(ComMngPopulationDisabilityExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) {
        ComMngPopulationDO populationDO = new ComMngPopulationDO();
        BeanUtils.copyProperties(vo, populationDO);
        populationDO.setId(Snowflake.getId());
        ComDisabilityPopulationDO comDisabilityPopulationDO = new ComDisabilityPopulationDO();
        BeanUtils.copyProperties(vo, comDisabilityPopulationDO);
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comDisabilityPopulationDO.setPopulationId(populationId);
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
@@ -2913,6 +3711,14 @@
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setCardNo(cardNoAES);
        //新增的时候默认绑定房屋id
//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
@@ -2922,6 +3728,58 @@
//        }
//        this.baseMapper.insert(populationDO);
        comDisabilityPopulationDO.setId(Snowflake.getId());
        comDisabilityPopulationDO.setCommunityId(comActDO.getCommunityId());
        comDisabilityPopulationDO.setStreetId(comActDO.getStreetId());
        comDisabilityPopulationDAO.insert(comDisabilityPopulationDO);
        return populationDO;
    }
    private ComMngPopulationDO saveLowSecurityPopulationDO(ComMngPopulationLowSecurityExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) {
        ComMngPopulationDO populationDO = new ComMngPopulationDO();
        ComLowSecurityPopulationDO comLowSecurityPopulationDO = new ComLowSecurityPopulationDO();
        BeanUtils.copyProperties(vo, populationDO);
        BeanUtils.copyProperties(vo, comLowSecurityPopulationDO);
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comLowSecurityPopulationDO.setPopulationId(populationId);
        List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList());
        //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        Iterator<String> iterator = userTag.iterator();
        while (iterator.hasNext()) {
            String s = iterator.next();
            if (!labelList.contains(s))
                iterator.remove();
        }
        populationDO.setVillageId(comMngVillageDO.getVillageId());
        populationDO.setActId(comActDO.getCommunityId());
        populationDO.setStreetId(comActDO.getStreetId());
        populationDO.setLabel(Joiner.on(",").join(userTag));
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
        }catch (Exception e){
            log.error("身份证加密失败");
        }
        populationDO.setCardNo(cardNoAES);
        //新增的时候默认绑定房屋id
//        if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) ||
//                (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) {
//            populationDO.setHouseId(vo.getHouseId());
//        }else{
//            populationDO.setHouseId(null);
//        }
//        this.baseMapper.insert(populationDO);
        comLowSecurityPopulationDO.setId(Snowflake.getId());
        comLowSecurityPopulationDO.setCommunityId(comActDO.getCommunityId());
        comLowSecurityPopulationDO.setStreetId(comActDO.getStreetId());
        comLowSecurityPopulationDAO.insert(comLowSecurityPopulationDO);
        return populationDO;
    }
@@ -3335,6 +4193,47 @@
        return populationHouseDO;
    }
    private ComMngPopulationHouseDO saveLowSecurityPopulationHouse(ComMngPopulationLowSecurityExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId,StringBuilder areaPath, String actName) {
        //查询该房屋未建立,执行建立房屋信息
        ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO();
        populationHouseDO.setId(Snowflake.getId());
        populationHouseDO.setStreetId(comMngVillageDO.getStreetId());
        populationHouseDO.setVillageId(comMngVillageDO.getVillageId());
        populationHouseDO.setAlley(vo.getRoad());
        populationHouseDO.setHouseNum(vo.getDoorNo());
        populationHouseDO.setStatus(vo.getIsRent());
        populationHouseDO.setCommunityId(communityId);
        populationHouseDO.setFloor(vo.getFloor());
        populationHouseDO.setUnitNo(vo.getUnitNo());
        populationHouseDO.setHouseNo(vo.getHouseNo());
        populationHouseDO.setCode(vo.getHouseNo());
        populationHouseDO.setAddress(vo.getAddress());
        populationHouseDO.setUpdateAt(new Date());
//        populationHouseDO.setConstructPurpose(vo.getHousePurpose());
        StringBuilder housePath = new StringBuilder();
        housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">").append(comMngVillageDO.getName()).append(">").append(vo.getAddress());
        populationHouseDO.setPath(areaPath.toString() + housePath.toString());
//        try {
//            populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea()));
//        } catch (Exception e) {
//        }
        if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) {
            populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode());
        }
        if (vo.getHouseStatus() != null) {
            populationHouseDO.setStatus(vo.getHouseStatus());
        }
        if (vo.getHousePurpose() != null) {
            populationHouseDO.setPurpose(vo.getHousePurpose());
        }
        if (vo.getControlStatus() != null) {
            populationHouseDO.setControlStatus(vo.getControlStatus());
        }
//        comMngPopulationHouseDAO.insert(populationHouseDO);
        return populationHouseDO;
    }
    private ComMngPopulationHouseUserDO savePopulationHouseUser(ComMngPopulationServeExcelVO vo, ComMngPopulationDO comMngPopulationDO, ComMngPopulationHouseDO comMngPopulationHouseDO) {
        //查询该房屋未建立,执行建立房屋信息
        ComMngPopulationHouseUserDO populationHouseUserDO = new ComMngPopulationHouseUserDO();
@@ -3672,7 +4571,8 @@
            }
        } else {
            //新增
            Integer count = comMngUserTagDAO.selectCount(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName, comMngTagVO.getTagName()));
            Integer count = comMngUserTagDAO.selectCount(new QueryWrapper<ComMngUserTagDO>().lambda().eq(ComMngUserTagDO::getTagName, comMngTagVO.getTagName())
            .eq(ComMngUserTagDO::getCommunityId, comMngTagVO.getCommunityId()));
            if (count > 0) {
                return R.fail("该标签已存在,标签名称重复");
            }
@@ -4211,9 +5111,9 @@
        }
        comActPopulationScreenVO.setSpecialNum(specialNum.longValue());
        //统计已使用社区通人数
//        Long count = populationDAO.countUsedCommunityPopulation(communityId);
//        comActPopulationScreenVO.setUsedCommunityNum(count == null ? 0 : count);
        comActPopulationScreenVO.setUsedCommunityNum(1183L);
        Long count = populationDAO.countUsedCommunityPopulation(communityId);
        comActPopulationScreenVO.setUsedCommunityNum(count == null ? 0 : count);
//        comActPopulationScreenVO.setUsedCommunityNum(1183L);
        //统计性别
        Map<String, Long> sexMap = populationDAO.countBySex(communityId);
@@ -4696,9 +5596,14 @@
        mvo.setHouseStatus(PopulHouseStatusEnum.getCnDescByName(vo.getHouseStatus()));
        mvo.setHousePurpose(PopulHousePurposeEnum.getCnDescByName(vo.getHousePurpose()));
        mvo.setControlStatus(PopulHouseControlStatusEnum.getCnDescByName(vo.getControlStatus()));
//        mvo.setCultureLevel(PopulCultureLevelEnum.getCnDescByName(vo.getCultureLevel()));
        mvo.setCultureLevel(PopulCultureLevelEnum.getCnDescByName(vo.getCultureLevel()));
//        mvo.setMarriage(PopulMarriageEnum.getCnDescByName(vo.getMarriage()));
        mvo.setOutOrLocal(PopulOutOrLocalEnum.getCnDescByName(vo.getOutOrLocal()));
        mvo.setIsCorrectGroup(PopulHouseUseEnum.getCnDescByName(vo.getIsCorrectGroup()));
        mvo.setIsMissControl(PopulHouseUseEnum.getCnDescByName(vo.getIsMissControl()));
        mvo.setIsAgainCrime(PopulHouseUseEnum.getCnDescByName(vo.getIsAgainCrime()));
        mvo.setIsOutControl(PopulHouseUseEnum.getCnDescByName(vo.getIsOutControl()));
        mvo.setIsRecidivist(PopulHouseUseEnum.getCnDescByName(vo.getIsRecidivist()));
//        mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence()));
//        mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType()));
//        mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
@@ -4707,7 +5612,7 @@
    private void setMajorMistake(ComMngPopulationMajorMistakeExcelVO mvo, ComMngPopulationMajorExcelVO vo){
//        mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook()));
        mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent()));
        mvo.setPatientRelation(PopulRelationEnum.getCnDescByName(vo.getPatientRelation()));
        mvo.setCustodyRelation(PopulRelationEnum.getCnDescByName(vo.getCustodyRelation()));
//        mvo.setRelation(PopulRelationEnum.getCnDescByName(vo.getRelation()));
        mvo.setHouseStatus(PopulHouseStatusEnum.getCnDescByName(vo.getHouseStatus()));
        mvo.setHousePurpose(PopulHousePurposeEnum.getCnDescByName(vo.getHousePurpose()));
@@ -4715,6 +5620,7 @@
        mvo.setCultureLevel(PopulCultureLevelEnum.getCnDescByName(vo.getCultureLevel()));
//        mvo.setMarriage(PopulMarriageEnum.getCnDescByName(vo.getMarriage()));
        mvo.setOutOrLocal(PopulOutOrLocalEnum.getCnDescByName(vo.getOutOrLocal()));
        mvo.setIsCrime(PopulHouseUseEnum.getCnDescByName(vo.getIsCrime()));
//        mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence()));
//        mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType()));
//        mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
@@ -4730,6 +5636,7 @@
        mvo.setCultureLevel(PopulCultureLevelEnum.getCnDescByName(vo.getCultureLevel()));
        mvo.setMarriage(PopulMarriageEnum.getCnDescByName(vo.getMarriage()));
        mvo.setOutOrLocal(PopulOutOrLocalEnum.getCnDescByName(vo.getOutOrLocal()));
        mvo.setIsExternalPublicity(PopulHouseUseEnum.getCnDescByName(vo.getIsExternalPublicity()));
//        mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence()));
//        mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType()));
//        mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
@@ -4746,6 +5653,8 @@
//        mvo.setMarriage(PopulMarriageEnum.getCnDescByName(vo.getMarriage()));
        mvo.setOutOrLocal(PopulOutOrLocalEnum.getCnDescByName(vo.getOutOrLocal()));
        mvo.setIsRehab(PopulHouseUseEnum.getCnDescByName(vo.getIsRehab()));
        mvo.setIsRecidivist(PopulHouseUseEnum.getCnDescByName(vo.getIsRecidivist()));
        mvo.setIsAgainCrime(PopulHouseUseEnum.getCnDescByName(vo.getIsAgainCrime()));
//        mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence()));
//        mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType()));
//        mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
@@ -4821,6 +5730,25 @@
//        mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
    }
    private void setLowSecurityMistake(ComMngPopulationLowSecurityMistakeExcelVO mvo, ComMngPopulationLowSecurityExcelVO vo){
//        mvo.setRegiterNature(PopulRegiterNatureEnum.getCnDescByName(vo.getRegiterNature()));
//        mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook()));
        mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent()));
//        mvo.setPatientRelation(PopulRelationEnum.getCnDescByName(vo.getPatientRelation()));
        mvo.setHouseStatus(PopulHouseStatusEnum.getCnDescByName(vo.getHouseStatus()));
        mvo.setHousePurpose(PopulHousePurposeEnum.getCnDescByName(vo.getHousePurpose()));
        mvo.setControlStatus(PopulHouseControlStatusEnum.getCnDescByName(vo.getControlStatus()));
//        mvo.setCultureLevel(PopulCultureLevelEnum.getCnDescByName(vo.getCultureLevel()));
//        mvo.setMarriage(PopulMarriageEnum.getCnDescByName(vo.getMarriage()));
        mvo.setOutOrLocal(PopulOutOrLocalEnum.getCnDescByName(vo.getOutOrLocal()));
//        mvo.setIsVeteransTraining(PopulHouseUseEnum.getCnDescByName(vo.getIsVeteransTraining()));
//        mvo.setIsBusiness(PopulHouseUseEnum.getCnDescByName(vo.getIsBusiness()));
//        mvo.setIsRehab(PopulHouseUseEnum.getCnDescByName(vo.getIsRehab()));
//        mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence()));
//        mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType()));
//        mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath()));
    }
    /**
     * 判重方法
     * @param key   主键