manailin
2021-12-08 a22c110d080fe4387cd7b29a9bd36a727eb5944a
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java
@@ -9,8 +9,10 @@
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
import com.panzhihua.common.utlis.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -53,10 +55,6 @@
import com.panzhihua.common.model.vos.screen.ComActPopulationScreenVO;
import com.panzhihua.common.model.vos.screen.ComMngPopulationAgeVO;
import com.panzhihua.common.model.vos.user.*;
import com.panzhihua.common.utlis.AgeUtils;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.*;
@@ -471,25 +469,27 @@
                        break;
                    case 2:
                        comMngPopulationVO.setRoad(houseDO.getAlley());
                        comMngPopulationVO.setDoorNo(houseDO.getHouseNum());
//                        comMngPopulationVO.setDoorNo(houseDO.getHouseNum());
                        break;
                    case 3:
                        comMngPopulationVO.setRoad(houseDO.getAlley());
                        comMngPopulationVO.setDoorNo(houseDO.getHouseNum());
                        comMngPopulationVO.setFloor(houseDO.getFloor());
//                        comMngPopulationVO.setFloor(houseDO.getFloor());
                        break;
                    case 4:
                        comMngPopulationVO.setRoad(houseDO.getAlley());
                        comMngPopulationVO.setDoorNo(houseDO.getHouseNum());
                        comMngPopulationVO.setFloor(houseDO.getFloor());
                        comMngPopulationVO.setUnitNo(houseDO.getUnitNo());
//                        comMngPopulationVO.setUnitNo(houseDO.getUnitNo());
                        break;
                    case 5:
                        comMngPopulationVO.setRoad(houseDO.getAlley());
                        comMngPopulationVO.setDoorNo(houseDO.getHouseNum());
                        comMngPopulationVO.setFloor(houseDO.getFloor());
                        comMngPopulationVO.setUnitNo(houseDO.getUnitNo());
                        comMngPopulationVO.setHouseNo(houseDO.getHouseNo());
                        if(comMngPopulationVO.getLevelIsAll() == null){
                            comMngPopulationVO.setHouseNo(houseDO.getHouseNo());
                        }
                        break;
                    default:
                        break;
@@ -760,6 +760,7 @@
                    // 不存在实有人口,则新增
                    populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("查询实有人口是否已存在完成");
@@ -1055,6 +1056,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveDrugPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -1350,6 +1352,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveCorrectPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -1645,6 +1648,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveMajorPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -1940,6 +1944,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveCultPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -2237,6 +2242,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveRehabilitationPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -2533,6 +2539,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveKeyPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -2828,6 +2835,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveSentencePopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -3123,6 +3131,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveVeteransPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -3418,6 +3427,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveDisabilityPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -3718,6 +3728,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveLowSecurityPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -3843,10 +3854,6 @@
        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<>();
        // 需要新增的人口与社区关系集合
@@ -4017,6 +4024,7 @@
                    // 不存在实有人口,则新增
                    populationDO = saveElderPopulationDO(vo, populationActVO, comMngVillageDO, userId,communityId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -4071,10 +4079,14 @@
                        Iterator<String> iterator = userTag.iterator();
                        while (iterator.hasNext()) {
                            String s = iterator.next();
                            if (!labelList.contains(s))
                            if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())
                                    && comMngPopulationCommunityTagsDO.getLabel().contains(s)){
                                iterator.remove();
                            }
                        }
                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
                        if(userTag != null && userTag.size() > 0){
                            comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel() + "," + Joiner.on(",").join(userTag));
                        }
                        comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                        updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
@@ -4142,10 +4154,6 @@
        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<>();
        // 需要新增的人口与社区关系集合
@@ -4315,6 +4323,7 @@
                    // 不存在实有人口,则新增
                    populationDO = savePensionPopulationDO(vo, populationActVO, comMngVillageDO, userId);
                    saveList.add(populationDO);
                    populationMap.put(populationDO.getCardNo(),populationDO);
                }
                log.info("开始查询实有人口是否已存在完成");
@@ -4369,10 +4378,14 @@
                        Iterator<String> iterator = userTag.iterator();
                        while (iterator.hasNext()) {
                            String s = iterator.next();
                            if (!labelList.contains(s))
                            if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())
                                    && comMngPopulationCommunityTagsDO.getLabel().contains(s)){
                                iterator.remove();
                            }
                        }
                        comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag));
                        if(userTag != null && userTag.size() > 0){
                            comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel() + "," + Joiner.on(",").join(userTag));
                        }
                        comMngPopulationCommunityTagsDO.setUpdateBy(userId);
                        updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO);
@@ -4871,15 +4884,6 @@
        ComElderAuthElderliesDO comElderAuthElderliesDO =
                comElderAuthElderliesDAO.selectOne(new QueryWrapper<ComElderAuthElderliesDO>().lambda()
                        .eq(ComElderAuthElderliesDO::getPopulationId, populationDO.getId()).eq(ComElderAuthElderliesDO::getCommunityId, communityId));
        // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
        // userTagStr.split("\\(")[0]).collect(Collectors.toList());
        // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        // Iterator<String> iterator = userTag.iterator();
        // while (iterator.hasNext()) {
        // String s = iterator.next();
        // if (!labelList.contains(s))
        // iterator.remove();
        // }
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
@@ -4904,19 +4908,6 @@
                    comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.above100);
                }
            }
            if (!comElderAuthElderliesDO.getIsAlive().equals(1) || !comElderAuthElderliesDO.getIsRegister().equals(1)) {
                if (vo.getIsRegister().equals(1) && vo.getIsAlive().equals(1)) {
                    Date nowDate = new Date();
                    // 获取当前年
                    int year = DateUtils.getYear(nowDate);
                    // 获取当前月
                    int month = DateUtils.getMonth(nowDate) + 1;
                    ComEldersAuthStatisticsDO comEldersAuthStatisticsDO = comEldersAuthStatisticsMapper.selectOne(new QueryWrapper<ComEldersAuthStatisticsDO>()
                            .lambda().eq(ComEldersAuthStatisticsDO::getCommunityId, communityId).eq(ComEldersAuthStatisticsDO::getYear, year).eq(ComEldersAuthStatisticsDO::getMonth, month));
                    comEldersAuthStatisticsDO.setSum(comEldersAuthStatisticsDO.getSum() + 1);
                    comEldersAuthStatisticsMapper.updateById(comEldersAuthStatisticsDO);
                }
            }
            comElderAuthElderliesDAO.updateById(comElderAuthElderliesDO);
        } else {
            comElderAuthElderliesDO = new ComElderAuthElderliesDO();
@@ -4925,7 +4916,7 @@
            comElderAuthElderliesDO.setPopulationId(populationDO.getId());
            comElderAuthElderliesDO.setCommunityId(communityId);
            comElderAuthElderliesDO.setStreetId(populationDO.getStreetId());
            comElderAuthElderliesDO.setIdCard(cardNoAES);
            comElderAuthElderliesDO.setIdCard(vo.getCardNo());
            comElderAuthElderliesDO.setAddress(vo.getNowAddress());
            if (StringUtils.isNotEmpty(vo.getBirthday())) {
                int age = AgeUtils.getAgeFromBirthTimes(vo.getBirthday());
@@ -4937,19 +4928,11 @@
                    comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.above100);
                }
            }
            if (vo.getIsRegister().equals(1) && vo.getIsAlive().equals(1)) {
                Date nowDate = new Date();
                // 获取当前年
                int year = DateUtils.getYear(nowDate);
                // 获取当前月
                int month = DateUtils.getMonth(nowDate) + 1;
                ComEldersAuthStatisticsDO comEldersAuthStatisticsDO = comEldersAuthStatisticsMapper.selectOne(new QueryWrapper<ComEldersAuthStatisticsDO>()
                        .lambda().eq(ComEldersAuthStatisticsDO::getCommunityId, communityId).eq(ComEldersAuthStatisticsDO::getYear, year).eq(ComEldersAuthStatisticsDO::getMonth, month));
                comEldersAuthStatisticsDO.setSum(comEldersAuthStatisticsDO.getSum() + 1);
                comEldersAuthStatisticsMapper.updateById(comEldersAuthStatisticsDO);
            }
            comElderAuthElderliesDAO.insert(comElderAuthElderliesDO);
        }
        //维护养老认证健在状态
        comPensionAuthPensionerDAO.editPensionIsAlive(populationDO.getId(),vo.getIsAlive());
        return populationDO;
    }
@@ -4960,15 +4943,6 @@
                comPensionAuthPensionerDAO.selectOne(new QueryWrapper<ComPensionAuthPensionerDO>().lambda()
                        .eq(ComPensionAuthPensionerDO::getPopulationId, populationDO.getId())
                        .eq(ComPensionAuthPensionerDO::getCommunityId, communityId));
        // List<String> userTag = vo.getUserTagStr().stream().map(userTagStr ->
        // userTagStr.split("\\(")[0]).collect(Collectors.toList());
        // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除
        // Iterator<String> iterator = userTag.iterator();
        // while (iterator.hasNext()) {
        // String s = iterator.next();
        // if (!labelList.contains(s))
        // iterator.remove();
        // }
        String cardNoAES = populationDO.getCardNo();
        try {
            cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey);
@@ -4983,23 +4957,6 @@
            BeanUtils.copyProperties(vo, comPensionAuthPensionerDO);
            comPensionAuthPensionerDO.setIdCard(cardNoAES);
            comPensionAuthPensionerDO.setAddress(vo.getNowAddress());
            if (!comPensionAuthPensionerDO.getIsAlive().equals(1) || !comPensionAuthPensionerDO.getIsRegister().equals(1)) {
                if (vo.getIsRegister().equals(1) && vo.getIsAlive().equals(1)) {
                    Date nowDate = new Date();
                    // 获取当前年
                    int year = (DateUtils.getYear(nowDate));
                    ComPensionAuthStatisticsDO comPensionAuthStatisticsDO = comPensionAuthStatisticsDAO.selectOne(new QueryWrapper<ComPensionAuthStatisticsDO>()
                            .lambda().eq(ComPensionAuthStatisticsDO::getCommunityId, communityId)
                            .eq(ComPensionAuthStatisticsDO::getYear, year));
                    if(null == comPensionAuthStatisticsDO){
                        comPensionAuthStatisticsDO = comPensionAuthStatisticsDAO.selectOne(new QueryWrapper<ComPensionAuthStatisticsDO>()
                                .lambda().eq(ComPensionAuthStatisticsDO::getCommunityId, communityId)
                                .eq(ComPensionAuthStatisticsDO::getYear, year - 1));
                    }
                    comPensionAuthStatisticsDO.setSum(comPensionAuthStatisticsDO.getSum() + 1);
                    comPensionAuthStatisticsDAO.updateById(comPensionAuthStatisticsDO);
                }
            }
            comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO);
        } else {
            comPensionAuthPensionerDO = new ComPensionAuthPensionerDO();
@@ -5008,20 +4965,12 @@
            comPensionAuthPensionerDO.setPopulationId(populationDO.getId());
            comPensionAuthPensionerDO.setCommunityId(populationDO.getActId());
            comPensionAuthPensionerDO.setStreetId(populationDO.getStreetId());
            comPensionAuthPensionerDO.setIdCard(cardNoAES);
            comPensionAuthPensionerDO.setIdCard(vo.getCardNo());
            comPensionAuthPensionerDO.setAddress(vo.getNowAddress());
            comPensionAuthPensionerDAO.insert(comPensionAuthPensionerDO);
            if (vo.getIsRegister().equals(1) && vo.getIsAlive().equals(1)) {
                Date nowDate = new Date();
                // 获取当前年
                int year = (DateUtils.getYear(nowDate));
                ComPensionAuthStatisticsDO comPensionAuthStatisticsDO = comPensionAuthStatisticsDAO.selectOne(new QueryWrapper<ComPensionAuthStatisticsDO>()
                        .lambda().eq(ComPensionAuthStatisticsDO::getCommunityId, communityId)
                        .eq(ComPensionAuthStatisticsDO::getYear, year));
                comPensionAuthStatisticsDO.setSum(comPensionAuthStatisticsDO.getSum() + 1);
                comPensionAuthStatisticsDAO.updateById(comPensionAuthStatisticsDO);
            }
        }
        //维护高龄老人健在状态
        comElderAuthElderliesDAO.editEditIsAlive(populationDO.getId(),vo.getIsAlive());
        return populationDO;
    }
@@ -5047,6 +4996,7 @@
        populationDO.setVillageName(comMngVillageDO.getGroupAt());
        populationDO.setCardNoStr(vo.getCardNo());
        populationDO.setUpdateAt(new Date());
        populationDO.setDeath(vo.getDeath().toString());
        String cardNoAES = populationDO.getCardNo();
        try {
@@ -5587,16 +5537,6 @@
        Long populationId = Snowflake.getId();
        populationDO.setId(populationId);
        comElderAuthElderliesDO.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());
@@ -5625,7 +5565,7 @@
        comElderAuthElderliesDO.setId(Snowflake.getId());
        comElderAuthElderliesDO.setCommunityId(comActDO.getCommunityId());
        comElderAuthElderliesDO.setStreetId(comActDO.getStreetId());
        comElderAuthElderliesDO.setIdCard(cardNoAES);
        comElderAuthElderliesDO.setIdCard(vo.getCardNo());
        comElderAuthElderliesDO.setAddress(vo.getNowAddress());
        if (StringUtils.isNotEmpty(vo.getBirthday())) {
            int age = AgeUtils.getAgeFromBirthTimes(vo.getBirthday());
@@ -5636,17 +5576,6 @@
            }else if (age >= 100){
                comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.above100);
            }
        }
        if (vo.getIsRegister().equals(1) && vo.getIsAlive().equals(1)) {
            Calendar calendar = Calendar.getInstance();
            // 获取当前年
            int year = calendar.get(Calendar.YEAR);
            // 获取当前月
            int month = calendar.get(Calendar.MONTH) + 1;
            ComEldersAuthStatisticsDO comEldersAuthStatisticsDO = comEldersAuthStatisticsMapper.selectOne(new QueryWrapper<ComEldersAuthStatisticsDO>()
                    .lambda().eq(ComEldersAuthStatisticsDO::getCommunityId, communityId).eq(ComEldersAuthStatisticsDO::getYear, year).eq(ComEldersAuthStatisticsDO::getMonth, month));
            comEldersAuthStatisticsDO.setSum(comEldersAuthStatisticsDO.getSum() + 1);
            comEldersAuthStatisticsMapper.updateById(comEldersAuthStatisticsDO);
        }
        comElderAuthElderliesDAO.insert(comElderAuthElderliesDO);
        return populationDO;
@@ -5699,7 +5628,7 @@
        comPensionAuthPensionerDO.setId(Snowflake.getId());
        comPensionAuthPensionerDO.setCommunityId(comActDO.getCommunityId());
        comPensionAuthPensionerDO.setStreetId(comActDO.getStreetId());
        comPensionAuthPensionerDO.setIdCard(cardNoAES);
        comPensionAuthPensionerDO.setIdCard(vo.getCardNo());
        comPensionAuthPensionerDO.setAddress(vo.getNowAddress());
        comPensionAuthPensionerDAO.insert(comPensionAuthPensionerDO);
        return populationDO;
@@ -6382,23 +6311,14 @@
    /**
     * 批量删除实有人口
     *
     * @param Ids
     * @return
     * @param ids 实有人口id集合
     * @return  删除结果
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R deletePopulations(List<Long> Ids) {
        if (!Ids.isEmpty()) {
            Ids.forEach(id -> {
                // 清除用户房屋居住信息
                comMngPopulationHouseUserDAO.deletePopulationHouseByUserId(id);
            });
        }
        int delete = populationDAO.deleteBatchIds(Ids);
        if (delete > 0) {
            return R.ok();
        }
        return R.fail();
    public R deletePopulations(List<Long> ids, Long communityId) {
        comMngPopulationCommunityTagsDAO.deletePopulationRelation(ids,communityId);
        return R.ok();
    }
    /**
@@ -6481,6 +6401,16 @@
            populationDO.setStreetId(comActDO.getStreetId());
        }
        //修改人员标签
        List<ComMngPopulationCommunityTagsDO> communityTagsDOList = comMngPopulationCommunityTagsDAO
                .selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>().lambda()
                .eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)
                .eq(ComMngPopulationCommunityTagsDO::getPopulationId,vo.getId()));
        communityTagsDOList.forEach(communityTags -> {
            communityTags.setLabel(vo.getLabel());
            comMngPopulationCommunityTagsDAO.updateById(communityTags);
        });
        // 查询当前用户所有房屋id
        List<Long> houseIds = comMngPopulationHouseUserDAO.getPopulationHouseIdByUserId(vo.getId());
        // 清除用户房屋居住信息
@@ -6555,6 +6485,83 @@
        // comMngPopulationHouseUserDO.setCreateAt(new Date());
        // comMngPopulationHouseUserDAO.insert(comMngPopulationHouseUserDO);
        // }
        //修改吸毒人员信息
        if (null != vo.getComDrugPopulationVO()) {
            ComDrugPopulationVO comDrugPopulationVO = vo.getComDrugPopulationVO();
            ComDrugPopulationDO comDrugPopulationDO = comDrugPopulationDAO.selectById(comDrugPopulationVO.getId());
            BeanUtils.copyProperties(comDrugPopulationVO, comDrugPopulationDO);
            comDrugPopulationDAO.updateById(comDrugPopulationDO);
        }
        //修改社区矫正人员信息
        if (null != vo.getComCorrectPopulationVO()) {
            ComCorrectPopulationVO comCorrectPopulationVO = vo.getComCorrectPopulationVO();
            ComCorrectPopulationDO comCorrectPopulationDO = comCorrectPopulationDAO.selectById(comCorrectPopulationVO.getId());
            BeanUtils.copyProperties(comCorrectPopulationVO, comCorrectPopulationDO);
            comCorrectPopulationDAO.updateById(comCorrectPopulationDO);
        }
        //修改精神障碍信息
        if (null != vo.getComMajorPopulationVO()) {
            ComMajorPopulationVO comMajorPopulationVO = vo.getComMajorPopulationVO();
            ComMajorPopulationDO comCorrectPopulationDO = comMajorPopulationDAO.selectById(comMajorPopulationVO.getId());
            BeanUtils.copyProperties(comMajorPopulationVO, comCorrectPopulationDO);
            comMajorPopulationDAO.updateById(comCorrectPopulationDO);
        }
        //修改邪教信息
        if (null != vo.getComCultPopulationVO()) {
            ComCultPopulationVO comCultPopulationVO = vo.getComCultPopulationVO();
            ComCultPopulationDO comCultPopulationDO = comCultPopulationDAO.selectById(comCultPopulationVO.getId());
            BeanUtils.copyProperties(comCultPopulationVO, comCultPopulationDO);
            comCultPopulationDAO.updateById(comCultPopulationDO);
        }
        //修改刑释信息
        if (null != vo.getComRehabilitationPopulationVO()) {
            ComRehabilitationPopulationVO comRehabilitationPopulationVO = vo.getComRehabilitationPopulationVO();
            ComRehabilitationPopulationDO comRehabilitationPopulationDO = comRehabilitationPopulationDAO.selectById(comRehabilitationPopulationVO.getId());
            BeanUtils.copyProperties(comRehabilitationPopulationVO, comRehabilitationPopulationDO);
            comRehabilitationPopulationDAO.updateById(comRehabilitationPopulationDO);
        }
        //修改上访信息
        if (null != vo.getComKeyPopulationVO()) {
            ComKeyPopulationVO comKeyPopulationVO = vo.getComKeyPopulationVO();
            ComKeyPopulationDO comKeyPopulationDO = comKeyPopulationDAO.selectById(comKeyPopulationVO.getId());
            BeanUtils.copyProperties(comKeyPopulationVO, comKeyPopulationDO);
            comKeyPopulationDAO.updateById(comKeyPopulationDO);
        }
        //修改退役军人信息
        if (null != vo.getComVeteransPopulationVO()) {
            ComVeteransPopulationVO comVeteransPopulationVO = vo.getComVeteransPopulationVO();
            ComVeteransPopulationDO comVeteransPopulationDO = comVeteransPopulationDAO.selectById(comVeteransPopulationVO.getId());
            BeanUtils.copyProperties(comVeteransPopulationVO, comVeteransPopulationDO);
            comVeteransPopulationDAO.updateById(comVeteransPopulationDO);
        }
        //修改残疾人信息
        if (null != vo.getComDisabilityPopulationVO()) {
            ComDisabilityPopulationVO comDisabilityPopulationVO = vo.getComDisabilityPopulationVO();
            ComDisabilityPopulationDO comDisabilityPopulationDO = comDisabilityPopulationDAO.selectById(comDisabilityPopulationVO.getId());
            BeanUtils.copyProperties(comDisabilityPopulationVO, comDisabilityPopulationDO);
            comDisabilityPopulationDAO.updateById(comDisabilityPopulationDO);
        }
        //修改低保户信息
        if (null != vo.getComLowSecurityPopulationVO()) {
            ComLowSecurityPopulationVO comLowSecurityPopulationVO = vo.getComLowSecurityPopulationVO();
            ComLowSecurityPopulationDO comLowSecurityPopulationDO = comLowSecurityPopulationDAO.selectById(comLowSecurityPopulationVO.getId());
            BeanUtils.copyProperties(comLowSecurityPopulationVO, comLowSecurityPopulationDO);
            comLowSecurityPopulationDAO.updateById(comLowSecurityPopulationDO);
        }
        //修改高龄老人信息
        if (null != vo.getComElderAuthElderliesVO()) {
            ComElderAuthElderliesVO comElderAuthElderliesVO = vo.getComElderAuthElderliesVO();
            ComElderAuthElderliesDO comElderAuthElderliesDO = comElderAuthElderliesDAO.selectById(comElderAuthElderliesVO.getId());
            BeanUtils.copyProperties(comElderAuthElderliesVO, comElderAuthElderliesDO);
            comElderAuthElderliesDAO.updateById(comElderAuthElderliesDO);
        }
        //修改养老人员信息
        if (null != vo.getComPensionAuthPensionerVO()) {
            ComPensionAuthPensionerVO comPensionAuthPensionerVO = vo.getComPensionAuthPensionerVO();
            ComPensionAuthPensionerDO comPensionAuthPensionerDO = comPensionAuthPensionerDAO.selectById(comPensionAuthPensionerVO.getId());
            BeanUtils.copyProperties(comPensionAuthPensionerVO, comPensionAuthPensionerDO);
            comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO);
        }
        if (populationDAO.updateById(populationDO) > 0) {
            return R.ok();
        } else {
@@ -6566,6 +6573,19 @@
    public R specialInputUser(PageInputUserDTO pageInputUserDTO) {
        IPage<InputUserInfoVO> iPage = populationDAO.specialInputUser(
            new Page<>(pageInputUserDTO.getPageNum(), pageInputUserDTO.getPageSize()), pageInputUserDTO);
        if(iPage!=null){
            iPage.getRecords().forEach(page -> {
                if(page.getAreaName() == null || StringUtils.isEmpty(page.getAreaName())){
                    StringBuilder sb = new StringBuilder();
                    sb.append(page.getAlley());
                    if(!page.getHouseNum().contains("号")){
                        sb.append(page.getHouseNum() + "号");
                    }
                    page.setAreaName(sb.toString());
                }
            });
        }
        return R.ok(iPage);
    }
@@ -6577,13 +6597,24 @@
     * @return 删除结果
     */
    @Override
    public R deleteSpecialInputUser(Long id) {
    public R deleteSpecialInputUser(Long id,Long communityId) {
        // 查询特殊群体人员
        ComMngPopulationDO populationDO = this.baseMapper.selectById(id);
        if (populationDO == null) {
            return R.fail("未查询到该记录");
        }
        populationDO.setLabel(null);
        //  清理社区与人口关联信息的label信息
        List<ComMngPopulationCommunityTagsDO> communityTagsDOList = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper<ComMngPopulationCommunityTagsDO>()
                .lambda().eq(ComMngPopulationCommunityTagsDO::getPopulationId,id).eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId));
        if(communityTagsDOList != null && communityTagsDOList.size() > 0){
            communityTagsDOList.forEach(communityTags -> {
                communityTags.setLabel(null);
                comMngPopulationCommunityTagsDAO.updateById(communityTags);
            });
        }
        if (this.baseMapper.updateById(populationDO) > 0) {
            return R.ok();
        } else {
@@ -7312,8 +7343,11 @@
                statisticsVO.setDangerLevel("0");
                statisticsVO.setMajor(false);
                statisticsVO.setUrgent(false);
                if (statisticsVO.getEventDealStatus().equals(2)) {
                    statisticsVO.setEventDealStatus(4);
                if (statisticsVO.getEventDealStatus().equals(2)||statisticsVO.getEventDealStatus().equals(1)) {
                    statisticsVO.setEventDealStatus(1);
                }
                else {
                    statisticsVO.setEventDealStatus(2);
                }
                List<EventResourceVO> picList = new ArrayList<>();
                String[] pics = statisticsVO.getPhotoPathList().split(",");
@@ -7433,6 +7467,10 @@
            if (StringUtils.isNotEmpty(detail.getMarriage())) {
                detail.setMarriage(PopulMarriageEnum.getCnDescByName(Integer.parseInt(detail.getMarriage())));
            }
            //查询该人口的标签
            List<ComMngPopulationCommunityTagsVo> communityTagsList = this.baseMapper.getCommunityTagList(populationId);
            String label = LabelUtils.assembleLabel(communityTagsList);
            detail.setLabel(label);
        }
        return R.ok(detail);
    }
@@ -7656,6 +7694,11 @@
            new Page(villagePopulationDTO.getPageNum(), villagePopulationDTO.getPageSize()), villagePopulationDTO));
    }
    @Override
    public R specialInputUserExport(PageInputUserDTO pageInputUserDTO) {
        return R.ok(this.comMngPopulationDAO.specialInputUserExport(pageInputUserDTO));
    }
    private void setMistake(ComMngPopulationMistakeExcelVO mvo, ComMngPopulationServeExcelVO vo) {
        mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook()));
        mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent()));