package com.panzhihua.service_community.service.impl; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; import com.panzhihua.common.model.vos.community.bigscreen.WestScreenStatics; import com.panzhihua.common.model.vos.community.screen.civil.*; import com.panzhihua.common.model.vos.community.bigscreen.*; import com.panzhihua.common.utlis.*; import com.panzhihua.service_community.util.WxDataUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.base.Joiner; import com.google.common.collect.Lists; import com.panzhihua.common.enums.*; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.*; import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenEventDTO; import com.panzhihua.common.model.dtos.community.bigscreen.BigScreenEventDetailDTO; import com.panzhihua.common.model.dtos.grid.PageComMngPopulationDTO; import com.panzhihua.common.model.dtos.grid.PagePopulationListDTO; import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationExportDTO; import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationListDTO; import com.panzhihua.common.model.dtos.grid.admin.PageComMngVillagePopulationDTO; import com.panzhihua.common.model.dtos.user.PageInputUserDTO; import com.panzhihua.common.model.helper.AESUtil; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.model.vos.community.bigscreen.BigScreenStatisticPartyBuild; import com.panzhihua.common.model.vos.community.screen.civil.CivilPopulationStatisticsVO; import com.panzhihua.common.model.vos.community.screen.civil.CivilStatisticsVO; import com.panzhihua.common.model.vos.community.screen.civil.CivilVillageStatisticsVO; import com.panzhihua.common.model.vos.community.screen.event.*; import com.panzhihua.common.model.vos.community.screen.event.EventTransferRecordVO; import com.panzhihua.common.model.vos.community.screen.index.*; import com.panzhihua.common.model.vos.grid.*; import com.panzhihua.common.model.vos.grid.admin.ComMngPopulationListVO; import com.panzhihua.common.model.vos.grid.admin.ComMngPopulationVillageVO; import com.panzhihua.common.model.vos.grid.admin.excel.ComMngPopulationExportExcelVO; import com.panzhihua.common.model.vos.screen.ComActPopulationCultureVO; 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.service_community.dao.*; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.*; import cn.hutool.core.util.IdcardUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestParam; import static java.util.Objects.nonNull; /** * 实有人口Service实现类 */ @Slf4j @Service public class ComMngPopulationServiceImpl extends ServiceImpl implements ComMngPopulationService { @Resource private ComMngPopulationDAO populationDAO; @Resource private ComActDAO comActDAO; @Resource private ComActVillageDAO comActVillageDAO; @Resource private ComMngPopulationHouseDAO comMngPopulationHouseDAO; @Resource private ComStreetDAO comStreetDAO; @Resource private ComMngCarDAO comMngCarDAO; @Resource private ComMngPopulationHouseUserDAO comMngPopulationHouseUserDAO; @Resource private ComMngPopulationCommunityTagsDAO comMngPopulationCommunityTagsDAO; @Resource private ComMngPopulationCommunityTagsService comMngPopulationCommunityTagsService; @Resource private ComMngPopulationDAO comMngPopulationDAO; @Resource private ComMngPopulationHouseUserService comMngPopulationHouseUserService; @Resource private ComMngPopulationHouseService comMngPopulationHouseService; @Resource private EventResourceService eventResourceService; @Resource 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; @Resource private ComElderAuthElderliesDAO comElderAuthElderliesDAO; @Resource private ComPensionAuthPensionerDAO comPensionAuthPensionerDAO; @Resource private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper; @Resource private ComPensionAuthStatisticsDAO comPensionAuthStatisticsDAO; @Resource private ComActReserveMapper comActReserveMapper; @Value("${domain.aesKey:}") private String aesKey; @Resource private ComActEasyPhotoDAO comActEasyPhotoDAO; @Resource private ComMngBuildingDAO comMngBuildingDAO; /** * 新增实有人口 * * @param comMngPopulationVO * 新增信息 * @return 新增结果 */ @Override public R addPopulation(ComMngPopulationVO comMngPopulationVO) { ComMngPopulationDO comMngPopulationDO = new ComMngPopulationDO(); Integer integer = populationDAO.selectCount(new QueryWrapper().lambda() .eq(ComMngPopulationDO::getCardNo, comMngPopulationVO.getCardNo())); if (integer > 0) { return R.fail("实有人口已经存在"); } BeanUtils.copyProperties(comMngPopulationVO, comMngPopulationDO); int nub = populationDAO.insert(comMngPopulationDO); if (nub < 1) { return R.fail(); } return R.ok(nub); } /** * 编辑实有人口 * * @param comMngPopulationVO * 编辑内容 * @return 编辑结果 */ @Override public R putPopulation(ComMngPopulationVO comMngPopulationVO) { ComMngPopulationDO comMngPopulationDO = populationDAO.selectById(comMngPopulationVO.getId()); if (comMngPopulationDO == null) { return R.fail("未查询到人口记录"); } BeanUtils.copyProperties(comMngPopulationVO, comMngPopulationDO); int nub = populationDAO.updateById(comMngPopulationDO); if (nub < 1) { return R.fail(); } return R.ok(); } /** * 查询实有人口 * * @param comMngPopulationVO * 查询条件 * @return 实有人口集合 */ @Override public R listPopulation(ComMngPopulationDTO comMngPopulationVO) { List populationVOS = populationDAO.listPopulation(comMngPopulationVO); return R.ok(populationVOS); } /** * 实有人口详情 * * @param populationId * 实有人口id * @return 实有人口详情 */ @Override public R detailPopulation(Long populationId, Long communityId) { ComMngPopulationDO comMngPopulationDO = populationDAO.selectById(populationId); if (ObjectUtils.isEmpty(comMngPopulationDO)) { return R.fail("用户信息不存在"); } // if(StringUtils.isNotEmpty(comMngPopulationDO.getBirthday())){//计算年龄 // comMngPopulationDO.setAge(AgeUtils.getAgeFromBirthTimes(comMngPopulationDO.getBirthday())); // } ComMngPopulationVO comMngPopulationVO = new ComMngPopulationVO(); BeanUtils.copyProperties(comMngPopulationDO, comMngPopulationVO); comMngPopulationVO.setCultureLevelName(PopulCultureLevelEnum.getCnDescByName(comMngPopulationVO.getCultureLevel())); // 查询户主关系信息 // List comMngFamilyInfoVOS = // populationDAO.listHouseMermberByUserId(comMngPopulationDO.getHouseId(),comMngPopulationDO.getId()); // if (!comMngFamilyInfoVOS.isEmpty()) { // comMngPopulationVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS); // } // 查询户主关系信息 List comMngFamilyInfoVOS = populationDAO.listHouseMermberByPopuId(comMngPopulationDO.getId()); if (!comMngFamilyInfoVOS.isEmpty()) { for (ComHouseMemberVo comHouseMemberVo : comMngFamilyInfoVOS) { comHouseMemberVo.setAge(AgeUtils.getAgeFromBirthTimes(comHouseMemberVo.getBirthDay())); } comMngPopulationVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS); } // 设置户主关系 List comMngPopulationHouseUserDOS = comMngPopulationHouseUserDAO.selectList((new QueryWrapper().lambda() .eq(ComMngPopulationHouseUserDO::getPopulId, populationId))); if (!comMngPopulationHouseUserDOS.isEmpty()) { comMngPopulationVO .setRelation(comMngPopulationHouseUserDOS.get(comMngPopulationHouseUserDOS.size() - 1).getRelation()); comMngPopulationVO.setRelationName(PopulRelationEnum.getCnDescByName(comMngPopulationVO.getRelation())); } // 设置年龄 if (StringUtils.isNotEmpty(comMngPopulationVO.getBirthday())) { comMngPopulationVO.setAge(AgeUtils.getAgeFromBirthTimes(comMngPopulationVO.getBirthday())); } // 设置特殊群体标签 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = comMngPopulationCommunityTagsDAO.selectOne(new QueryWrapper().lambda() .eq(ComMngPopulationCommunityTagsDO::getPopulationId, populationId) .eq(ComMngPopulationCommunityTagsDO::getCommunityId, communityId)); if (null != comMngPopulationCommunityTagsDO) { comMngPopulationVO.setLabel(comMngPopulationCommunityTagsDO.getLabel()); } // 查询当前用户电子档信息 if (!StringUtils.isEmpty(comMngPopulationDO.getCardNo())) { UserElectronicFileVO electronicFileVO = populationDAO.getSysUserElectronicFile(comMngPopulationDO.getCardNo()); if (electronicFileVO != null) { comMngPopulationVO.setUserElectronicFileVO(electronicFileVO); // 查询家庭成员信息 List familyInfoVOList = populationDAO.listFamilyByUserId(electronicFileVO.getUserId()); if (!familyInfoVOList.isEmpty()) { comMngPopulationVO.setFamilyInfoVOList(familyInfoVOList); } } } // 查询当前用户房屋信息 List houseList = comMngPopulationHouseDAO.getPopulHouseListByPopulId(populationId); if (!houseList.isEmpty()) { houseList.forEach(house -> { }); comMngPopulationVO.setHouseList(houseList); } // 查询当前实有人口车辆信息 List carList = comMngCarDAO.getPopulationCarListByIdCard(comMngPopulationDO.getCardNo()); if (!carList.isEmpty()) { comMngPopulationVO.setCarList(carList); } if (communityId != null){ // 吸毒信息 List comDrugPopulationVOs = new ArrayList<>(); List comDrugPopulationDOs = comDrugPopulationDAO.selectList( new QueryWrapper().lambda().eq(ComDrugPopulationDO::getPopulationId, populationId) .eq(ComDrugPopulationDO::getCommunityId, communityId)); if (!comDrugPopulationDOs.isEmpty()) { comDrugPopulationDOs.forEach(comDrugPopulationDO -> { ComDrugPopulationVO comDrugPopulationVO = new ComDrugPopulationVO(); BeanUtils.copyProperties(comDrugPopulationDO, comDrugPopulationVO); comDrugPopulationVOs.add(comDrugPopulationVO); comMngPopulationVO.setComDrugPopulationVOs(comDrugPopulationVOs); }); } // 社区矫正信息 List comCorrectPopulationVOS = new ArrayList<>(); List comCorrectPopulationDOS = comCorrectPopulationDAO.selectList(new QueryWrapper().lambda() .eq(ComCorrectPopulationDO::getPopulationId, populationId) .eq(ComCorrectPopulationDO::getCommunityId, communityId)); if (!comCorrectPopulationDOS.isEmpty()) { comCorrectPopulationDOS.forEach(comCorrectPopulationDO -> { ComCorrectPopulationVO comCorrectPopulationVO = new ComCorrectPopulationVO(); BeanUtils.copyProperties(comCorrectPopulationDO, comCorrectPopulationVO); comCorrectPopulationVOS.add(comCorrectPopulationVO); comMngPopulationVO.setComCorrectPopulationVOs(comCorrectPopulationVOS); }); } // 精神障碍信息 List comMajorPopulationVOS = new ArrayList<>(); List comMajorPopulationDOs = comMajorPopulationDAO.selectList( new QueryWrapper().lambda().eq(ComMajorPopulationDO::getPopulationId, populationId) .eq(ComMajorPopulationDO::getCommunityId, communityId)); if (!comMajorPopulationDOs.isEmpty()) { comMajorPopulationDOs.forEach(comMajorPopulationDO -> { ComMajorPopulationVO comMajorPopulationVO = new ComMajorPopulationVO(); BeanUtils.copyProperties(comMajorPopulationDO, comMajorPopulationVO); comMajorPopulationVOS.add(comMajorPopulationVO); comMngPopulationVO.setComMajorPopulationVOs(comMajorPopulationVOS); }); } // 邪教信息 List comCultPopulationVOS = new ArrayList<>(); List comCultPopulationDOS = comCultPopulationDAO.selectList( new QueryWrapper().lambda().eq(ComCultPopulationDO::getPopulationId, populationId) .eq(ComCultPopulationDO::getCommunityId, communityId)); if (!comCultPopulationDOS.isEmpty()) { comCultPopulationDOS.forEach(comCultPopulationDO -> { ComCultPopulationVO comCultPopulationVO = new ComCultPopulationVO(); BeanUtils.copyProperties(comCultPopulationDO, comCultPopulationVO); comCultPopulationVOS.add(comCultPopulationVO); comMngPopulationVO.setComCultPopulationVOs(comCultPopulationVOS); }); } // 刑释信息 List comRehabilitationPopulationVOS = new ArrayList<>(); List comRehabilitationPopulationDOS = comRehabilitationPopulationDAO.selectList(new QueryWrapper().lambda() .eq(ComRehabilitationPopulationDO::getPopulationId, populationId) .eq(ComRehabilitationPopulationDO::getCommunityId, communityId)); if (!comRehabilitationPopulationDOS.isEmpty()) { comRehabilitationPopulationDOS.forEach(comRehabilitationPopulationDO -> { ComRehabilitationPopulationVO comRehabilitationPopulationVO = new ComRehabilitationPopulationVO(); BeanUtils.copyProperties(comRehabilitationPopulationDO, comRehabilitationPopulationVO); comRehabilitationPopulationVOS.add(comRehabilitationPopulationVO); comMngPopulationVO.setComRehabilitationPopulationVOs(comRehabilitationPopulationVOS); }); } // 上访信息 List comKeyPopulationVOS = new ArrayList<>(); List comKeyPopulationDOS = comKeyPopulationDAO.selectList( new QueryWrapper().lambda().eq(ComKeyPopulationDO::getPopulationId, populationId) .eq(ComKeyPopulationDO::getCommunityId, communityId)); if (!comKeyPopulationDOS.isEmpty()) { comKeyPopulationDOS.forEach(comKeyPopulationDO -> { ComKeyPopulationVO comKeyPopulationVO = new ComKeyPopulationVO(); BeanUtils.copyProperties(comKeyPopulationDO, comKeyPopulationVO); comKeyPopulationVOS.add(comKeyPopulationVO); comMngPopulationVO.setComKeyPopulationVOs(comKeyPopulationVOS); }); } // 退役军人信息 List comVeteransPopulationVOS = new ArrayList<>(); List comVeteransPopulationDOS = comVeteransPopulationDAO.selectList(new QueryWrapper().lambda() .eq(ComVeteransPopulationDO::getPopulationId, populationId) .eq(ComVeteransPopulationDO::getCommunityId, communityId)); if (!comVeteransPopulationDOS.isEmpty()) { comVeteransPopulationDOS.forEach(comVeteransPopulationDO -> { ComVeteransPopulationVO comVeteransPopulationVO = new ComVeteransPopulationVO(); BeanUtils.copyProperties(comVeteransPopulationDO, comVeteransPopulationVO); comVeteransPopulationVOS.add(comVeteransPopulationVO); comMngPopulationVO.setComVeteransPopulationVOs(comVeteransPopulationVOS); }); } // 残疾人信息 List comDisabilityPopulationVOS = new ArrayList<>(); List comDisabilityPopulationDOS = comDisabilityPopulationDAO.selectList(new QueryWrapper().lambda() .eq(ComDisabilityPopulationDO::getPopulationId, populationId) .eq(ComDisabilityPopulationDO::getCommunityId, communityId)); if (!comDisabilityPopulationDOS.isEmpty()) { comDisabilityPopulationDOS.forEach(comDisabilityPopulationDO -> { ComDisabilityPopulationVO comDisabilityPopulationVO = new ComDisabilityPopulationVO(); BeanUtils.copyProperties(comDisabilityPopulationDO, comDisabilityPopulationVO); comDisabilityPopulationVOS.add(comDisabilityPopulationVO); comMngPopulationVO.setComDisabilityPopulationVOs(comDisabilityPopulationVOS); }); } // 低保户信息 List comLowSecurityPopulationVOS = new ArrayList<>(); List comLowSecurityPopulationDOS = comLowSecurityPopulationDAO.selectList(new QueryWrapper().lambda() .eq(ComLowSecurityPopulationDO::getPopulationId, populationId) .eq(ComLowSecurityPopulationDO::getCommunityId, communityId)); if (!comLowSecurityPopulationDOS.isEmpty()) { comLowSecurityPopulationDOS.forEach(comLowSecurityPopulationDO -> { ComLowSecurityPopulationVO comLowSecurityPopulationVO = new ComLowSecurityPopulationVO(); BeanUtils.copyProperties(comLowSecurityPopulationDO, comLowSecurityPopulationVO); comLowSecurityPopulationVOS.add(comLowSecurityPopulationVO); comMngPopulationVO.setComLowSecurityPopulationVOs(comLowSecurityPopulationVOS); }); } // 高龄老人信息 List comElderAuthElderliesVOList = new ArrayList<>(); List comElderAuthElderliesDOS = comElderAuthElderliesDAO.selectList(new QueryWrapper().lambda() .eq(ComElderAuthElderliesDO::getPopulationId, populationId) .eq(ComElderAuthElderliesDO::getCommunityId, communityId)); if (!comElderAuthElderliesDOS.isEmpty()) { comElderAuthElderliesDOS.forEach(comElderAuthElderliesDO -> { ComElderAuthElderliesVO comElderAuthElderliesVO = new ComElderAuthElderliesVO(); BeanUtils.copyProperties(comElderAuthElderliesDO, comElderAuthElderliesVO); comElderAuthElderliesVOList.add(comElderAuthElderliesVO); comMngPopulationVO.setComElderAuthElderliesVOList(comElderAuthElderliesVOList); }); } // 养老人员信息 List comPensionAuthPensionerVOList = new ArrayList<>(); List comPensionAuthPensionerDOS = comPensionAuthPensionerDAO.selectList(new QueryWrapper().lambda() .eq(ComPensionAuthPensionerDO::getPopulationId, populationId) .eq(ComPensionAuthPensionerDO::getCommunityId, communityId)); if (!comPensionAuthPensionerDOS.isEmpty()) { comPensionAuthPensionerDOS.forEach(comPensionAuthPensionerDO -> { ComPensionAuthPensionerVO comPensionAuthPensionerVO = new ComPensionAuthPensionerVO(); BeanUtils.copyProperties(comPensionAuthPensionerDO, comPensionAuthPensionerVO); comPensionAuthPensionerVOList.add(comPensionAuthPensionerVO); comMngPopulationVO.setComPensionAuthPensionerVOList(comPensionAuthPensionerVOList); }); } } return R.ok(comMngPopulationVO); } /** * 分页查询社区 * * @param comMngPopulationVO * 查询参数 * @return 分页集合 */ @Override public R pagePopulation(ComMngPopulationDTO comMngPopulationVO) { Page page = new Page<>(); Long pageNum = comMngPopulationVO.getPageNum(); Long pageSize = comMngPopulationVO.getPageSize(); if (null == pageNum || 0 == pageNum) { pageNum = 1L; } if (null == pageSize || 0 == pageSize) { pageSize = 10L; } page.setSize(pageSize); page.setCurrent(pageNum); if (comMngPopulationVO.getHouseId() != null) { ComMngPopulationHouseDO houseDO = comMngPopulationHouseDAO.selectById(comMngPopulationVO.getHouseId()); if (houseDO != null) { switch (comMngPopulationVO.getLevel()) { case 1: comMngPopulationVO.setRoad(houseDO.getAlley()); break; case 2: comMngPopulationVO.setRoad(houseDO.getAlley()); // comMngPopulationVO.setDoorNo(houseDO.getHouseNum()); break; case 3: comMngPopulationVO.setRoad(houseDO.getAlley()); comMngPopulationVO.setDoorNo(houseDO.getHouseNum()); // comMngPopulationVO.setFloor(houseDO.getFloor()); break; case 4: comMngPopulationVO.setRoad(houseDO.getAlley()); comMngPopulationVO.setDoorNo(houseDO.getHouseNum()); comMngPopulationVO.setFloor(houseDO.getFloor()); // comMngPopulationVO.setUnitNo(houseDO.getUnitNo()); break; case 5: comMngPopulationVO.setRoad(houseDO.getAlley()); comMngPopulationVO.setDoorNo(houseDO.getHouseNum()); comMngPopulationVO.setFloor(houseDO.getFloor()); comMngPopulationVO.setUnitNo(houseDO.getUnitNo()); if(comMngPopulationVO.getLevelIsAll() == null){ comMngPopulationVO.setHouseNo(houseDO.getHouseNo()); } break; default: break; } } } if(comMngPopulationVO.getType()!=null){ switch (comMngPopulationVO.getType()){ case 1 : comMngPopulationVO.setAgeStart("80"); comMngPopulationVO.setAgeEnd("89"); break; case 2 : comMngPopulationVO.setAgeStart("90"); comMngPopulationVO.setAgeEnd("99"); break; case 3 : comMngPopulationVO.setAgeStart("100"); break; } } if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeStart())) { String ageStartTime = DateUtils.getDateFormatString( DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeStart()))), "yyyy-MM-dd"); if (StringUtils.isNotEmpty(ageStartTime)) { comMngPopulationVO.setAgeStartTime(ageStartTime); } } if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeEnd())) { String ageEndTime = DateUtils.getDateFormatString( DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeEnd()))), "yyyy-MM-dd"); if (StringUtils.isNotEmpty(ageEndTime)) { comMngPopulationVO.setAgeEndTime(ageEndTime); } } if (comMngPopulationVO.getAgeStartTime() != null && !"".equals(comMngPopulationVO.getAgeStartTime()) && comMngPopulationVO.getAgeEndTime() != null && !"".equals(comMngPopulationVO.getAgeEndTime())) { if (comMngPopulationVO.getAgeStartTime().equals(comMngPopulationVO.getAgeEndTime())) { Date endAge = DateUtils.stringToDate(comMngPopulationVO.getAgeEndTime(), new SimpleDateFormat("yyyy-MM-dd")); String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(endAge, -1), "yyyy-MM-dd"); if (StringUtils.isNotEmpty(ageStartTime)) { comMngPopulationVO.setAgeStartTimeEnd(ageStartTime); } } else { Date endAge = DateUtils.stringToDate(comMngPopulationVO.getAgeEndTime(), new SimpleDateFormat("yyyy-MM-dd")); String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(endAge, -1), "yyyy-MM-dd"); if (StringUtils.isNotEmpty(ageStartTime)) { comMngPopulationVO.setAgeEndTimeEnd(ageStartTime); } } } IPage iPage = populationDAO.pagePopulation(page, comMngPopulationVO); if (!iPage.getRecords().isEmpty()) { iPage.getRecords().forEach(populDO -> { if (StringUtils.isNotEmpty(populDO.getBirthday())) { populDO.setAge(AgeUtils.getAgeFromBirthTimes(populDO.getBirthday())); populDO.setRelationName(PopulRelationEnum.getCnDescByName(populDO.getRelation())); populDO.setCultureLevelName(PopulCultureLevelEnum.getCnDescByName(populDO.getCultureLevel())); populDO.setPoliticalOutlookName( PopulPoliticalOutlookEnum.getCnDescByName(populDO.getPoliticalOutlook())); populDO.setMarriageName(PopulMarriageEnum.getCnDescByName(populDO.getMarriage())); if(populDO.getAge()>=80&&populDO.getAge()<=89){ populDO.setType(1); } if(populDO.getAge()>=90&&populDO.getAge()<=99){ populDO.setType(2); } if(populDO.getAge()>=100){ populDO.setType(3); } } }); } return R.ok(iPage); } @Override public R exportOld(ComMngPopulationDTO comMngPopulationVO) { if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeStart())) { String ageStartTime = DateUtils.getDateFormatString( DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeStart()))), "yyyy-MM-dd"); if (StringUtils.isNotEmpty(ageStartTime)) { comMngPopulationVO.setAgeStartTime(ageStartTime); } } if (StringUtils.isNotEmpty(comMngPopulationVO.getAgeEnd())) { String ageEndTime = DateUtils.getDateFormatString( DateUtils.yearAddNum(new Date(), -(Integer.parseInt(comMngPopulationVO.getAgeEnd()))), "yyyy-MM-dd"); if (StringUtils.isNotEmpty(ageEndTime)) { comMngPopulationVO.setAgeEndTime(ageEndTime); } } if (comMngPopulationVO.getAgeStartTime() != null && !"".equals(comMngPopulationVO.getAgeStartTime()) && comMngPopulationVO.getAgeEndTime() != null && !"".equals(comMngPopulationVO.getAgeEndTime())) { if (comMngPopulationVO.getAgeStartTime().equals(comMngPopulationVO.getAgeEndTime())) { Date endAge = DateUtils.stringToDate(comMngPopulationVO.getAgeEndTime(), new SimpleDateFormat("yyyy-MM-dd")); String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(endAge, -1), "yyyy-MM-dd"); if (StringUtils.isNotEmpty(ageStartTime)) { comMngPopulationVO.setAgeStartTimeEnd(ageStartTime); } } else { Date endAge = DateUtils.stringToDate(comMngPopulationVO.getAgeEndTime(), new SimpleDateFormat("yyyy-MM-dd")); String ageStartTime = DateUtils.getDateFormatString(DateUtils.yearAddNum(endAge, -1), "yyyy-MM-dd"); if (StringUtils.isNotEmpty(ageStartTime)) { comMngPopulationVO.setAgeEndTimeEnd(ageStartTime); } } } List comMngPopulationVOS=this.comMngPopulationDAO.exportOld(comMngPopulationVO); if(!comMngPopulationVOS.isEmpty()){ comMngPopulationVOS.forEach(populDO -> { if (StringUtils.isNotEmpty(populDO.getBirthday())) { populDO.setAge(AgeUtils.getAgeFromBirthTimes(populDO.getBirthday())); populDO.setRelationName(PopulRelationEnum.getCnDescByName(populDO.getRelation())); populDO.setCultureLevelName(PopulCultureLevelEnum.getCnDescByName(populDO.getCultureLevel())); populDO.setPoliticalOutlookName( PopulPoliticalOutlookEnum.getCnDescByName(populDO.getPoliticalOutlook())); populDO.setMarriageName(PopulMarriageEnum.getCnDescByName(populDO.getMarriage())); if(populDO.getAge()>=80&&populDO.getAge()<=89){ populDO.setType(1); } if(populDO.getAge()>=90&&populDO.getAge()<=99){ populDO.setType(2); } if(populDO.getAge()>=100){ populDO.setType(3); } } }); } return R.ok(comMngPopulationVOS); } /** * 删除实有人口 * * @param populationId * 实有人口id * @return 删除结果 */ @Override public R deletePopulation(Long populationId) { int delete = populationDAO.deleteById(populationId); if (delete > 0) { return R.ok(); } return R.fail(); } /** * 查询所有实有人口 * * @return 实有人口集合 按照创建顺序倒序排列 */ @Override public R listPopulationAll() { List populationDOS = populationDAO .selectList(new QueryWrapper().lambda().orderByDesc(ComMngPopulationDO::getCreateAt)); List populationVOS = new ArrayList<>(); if (!ObjectUtils.isEmpty(populationDOS)) { populationDOS.forEach(comActDO -> { ComMngPopulationVO populationVO = new ComMngPopulationVO(); BeanUtils.copyProperties(comActDO, populationVO); populationVOS.add(populationVO); }); } return R.ok(populationVOS); } @Override @Transactional(rollbackFor = Exception.class) public R listSavePopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationServeExcelVO 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 { ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = savePopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } 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 = updatePopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationKey,populationDO); } log.info("查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); populationCommunityMap.put(populationCommunityKey,cpopulationCommunityTagsDO); savePopulationCommunityList.add(cpopulationCommunityTagsDO); }else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveDrugPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationDrugExcelVO 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 { ComMngPopulationDrugMistakeExcelVO mistake = new ComMngPopulationDrugMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setDrugMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveDrugPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationDrugMistakeExcelVO mistake = new ComMngPopulationDrugMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setDrugMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateDrugPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveDrugPopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); }else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationDrugMistakeExcelVO mistake = new ComMngPopulationDrugMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setDrugMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveCorrectPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationCorrectExcelVO 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 { ComMngPopulationCorrectMistakeExcelVO mistake = new ComMngPopulationCorrectMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setCorrectMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveCorrectPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationCorrectMistakeExcelVO mistake = new ComMngPopulationCorrectMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setCorrectMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateCorrectPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveCorrectPopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); }else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationCorrectMistakeExcelVO mistake = new ComMngPopulationCorrectMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setCorrectMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveMajorPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationMajorExcelVO 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 { ComMngPopulationMajorMistakeExcelVO mistake = new ComMngPopulationMajorMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMajorMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveMajorPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationMajorMistakeExcelVO mistake = new ComMngPopulationMajorMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMajorMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateMajorPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveMajorPopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); }else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationMajorMistakeExcelVO mistake = new ComMngPopulationMajorMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMajorMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveCultPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationCultExcelVO 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 { ComMngPopulationCultMistakeExcelVO mistake = new ComMngPopulationCultMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setCultMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveCultPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationCultMistakeExcelVO mistake = new ComMngPopulationCultMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setCultMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateCultPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveCultPopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); } else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationCultMistakeExcelVO mistake = new ComMngPopulationCultMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setCultMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveRehabilitationPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationRehabilitationExcelVO 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 { ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setRehabilitationMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveRehabilitationPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setRehabilitationMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateRehabilitationPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveRehabilitationPopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); }else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationRehabilitationMistakeExcelVO mistake = new ComMngPopulationRehabilitationMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setRehabilitationMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveKeyPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationKeyExcelVO 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 { ComMngPopulationKeyMistakeExcelVO mistake = new ComMngPopulationKeyMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setKeyMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveKeyPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationKeyMistakeExcelVO mistake = new ComMngPopulationKeyMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setKeyMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateKeyPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveKeyPopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); }else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationKeyMistakeExcelVO mistake = new ComMngPopulationKeyMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setKeyMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveSentencePopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationSentenceExcelVO 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 { ComMngPopulationSentenceMistakeExcelVO mistake = new ComMngPopulationSentenceMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setSentenceMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveSentencePopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationSentenceMistakeExcelVO mistake = new ComMngPopulationSentenceMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setSentenceMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateSentencePopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveSentencePopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); } else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationSentenceMistakeExcelVO mistake = new ComMngPopulationSentenceMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setSentenceMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveVeteransPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationVeteransExcelVO 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 { ComMngPopulationVeteransMistakeExcelVO mistake = new ComMngPopulationVeteransMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setVeteransMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveVeteransPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationVeteransMistakeExcelVO mistake = new ComMngPopulationVeteransMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setVeteransMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateVeteransPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveVeteransPopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); }else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationVeteransMistakeExcelVO mistake = new ComMngPopulationVeteransMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setVeteransMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveDisabilityPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationDisabilityExcelVO 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 { ComMngPopulationDisabilityMistakeExcelVO mistake = new ComMngPopulationDisabilityMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setDisabilityMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveDisabilityPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationDisabilityMistakeExcelVO mistake = new ComMngPopulationDisabilityMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setDisabilityMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateDisabilityPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveDisabilityPopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); } else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationDisabilityMistakeExcelVO mistake = new ComMngPopulationDisabilityMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setDisabilityMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveLowSecurityPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的吸毒人员集合 List saveDrugList = new ArrayList<>(); // 需要修改的吸毒人员集合 List updateDrugList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId,communityId)); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationHouseDO::getCommunityId,communityId)); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(new QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId,communityId)); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId)); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); 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; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveLowSecurityPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationLowSecurityMistakeExcelVO mistake = new ComMngPopulationLowSecurityMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setLowSecurityMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateLowSecurityPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveLowSecurityPopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); } else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationLowSecurityMistakeExcelVO mistake = new ComMngPopulationLowSecurityMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setLowSecurityMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSaveEdlerPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO .selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(null); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(null); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(null); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(null); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationElderExcelVO vo : list) { if (vo.getDoorNo().contains("号")) { vo.setDoorNo(vo.getDoorNo().replace("号", "")); } if (StringUtils.isNotEmpty(vo.getFloor())) { if (vo.getFloor().contains("栋")) { vo.setFloor(vo.getFloor().replace("栋", "")); } } if (StringUtils.isNotEmpty(vo.getUnitNo())) { if (vo.getUnitNo().contains("单元")) { vo.setUnitNo(vo.getUnitNo().replace("单元", "")); } } if (StringUtils.isNotEmpty(vo.getHouseNo())) { if (vo.getHouseNo().contains("号")) { vo.setHouseNo(vo.getHouseNo().replace("号", "")); } } log.info("开始查询小区街路巷是否存在"); // 查询小区街路巷是否存在 ComMngVillageDO comMngVillageDO = null; String villageKey = communityId + vo.getRoad() + vo.getDoorNo(); if (!isOnly(villageKey, villageMap)) { comMngVillageDO = (ComMngVillageDO)villageMap.get(villageKey); } else { ComMngPopulationElderMistakeExcelVO mistake = new ComMngPopulationElderMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setElderMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = saveElderPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationElderMistakeExcelVO mistake = new ComMngPopulationElderMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setElderMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updateElderPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = saveElderPopulationDO(vo, populationActVO, comMngVillageDO, userId,communityId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); } else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel()) && comMngPopulationCommunityTagsDO.getLabel().contains(s)){ iterator.remove(); } } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationElderMistakeExcelVO mistake = new ComMngPopulationElderMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setElderMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } @Override @Transactional(rollbackFor = Exception.class) public R listSavePensionPopulation(List list, Long communityId, Long userId) { // 需要新增的房屋集合 List houseList = new ArrayList<>(); // 需要新增的人口集合 List saveList = new ArrayList<>(); // 需要修改的人口集合 List updateList = new ArrayList<>(); // 需要新增的人口与房屋关系集合 List houseUserList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List savePopulationCommunityList = new ArrayList<>(); // 需要新增的人口与社区关系集合 List updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询社区信息 log.info("开始查询社区信息数据"); ComPopulationActVO populationActVO = comActDAO.getPopulationActById(communityId); if (populationActVO == null) { log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } log.info("开始查询社区信息数据完成"); // 查询当前社区标签列表 List labelList = new ArrayList<>(); List comMngUserTagDOS = comMngUserTagDAO.selectList(null); if (!ObjectUtils.isEmpty(comMngUserTagDOS)) { labelList = comMngUserTagDOS.stream().map(comMngUserTagDO -> comMngUserTagDO.getTagName()) .collect(Collectors.toList()); } StringBuilder areaPath = new StringBuilder(); areaPath.append(populationActVO.getProvinceName()).append(">").append(populationActVO.getCityName()) .append(">").append(populationActVO.getDistrictName()).append(">"); // 处理实有人口信息 Integer nub = 1; // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(null); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); // 查询所有房屋信息放入到HashMap中 List houseLists = comMngPopulationHouseDAO.selectList(null); HashMap houseMap = new HashMap<>(); houseLists.forEach(house -> { String key = house.getCommunityId() + house.getVillageId() + house.getFloor() + house.getUnitNo() + house.getHouseNo(); houseMap.put(key, house); }); List villageList = comActVillageDAO.selectList(null); HashMap villageMap = new HashMap<>(); villageList.forEach(village -> { String key = village.getCommunityId() + village.getAlley() + village.getHouseNum(); villageMap.put(key, village); }); List houseUserLists = comMngPopulationHouseUserDAO.selectListIndex(communityId); HashMap houseUserMap = new HashMap<>(); houseUserLists.forEach(houseUser -> { String key = houseUser.getPopulId() + houseUser.getHouseId() + ""; houseUserMap.put(key, houseUser); }); List populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(null); HashMap populationCommunityMap = new HashMap<>(); populationCommunityLists.forEach(populationCommunity -> { String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; populationCommunityMap.put(key, populationCommunity); }); for (ComMngPopulationPensionExcelVO vo : list) { if (vo.getDoorNo().contains("号")) { vo.setDoorNo(vo.getDoorNo().replace("号", "")); } if (StringUtils.isNotEmpty(vo.getFloor())) { if (vo.getFloor().contains("栋")) { vo.setFloor(vo.getFloor().replace("栋", "")); } } if (StringUtils.isNotEmpty(vo.getUnitNo())) { if (vo.getUnitNo().contains("单元")) { vo.setUnitNo(vo.getUnitNo().replace("单元", "")); } } if (StringUtils.isNotEmpty(vo.getHouseNo())) { if (vo.getHouseNo().contains("号")) { vo.setHouseNo(vo.getHouseNo().replace("号", "")); } } log.info("开始查询小区街路巷是否存在"); // 查询小区街路巷是否存在 ComMngVillageDO comMngVillageDO = null; String villageKey = communityId + vo.getRoad() + vo.getDoorNo(); if (!isOnly(villageKey, villageMap)) { comMngVillageDO = (ComMngVillageDO)villageMap.get(villageKey); } else { ComMngPopulationPensionMistakeExcelVO mistake = new ComMngPopulationPensionMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setPensionMistake(mistake, vo); mistake.setMistake("街路巷或小区号不存在,请先在“小区管理”中添加该小区:街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); mistakes.add(mistake); log.info("未查询到街路巷:" + vo.getRoad() + ",小区号:" + vo.getDoorNo()); continue; } StringBuilder address = new StringBuilder(); address.append(populationActVO.getProvinceName()).append(populationActVO.getCityName()) .append(populationActVO.getDistrictName()).append(populationActVO.getStreetName()) .append(comMngVillageDO.getAlley()).append(vo.getDoorNo()).append("号"); if (StringUtils.isNotEmpty(vo.getFloor())) { address.append(vo.getFloor()).append("栋"); } if (StringUtils.isNotEmpty(vo.getUnitNo())) { address.append(vo.getUnitNo()).append("单元"); } if (StringUtils.isNotEmpty(vo.getHouseNo())) { address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); log.info("开始查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); ComMngPopulationHouseDO populationHouseDO = null; // 先判断房屋是否存在 if(StringUtils.isNotEmpty(vo.getFloor())&&StringUtils.isNotEmpty(vo.getHouseNo())&&StringUtils.isNotEmpty(vo.getUnitNo())){ String houseKey = communityId + comMngVillageDO.getVillageId() + vo.getFloor() + vo.getUnitNo() + vo.getHouseNo(); if (isOnly(houseKey, houseMap)) { if (!houseList.isEmpty()) { for (ComMngPopulationHouseDO house : houseList) { if (house.getVillageId().equals(comMngVillageDO.getVillageId()) && house.getCommunityId().equals(communityId) && house.getFloor().equals(vo.getFloor()) && house.getUnitNo().equals(vo.getUnitNo()) && house.getHouseNo().equals(vo.getHouseNo())) { populationHouseDO = house; break; } } } if (populationHouseDO == null) { // 房屋信息不存在建立房屋信息 populationHouseDO = savePensionPopulationHouse(vo, comMngVillageDO, communityId, areaPath, populationActVO.getName()); houseList.add(populationHouseDO); } } else { populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); log.info("查询房屋是否存在完成"); }else { ComMngPopulationPensionMistakeExcelVO mistake = new ComMngPopulationPensionMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setPensionMistake(mistake, vo); mistake.setMistake("房屋数据填报不完整" ); mistakes.add(mistake); log.info("房屋数据填报不完整"); continue; } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { // 空户处理完房屋信息,直接返回 continue; } // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); ComMngPopulationDO updatePopulationDO = updatePensionPopulationDO(vo, populationDO, communityId, userId); updateList.add(updatePopulationDO); } else { // 不存在实有人口,则新增 populationDO = savePensionPopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); populationMap.put(populationDO.getCardNo(),populationDO); } log.info("开始查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); // 处理实有人口房屋居住信息 if (populationDO != null) { ComMngPopulationHouseUserDO populationHouseUserDO = null; String houseUserKey = populationDO.getId() + populationHouseDO.getId() + ""; if (isOnly(houseUserKey, houseUserMap)) { populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setHouseId(populationHouseDO.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); // populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setRelationId(vo.getIsRent()); // populationHouseUserDO.setResidence(vo.getResidence()); houseUserList.add(populationHouseUserDO); } } log.info("开始查询实有人口房屋居住信息完成"); log.info("开始查询实有人口存在社区信息"); // 处理实有人口与社区关系以及对应特殊群体标签 String populationCommunityKey = populationDO.getId() + populationActVO.getCommunityId() + ""; if (populationDO != null) { ComMngPopulationCommunityTagsDO cpopulationCommunityTagsDO = null; if (isOnly(populationCommunityKey, populationCommunityMap)) { // 实有人口不存在于当前社区 cpopulationCommunityTagsDO = new ComMngPopulationCommunityTagsDO(); cpopulationCommunityTagsDO.setId(Snowflake.getId()); cpopulationCommunityTagsDO.setPopulationId(populationDO.getId()); cpopulationCommunityTagsDO.setCommunityId(communityId); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (!labelList.contains(s)) iterator.remove(); } cpopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); cpopulationCommunityTagsDO.setCreateBy(userId); savePopulationCommunityList.add(cpopulationCommunityTagsDO); } else { // 实有人口存在于当前社区,则更新 ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]) .collect(Collectors.toList()); // 如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 Iterator iterator = userTag.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel()) && comMngPopulationCommunityTagsDO.getLabel().contains(s)){ iterator.remove(); } } if(StringUtils.isNotEmpty(comMngPopulationCommunityTagsDO.getLabel())){ for(String tag:userTag){ if(!comMngPopulationCommunityTagsDO.getLabel().contains(tag)){ comMngPopulationCommunityTagsDO.setLabel(comMngPopulationCommunityTagsDO.getLabel()+","+tag); } } } else{ comMngPopulationCommunityTagsDO.setLabel(Joiner.on(",").join(userTag)); } comMngPopulationCommunityTagsDO.setUpdateBy(userId); updatePopulationCommunityList.add(comMngPopulationCommunityTagsDO); ComMngPopulationPensionMistakeExcelVO mistake = new ComMngPopulationPensionMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setPensionMistake(mistake, vo); mistake.setMistake("该实有人口已存在于该社区,执行更新"); mistakes.add(mistake); } } log.info("查询实有人口存在社区信息完成"); log.info("开始处理楼栋信息"); List comMngBuildingDOList= comMngBuildingDAO.selectList(new QueryWrapper().lambda().eq(ComMngBuildingDO::getVillageId,comMngVillageDO.getVillageId()).eq(ComMngBuildingDO::getName,vo.getFloor())); if(comMngBuildingDOList.isEmpty()){ ComMngBuildingDO comMngBuildingDO=new ComMngBuildingDO(); comMngBuildingDO.setId(Snowflake.getId()); comMngBuildingDO.setVillageId(comMngVillageDO.getVillageId()); comMngBuildingDO.setName(vo.getFloor()); comMngBuildingDO.setActId(comMngVillageDO.getCommunityId()); comMngBuildingDO.setStreetId(comMngVillageDO.getStreetId()); comMngBuildingDAO.insert(comMngBuildingDO); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } log.info("处理完成导入数据"); log.info("开始执行数据库导入"); if (!houseList.isEmpty()) { log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); log.info("数据库导入房屋完成"); } if (!saveList.isEmpty()) { log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); log.info("数据库导入人口完成"); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.updateBatchById(updateList); // this.updateBatchById(updateList); log.info("数据库更新人口完成"); } if (!houseUserList.isEmpty()) { log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); log.info("数据库导入人口房屋关系完成"); } if (!savePopulationCommunityList.isEmpty()) { log.info("执行数据库导入人口社区关系"); comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); log.info("数据库导入人口社区关系完成"); } if (!updatePopulationCommunityList.isEmpty()) { log.info("执行数据库更新人口社区关系"); comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); Integer personType = vo.getPersonType(); if (nonNull(personType)) { populationDO.setPersonType(personType.toString()); } // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); return populationDO; } private ComMngPopulationDO updateDrugPopulationDO(ComMngPopulationDrugExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComDrugPopulationDO comDrugPopulationDO = comDrugPopulationDAO.selectOne(new QueryWrapper() .lambda().eq(ComDrugPopulationDO::getPopulationId, populationDO.getId()).eq(ComDrugPopulationDO::getCommunityId, communityId)); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); 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(communityId); comDrugPopulationDO.setStreetId(populationDO.getStreetId()); comDrugPopulationDAO.insert(comDrugPopulationDO); } return populationDO; } private ComMngPopulationDO updateCorrectPopulationDO(ComMngPopulationCorrectExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComCorrectPopulationDO comCorrectPopulationDO = comCorrectPopulationDAO.selectOne(new QueryWrapper().lambda() .eq(ComCorrectPopulationDO::getPopulationId, populationDO.getId()).eq(ComCorrectPopulationDO::getCommunityId, communityId)); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); 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(communityId); comCorrectPopulationDO.setStreetId(populationDO.getStreetId()); comCorrectPopulationDAO.insert(comCorrectPopulationDO); } return populationDO; } private ComMngPopulationDO updateMajorPopulationDO(ComMngPopulationMajorExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComMajorPopulationDO comMajorPopulationDO = comMajorPopulationDAO.selectOne(new QueryWrapper().lambda() .eq(ComMajorPopulationDO::getPopulationId, populationDO.getId()).eq(ComMajorPopulationDO::getCommunityId, communityId)); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); 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(communityId); comMajorPopulationDO.setStreetId(populationDO.getStreetId()); comMajorPopulationDAO.insert(comMajorPopulationDO); } return populationDO; } private ComMngPopulationDO updateCultPopulationDO(ComMngPopulationCultExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComCultPopulationDO comCultPopulationDO = comCultPopulationDAO.selectOne(new QueryWrapper() .lambda().eq(ComCultPopulationDO::getPopulationId, populationDO.getId()).eq(ComCultPopulationDO::getCommunityId, communityId)); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); 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(communityId); comCultPopulationDO.setStreetId(populationDO.getStreetId()); comCultPopulationDAO.insert(comCultPopulationDO); } return populationDO; } private ComMngPopulationDO updateRehabilitationPopulationDO(ComMngPopulationRehabilitationExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComRehabilitationPopulationDO comRehabilitationPopulationDO = comRehabilitationPopulationDAO.selectOne(new QueryWrapper().lambda() .eq(ComRehabilitationPopulationDO::getPopulationId, populationDO.getId()).eq(ComRehabilitationPopulationDO::getCommunityId, communityId)); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); 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(communityId); comRehabilitationPopulationDO.setStreetId(populationDO.getStreetId()); comRehabilitationPopulationDAO.insert(comRehabilitationPopulationDO); } return populationDO; } private ComMngPopulationDO updateKeyPopulationDO(ComMngPopulationKeyExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComKeyPopulationDO comKeyPopulationDO = comKeyPopulationDAO.selectOne(new QueryWrapper() .lambda().eq(ComKeyPopulationDO::getPopulationId, populationDO.getId()).eq(ComKeyPopulationDO::getCommunityId, communityId)); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); 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(communityId); comKeyPopulationDO.setStreetId(populationDO.getStreetId()); comKeyPopulationDAO.insert(comKeyPopulationDO); } return populationDO; } private ComMngPopulationDO updateSentencePopulationDO(ComMngPopulationSentenceExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComSentencePopulationDO comSentencePopulationDO = comSentencePopulationDAO.selectOne(new QueryWrapper().lambda() .eq(ComSentencePopulationDO::getPopulationId, populationDO.getId()).eq(ComSentencePopulationDO::getCommunityId, communityId)); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); 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(communityId); comSentencePopulationDO.setStreetId(populationDO.getStreetId()); comSentencePopulationDAO.insert(comSentencePopulationDO); } return populationDO; } private ComMngPopulationDO updateVeteransPopulationDO(ComMngPopulationVeteransExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComVeteransPopulationDO comVeteransPopulationDO = comVeteransPopulationDAO.selectOne(new QueryWrapper().lambda() .eq(ComVeteransPopulationDO::getPopulationId, populationDO.getId()).eq(ComVeteransPopulationDO::getCommunityId, communityId)); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); 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(communityId); comVeteransPopulationDO.setStreetId(populationDO.getStreetId()); comVeteransPopulationDAO.insert(comVeteransPopulationDO); } return populationDO; } private ComMngPopulationDO updateDisabilityPopulationDO(ComMngPopulationDisabilityExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComDisabilityPopulationDO comDisabilityPopulationDO = comDisabilityPopulationDAO.selectOne(new QueryWrapper().lambda() .eq(ComDisabilityPopulationDO::getPopulationId, populationDO.getId()).eq(ComDisabilityPopulationDO::getCommunityId, communityId)); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); 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(communityId); comDisabilityPopulationDO.setStreetId(populationDO.getStreetId()); comDisabilityPopulationDAO.insert(comDisabilityPopulationDO); } return populationDO; } private ComMngPopulationDO updateLowSecurityPopulationDO(ComMngPopulationLowSecurityExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComLowSecurityPopulationDO comLowSecurityPopulationDO = comLowSecurityPopulationDAO.selectOne(new QueryWrapper().lambda() .eq(ComLowSecurityPopulationDO::getPopulationId, populationDO.getId()).eq(ComLowSecurityPopulationDO::getCommunityId, communityId)); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); 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(communityId); comLowSecurityPopulationDO.setStreetId(populationDO.getStreetId()); comLowSecurityPopulationDAO.insert(comLowSecurityPopulationDO); } return populationDO; } private ComMngPopulationDO updateElderPopulationDO(ComMngPopulationElderExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComElderAuthElderliesDO comElderAuthElderliesDO = comElderAuthElderliesDAO.selectOne(new QueryWrapper().lambda() .eq(ComElderAuthElderliesDO::getPopulationId, populationDO.getId()).eq(ComElderAuthElderliesDO::getCommunityId, communityId)); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); if (comElderAuthElderliesDO != null) { BeanUtils.copyProperties(vo, comElderAuthElderliesDO); comElderAuthElderliesDO.setIdCard(cardNoAES); comElderAuthElderliesDO.setAddress(vo.getNowAddress()); if (StringUtils.isNotEmpty(vo.getBirthday())) { int age = AgeUtils.getAgeFromBirthTimes(vo.getBirthday()); if (age >= 80 && age < 90) { comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under90); }else if (age >= 90 && age < 100){ comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under100); }else if (age >= 100){ comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.above100); } } comElderAuthElderliesDAO.updateById(comElderAuthElderliesDO); } else { comElderAuthElderliesDO = new ComElderAuthElderliesDO(); BeanUtils.copyProperties(vo, comElderAuthElderliesDO); comElderAuthElderliesDO.setId(Snowflake.getId()); comElderAuthElderliesDO.setPopulationId(populationDO.getId()); comElderAuthElderliesDO.setCommunityId(communityId); comElderAuthElderliesDO.setStreetId(populationDO.getStreetId()); comElderAuthElderliesDO.setIdCard(vo.getCardNo()); comElderAuthElderliesDO.setAddress(vo.getNowAddress()); if (StringUtils.isNotEmpty(vo.getBirthday())) { int age = AgeUtils.getAgeFromBirthTimes(vo.getBirthday()); if (age >= 80 && age < 90) { comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under90); }else if (age >= 90 && age < 100){ comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under100); }else if (age >= 100){ comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.above100); } } comElderAuthElderliesDAO.insert(comElderAuthElderliesDO); } //维护养老认证健在状态 comPensionAuthPensionerDAO.editPensionIsAlive(populationDO.getId(),vo.getIsAlive()); return populationDO; } private ComMngPopulationDO updatePensionPopulationDO(ComMngPopulationPensionExcelVO vo, ComMngPopulationDO populationDO, Long communityId, Long userId) { BeanUtils.copyProperties(vo, populationDO); ComPensionAuthPensionerDO comPensionAuthPensionerDO = comPensionAuthPensionerDAO.selectOne(new QueryWrapper().lambda() .eq(ComPensionAuthPensionerDO::getPopulationId, populationDO.getId()) .eq(ComPensionAuthPensionerDO::getCommunityId, communityId)); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setActId(communityId); populationDO.setCardNo(cardNoAES); populationDO.setUpdateBy(userId); if (comPensionAuthPensionerDO != null) { BeanUtils.copyProperties(vo, comPensionAuthPensionerDO); comPensionAuthPensionerDO.setIdCard(cardNoAES); comPensionAuthPensionerDO.setAddress(vo.getNowAddress()); comPensionAuthPensionerDAO.updateById(comPensionAuthPensionerDO); } else { comPensionAuthPensionerDO = new ComPensionAuthPensionerDO(); BeanUtils.copyProperties(vo, comPensionAuthPensionerDO); comPensionAuthPensionerDO.setId(Snowflake.getId()); comPensionAuthPensionerDO.setPopulationId(populationDO.getId()); comPensionAuthPensionerDO.setCommunityId(populationDO.getActId()); comPensionAuthPensionerDO.setStreetId(populationDO.getStreetId()); comPensionAuthPensionerDO.setIdCard(vo.getCardNo()); comPensionAuthPensionerDO.setAddress(vo.getNowAddress()); comPensionAuthPensionerDAO.insert(comPensionAuthPensionerDO); } //维护高龄老人健在状态 comElderAuthElderliesDAO.editEditIsAlive(populationDO.getId(),vo.getIsAlive()); return populationDO; } private ComMngPopulationDO savePopulationDO(ComMngPopulationServeExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); Integer personType = vo.getPersonType(); if (nonNull(personType)) { populationDO.setPersonType(personType.toString()); } populationDO.setId(Snowflake.getId()); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator 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()); populationDO.setDeath(vo.getDeath().toString()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); return populationDO; } private ComMngPopulationDO saveDrugPopulationDO(ComMngPopulationDrugExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); ComDrugPopulationDO comDrugPopulationDO = new ComDrugPopulationDO(); BeanUtils.copyProperties(vo, comDrugPopulationDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comDrugPopulationDO.setPopulationId(populationId); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); 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, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); ComCorrectPopulationDO comCorrectPopulationDO = new ComCorrectPopulationDO(); BeanUtils.copyProperties(vo, comCorrectPopulationDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comCorrectPopulationDO.setPopulationId(populationId); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); 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, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); ComMajorPopulationDO comMajorPopulationDO = new ComMajorPopulationDO(); BeanUtils.copyProperties(vo, comMajorPopulationDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comMajorPopulationDO.setPopulationId(populationId); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); 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, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); ComCultPopulationDO comCultPopulationDO = new ComCultPopulationDO(); BeanUtils.copyProperties(vo, comCultPopulationDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comCultPopulationDO.setPopulationId(populationId); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); 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, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); ComRehabilitationPopulationDO comRehabilitationPopulationDO = new ComRehabilitationPopulationDO(); BeanUtils.copyProperties(vo, comRehabilitationPopulationDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comRehabilitationPopulationDO.setPopulationId(populationId); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); 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, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); ComKeyPopulationDO comKeyPopulationDO = new ComKeyPopulationDO(); BeanUtils.copyProperties(vo, comKeyPopulationDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comKeyPopulationDO.setPopulationId(populationId); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); 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, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); ComSentencePopulationDO comSentencePopulationDO = new ComSentencePopulationDO(); BeanUtils.copyProperties(vo, comSentencePopulationDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comSentencePopulationDO.setPopulationId(populationId); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); 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, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); ComVeteransPopulationDO comVeteransPopulationDO = new ComVeteransPopulationDO(); BeanUtils.copyProperties(vo, comVeteransPopulationDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comVeteransPopulationDO.setPopulationId(populationId); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); 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, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); ComDisabilityPopulationDO comDisabilityPopulationDO = new ComDisabilityPopulationDO(); BeanUtils.copyProperties(vo, comDisabilityPopulationDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comDisabilityPopulationDO.setPopulationId(populationId); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); 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, Long userId) { 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 userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); comLowSecurityPopulationDO.setId(Snowflake.getId()); comLowSecurityPopulationDO.setCommunityId(comActDO.getCommunityId()); comLowSecurityPopulationDO.setStreetId(comActDO.getStreetId()); comLowSecurityPopulationDAO.insert(comLowSecurityPopulationDO); return populationDO; } private ComMngPopulationDO saveElderPopulationDO(ComMngPopulationElderExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO, Long userId, Long communityId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); ComElderAuthElderliesDO comElderAuthElderliesDO = new ComElderAuthElderliesDO(); BeanUtils.copyProperties(vo, populationDO); BeanUtils.copyProperties(vo, comElderAuthElderliesDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comElderAuthElderliesDO.setPopulationId(populationId); populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); comElderAuthElderliesDO.setId(Snowflake.getId()); comElderAuthElderliesDO.setCommunityId(comActDO.getCommunityId()); comElderAuthElderliesDO.setStreetId(comActDO.getStreetId()); comElderAuthElderliesDO.setIdCard(vo.getCardNo()); comElderAuthElderliesDO.setAddress(vo.getNowAddress()); if (StringUtils.isNotEmpty(vo.getBirthday())) { int age = AgeUtils.getAgeFromBirthTimes(vo.getBirthday()); if (age >= 80 && age < 90) { comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under90); }else if (age >= 90 && age < 100){ comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.under100); }else if (age >= 100){ comElderAuthElderliesDO.setPersonnelCategory(ComElderAuthElderliesDO.personnelCategory.above100); } } comElderAuthElderliesDAO.insert(comElderAuthElderliesDO); return populationDO; } private ComMngPopulationDO savePensionPopulationDO(ComMngPopulationPensionExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); ComPensionAuthPensionerDO comPensionAuthPensionerDO = new ComPensionAuthPensionerDO(); BeanUtils.copyProperties(vo, populationDO); BeanUtils.copyProperties(vo, comPensionAuthPensionerDO); Long populationId = Snowflake.getId(); populationDO.setId(populationId); comPensionAuthPensionerDO.setPopulationId(populationId); // List userTag = vo.getUserTagStr().stream().map(userTagStr -> // userTagStr.split("\\(")[0]).collect(Collectors.toList()); // // //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 // Iterator iterator = userTag.iterator(); // while (iterator.hasNext()) { // String s = iterator.next(); // if (!labelList.contains(s)) // iterator.remove(); // } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); // populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); } catch (Exception e) { log.error("身份证加密失败"); } populationDO.setCardNo(cardNoAES); populationDO.setCreateBy(userId); // 新增的时候默认绑定房屋id // if ((vo.getIsRent() != null && vo.getIsRent().equals(PopulHouseUseEnum.SELF.getCode())) || // (vo.getIsResidence() != null && vo.getIsResidence().intValue() == 1)) { // populationDO.setHouseId(vo.getHouseId()); // }else{ // populationDO.setHouseId(null); // } // this.baseMapper.insert(populationDO); comPensionAuthPensionerDO.setId(Snowflake.getId()); comPensionAuthPensionerDO.setCommunityId(comActDO.getCommunityId()); comPensionAuthPensionerDO.setStreetId(comActDO.getStreetId()); comPensionAuthPensionerDO.setIdCard(vo.getCardNo()); comPensionAuthPensionerDO.setAddress(vo.getNowAddress()); comPensionAuthPensionerDAO.insert(comPensionAuthPensionerDO); return populationDO; } private ComMngPopulationHouseDO savePopulationHouse(ComMngPopulationServeExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 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.getBuildPurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); try { populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); } catch (Exception e) { } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO saveDrugPopulationHouse(ComMngPopulationDrugExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO saveCorrectPopulationHouse(ComMngPopulationCorrectExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO saveMajorPopulationHouse(ComMngPopulationMajorExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO saveCultPopulationHouse(ComMngPopulationCultExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO saveRehabilitationPopulationHouse(ComMngPopulationRehabilitationExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO saveKeyPopulationHouse(ComMngPopulationKeyExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO saveSentencePopulationHouse(ComMngPopulationSentenceExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO saveVeteransPopulationHouse(ComMngPopulationVeteransExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO saveDisabilityPopulationHouse(ComMngPopulationDisabilityExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO 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 ComMngPopulationHouseDO saveElderPopulationHouse(ComMngPopulationElderExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseDO savePensionPopulationHouse(ComMngPopulationPensionExcelVO vo, ComMngVillageDO comMngVillageDO, Long communityId, StringBuilder areaPath, String actName) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseDO populationHouseDO = new ComMngPopulationHouseDO(); populationHouseDO.setId(Snowflake.getId()); populationHouseDO.setStreetId(comMngVillageDO.getStreetId()); populationHouseDO.setVillageId(comMngVillageDO.getVillageId()); populationHouseDO.setAlley(vo.getRoad()); populationHouseDO.setHouseNum(vo.getDoorNo()); populationHouseDO.setStatus(vo.getIsRent()); populationHouseDO.setCommunityId(communityId); populationHouseDO.setFloor(vo.getFloor()); populationHouseDO.setUnitNo(vo.getUnitNo()); populationHouseDO.setHouseNo(vo.getHouseNo()); populationHouseDO.setCode(vo.getHouseNo()); populationHouseDO.setAddress(vo.getAddress()); populationHouseDO.setUpdateAt(new Date()); // populationHouseDO.setConstructPurpose(vo.getHousePurpose()); StringBuilder housePath = new StringBuilder(); housePath.append(populationHouseDO.getAlley()).append(">").append(actName).append(">") .append(comMngVillageDO.getName()).append(">").append(vo.getAddress()); populationHouseDO.setPath(areaPath.toString() + housePath.toString()); // try { // populationHouseDO.setConstructArea(new BigDecimal(vo.getBuildArea())); // } catch (Exception e) { // } if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { populationHouseDO.setIsEmpty(PopulIsOksEnum.YES.getCode()); } if (vo.getHouseStatus() != null) { populationHouseDO.setStatus(vo.getHouseStatus()); } if (vo.getHousePurpose() != null) { populationHouseDO.setPurpose(vo.getHousePurpose()); } if (vo.getControlStatus() != null) { populationHouseDO.setControlStatus(vo.getControlStatus()); } // comMngPopulationHouseDAO.insert(populationHouseDO); return populationHouseDO; } private ComMngPopulationHouseUserDO savePopulationHouseUser(ComMngPopulationServeExcelVO vo, ComMngPopulationDO comMngPopulationDO, ComMngPopulationHouseDO comMngPopulationHouseDO) { // 查询该房屋未建立,执行建立房屋信息 ComMngPopulationHouseUserDO populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setPopulId(comMngPopulationDO.getId()); populationHouseUserDO.setHouseId(comMngPopulationHouseDO.getId()); populationHouseUserDO.setRelationId(comMngPopulationHouseDO.getStatus()); populationHouseUserDO.setRelation(vo.getRelation()); populationHouseUserDO.setCreateAt(new Date()); comMngPopulationHouseUserDAO.insert(populationHouseUserDO); return populationHouseUserDO; } /** * 确认导入实有人口(有则更新,无则新建) * * @param list * 用户信息 * @param communityId * 社区id * @return 导入结果 */ @Override public R listSavePopulationConfirm(List list, Long communityId) { if (list.size() == 0) { return R.fail("数据为空!"); } List comMngPopulationDOS = populationDAO .selectList(new QueryWrapper().lambda().eq(ComMngPopulationDO::getActId, communityId)); // 查询该社区所有(实有房屋)小区 // List villageDOList = comActVillageDAO.selectList(new // QueryWrapper().lambda().eq(ComMngVillageDO::getCommunityId, communityId)); ComActDO comActDO = comActDAO.selectById(communityId); ArrayList populationDOList = Lists.newArrayList(); list.forEach(vo -> { ComMngPopulationDO comMngPopulationDO = new ComMngPopulationDO(); // 查询街路巷是否存在 ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne(new QueryWrapper() .eq("alley", vo.getRoad()).eq("house_num", vo.getDoorNo()).eq("community_id", communityId)); // ComMngVillageDO comMngVillageDO = villageDOList.stream().filter(village -> // village.getAlley().equals(vo.getRoad()) && // village.getHouseNum().equals(Integer.valueOf(vo.getDoorNo()))).findFirst().orElse(null); BeanUtils.copyProperties(vo, comMngPopulationDO); if (comMngVillageDO == null) { throw new ServiceException("街道巷:" + vo.getRoad() + "不存在!"); } comMngPopulationDO.setVillageId(comMngVillageDO.getVillageId()); comMngPopulationDO.setActId(comActDO.getCommunityId()); comMngPopulationDO.setStreetId(comActDO.getStreetId()); List userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList()); comMngPopulationDO.setLabel(Joiner.on(",").join(userTag)); comMngPopulationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDOList.add(comMngPopulationDO); }); if (!populationDOList.isEmpty()) { // 循环遍历待导入人员信息,如果数据库存在则更新,如果不存在则新建 populationDOList.forEach(population -> { try { // 加密身份证号码 String cardNo = AESUtil.encrypt128(population.getCardNo(), aesKey); population.setCardNo(cardNo); // 查询这个用户是否存在 ComMngPopulationDO comMngPopulationDO = this.populationDAO.selectOne(new QueryWrapper().lambda() .eq(ComMngPopulationDO::getCardNo, population.getCardNo())); if (comMngPopulationDO != null) { population.setId(comMngPopulationDO.getId()); BeanUtils.copyProperties(population, comMngPopulationDO); this.populationDAO.updateById(population); } else { this.populationDAO.insert(population); } } catch (Exception e) { log.error("导入实有人口失败"); } }); } return R.ok("共计导入实有人口数量:" + populationDOList.size()); } public boolean isNumeric(String str) { for (int i = 0; i < str.length(); i++) { System.out.println(str.charAt(i)); if (!Character.isDigit(str.charAt(i))) { return false; } } return true; } /** * 根据id修改实有人口标签 * * @param populationTagDTO * 请求参数 * @return 修改结果 */ @Override public R editTagPopulation(ComMngPopulationTagDTO populationTagDTO) { ComMngPopulationDO comMngPopulationDO = populationDAO.selectById(populationTagDTO.getId()); if (comMngPopulationDO == null) { return R.fail("未查询到人口记录"); } BeanUtils.copyProperties(populationTagDTO, comMngPopulationDO); int nub = populationDAO.updateById(comMngPopulationDO); if (nub < 1) { return R.fail(); } return R.ok(); } /** * 批量删除实有人口 * * @param ids 实有人口id集合 * @return 删除结果 */ @Override @Transactional(rollbackFor = Exception.class) public R deletePopulations(List ids, Long communityId) { for(Long id:ids){ comMngPopulationCommunityTagsDAO.delete(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getPopulationId,id)); comMngPopulationDAO.deleteById(id); comMngPopulationHouseUserDAO.delete(new QueryWrapper().lambda().eq(ComMngPopulationHouseUserDO::getPopulId,id)); } return R.ok(); } /** * 根据社区id查询所有实有人口 * * @param communityId * 社区id * @return 查询结果 */ @Override public R getPopulationListByCommunityId(Long communityId) { List list = populationDAO.selectList(new QueryWrapper().eq("act_id", communityId)); List resultList = new ArrayList<>(); if (list.size() > 0) { list.forEach(populationDO -> { ComMngPopulationVO populationVO = new ComMngPopulationVO(); BeanUtils.copyProperties(populationDO, populationVO); resultList.add(populationVO); }); } return R.ok(resultList); } /** * 根据id集合查询实有人口 * * @param Ids * 实有人口id集合 * @return 查询结果 */ @Override public R getPopulationLists(List Ids) { List list = populationDAO.selectBatchIds(Ids); List resultList = new ArrayList<>(); if (list.size() > 0) { list.forEach(populationDO -> { ComMngPopulationVO populationVO = new ComMngPopulationVO(); BeanUtils.copyProperties(populationDO, populationVO); resultList.add(populationVO); }); } return R.ok(resultList); } @Override public R getPopulationListByVillageId(Long villageId) { List list = populationDAO.selectList(new QueryWrapper().eq("village_id", villageId)); List resultList = new ArrayList<>(); if (list.size() > 0) { list.forEach(populationDO -> { ComMngPopulationVO populationVO = new ComMngPopulationVO(); BeanUtils.copyProperties(populationDO, populationVO); ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO=comMngPopulationCommunityTagsDAO.selectOne(new QueryWrapper().lambda().eq(ComMngPopulationCommunityTagsDO::getPopulationId,populationDO.getId())); if(comMngPopulationCommunityTagsDO!=null){ populationVO.setLabel(comMngPopulationCommunityTagsDO.getLabel()); } resultList.add(populationVO); }); } return R.ok(resultList); } @Override public R editPopulation(ComMngPopulationEditDTO vo, Long communityId) throws Exception { ComMngPopulationDO populationDO = populationDAO.selectById(vo.getId()); if (populationDO == null) { return R.fail(); } BeanUtils.copyProperties(vo, populationDO); if (StringUtils.isEmpty(vo.getLabel())) { populationDO.setLabel(null); } if (StringUtils.isEmpty(vo.getRemark())) { populationDO.setRemark(null); } populationDO.setCardNo(null); populationDO.setPhone(AESUtil.encrypt128(vo.getPhone(), aesKey)); ComActDO comActDO = comActDAO.selectById(communityId); if (comActDO != null) { populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); } //修改人员标签 List communityTagsDOList = comMngPopulationCommunityTagsDAO .selectList(new QueryWrapper().lambda() .eq(ComMngPopulationCommunityTagsDO::getCommunityId,communityId) .eq(ComMngPopulationCommunityTagsDO::getPopulationId,vo.getId())); communityTagsDOList.forEach(communityTags -> { communityTags.setLabel(vo.getLabel()); comMngPopulationCommunityTagsDAO.updateById(communityTags); }); // 查询当前用户所有房屋id List houseIds = comMngPopulationHouseUserDAO.getPopulationHouseIdByUserId(vo.getId()); // 清除用户房屋居住信息 comMngPopulationHouseUserDAO.deletePopulationHouseByUserId(vo.getId()); if (!houseIds.isEmpty()) { houseIds.forEach(houseId -> { // 查询当前房屋下是否有人口信息,如果没有则将房屋设置为空户 List oldHouseIds = comMngPopulationHouseUserDAO.getPopulationHouseIdByhHosueId(houseId); if (oldHouseIds.isEmpty()) { // 修改房屋信息为空户 comMngPopulationHouseDAO.updateHouseByIsEmpty(houseId, 1); } }); } // 更新用户的房屋信息 Long houseId = null; List populationHouseUserDOList = new ArrayList<>(); if (!vo.getHouseEditDTOList().isEmpty()) { for (ComMngPopulationHouseEditDTO houseEditDto : vo.getHouseEditDTOList()) { ComMngPopulationHouseUserDO populationHouseUserDO = new ComMngPopulationHouseUserDO(); populationHouseUserDO.setId(Snowflake.getId()); populationHouseUserDO.setPopulId(populationDO.getId()); populationHouseUserDO.setHouseId(houseEditDto.getId()); populationHouseUserDO.setRelation(houseEditDto.getRelation()); if (houseEditDto.getIsResidence().equals(ComMngPopulationHouseEditDTO.isResidence.yes)) { houseId = houseEditDto.getId();// 居住地 populationHouseUserDO.setResidence(ComMngPopulationHouseEditDTO.isResidence.yes); } else { populationHouseUserDO.setResidence(ComMngPopulationHouseEditDTO.isResidence.no); } populationHouseUserDOList.add(populationHouseUserDO); // 修改房屋信息不为空户 comMngPopulationHouseDAO.updateHouseByIsEmpty(houseEditDto.getId(), 2); } } comMngPopulationHouseUserService.saveBatch(populationHouseUserDOList); if (houseId != null) {// 居住地更新 ComMngPopulationHouseDO houseDO = comMngPopulationHouseDAO.selectById(houseId); if (houseDO != null) { populationDO.setRoad(houseDO.getAlley()); populationDO.setDoorNo(houseDO.getHouseNum()); populationDO.setFloor(houseDO.getFloor()); populationDO.setUnitNo(houseDO.getUnitNo()); populationDO.setHouseNo(houseDO.getHouseNo()); ComMngVillageDO comMngVillageDO = comActVillageDAO.selectOne( new QueryWrapper().lambda().eq(ComMngVillageDO::getAlley, houseDO.getAlley()) .eq(ComMngVillageDO::getHouseNum, houseDO.getHouseNum()) .eq(ComMngVillageDO::getCommunityId, communityId)); if (comMngVillageDO != null) { populationDO.setVillageId(comMngVillageDO.getVillageId()); if (!StringUtils.isEmpty(comMngVillageDO.getGroupAt())) { populationDO.setVillageName(comMngVillageDO.getGroupAt()); } } } } // ComMngPopulationHouseUserDO comMngPopulationHouseUserDO = comMngPopulationHouseUserDAO.selectOne(new // QueryWrapper().lambda() // .eq(ComMngPopulationHouseUserDO::getPopulId, vo.getId())); // if (comMngPopulationHouseUserDO != null) { // comMngPopulationHouseUserDO.setRelation(vo.getRelation()); // comMngPopulationHouseUserDAO.updateById(comMngPopulationHouseUserDO); // }else { // comMngPopulationHouseUserDO = new ComMngPopulationHouseUserDO(); // comMngPopulationHouseUserDO.setId(Snowflake.getId()); // comMngPopulationHouseUserDO.setPopulId(vo.getId()); // comMngPopulationHouseUserDO.setRelation(vo.getRelation()); // 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 { return R.fail("修改失败"); } } @Override public R specialInputUser(PageInputUserDTO pageInputUserDTO) { IPage 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); } /** * 删除特殊群体人员 * * @param id * 特殊群体id * @return 删除结果 */ @Override public R deleteSpecialInputUser(Long id,Long communityId) { // 查询特殊群体人员 ComMngPopulationDO populationDO = this.baseMapper.selectById(id); if (populationDO == null) { return R.fail("未查询到该记录"); } populationDO.setLabel(null); // 清理社区与人口关联信息的label信息 List communityTagsDOList = comMngPopulationCommunityTagsDAO.selectList(new QueryWrapper() .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 { return R.fail(); } } @Override public R specialInputUserTags(PageInputUserDTO comMngUserTagDTO) { IPage iPage = populationDAO.specialInputUserTags( new Page<>(comMngUserTagDTO.getPageNum(), comMngUserTagDTO.getPageSize()), comMngUserTagDTO); return R.ok(iPage); } @Override public R saveSpecialInputUserTags(ComMngTagVO comMngTagVO) { if (null != comMngTagVO.getId() && comMngTagVO.getId() != 0) { // 修改 ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(comMngTagVO.getId()); if (null == comMngUserTagDO) { return R.fail("该标签不存在"); } ComMngUserTagDO checkCreditCode = comMngUserTagDAO.selectOne( new QueryWrapper().lambda().eq(ComMngUserTagDO::getTagName, comMngTagVO.getTagName())); if (null != checkCreditCode && !comMngUserTagDO.getId().equals(checkCreditCode.getId())) { return R.fail("该标签已存在,标签名称重复"); } BeanUtils.copyProperties(comMngTagVO, comMngUserTagDO); int update = comMngUserTagDAO.updateById(comMngUserTagDO); if (update > 0) { return R.ok(); } } else { // 新增 Integer count = comMngUserTagDAO.selectCount( new QueryWrapper().lambda().eq(ComMngUserTagDO::getTagName, comMngTagVO.getTagName())); if (count > 0) { return R.fail("该标签已存在,标签名称重复"); } ComMngUserTagDO comMngUserTagDO = new ComMngUserTagDO(); BeanUtils.copyProperties(comMngTagVO, comMngUserTagDO); int insert = comMngUserTagDAO.insert(comMngUserTagDO); if (insert > 0) { return R.ok(); } } return R.fail("添加失败"); } @Override public R deleteSpecialInputUserTags(Long id) { // 查询特殊群体人员 ComMngUserTagDO comMngUserTagDO = comMngUserTagDAO.selectById(id); if (comMngUserTagDO == null) { return R.fail("该标签不存在"); } int delete = comMngUserTagDAO.deleteById(id); if (delete > 0) { return R.ok(); } return R.fail("删除失败"); } /** * 查询实有人口电子档信息 * * @param populationId * 实有人口id * @return 实有人口电子档信息 */ @Override public R electronicArchivesPopulation(Long populationId) { ComMngPopulationDO comMngPopulationDO = populationDAO.selectById(populationId); if (ObjectUtils.isEmpty(comMngPopulationDO)) { return R.fail("用户信息不存在"); } // 查询当前用户电子档信息 if (!StringUtils.isEmpty(comMngPopulationDO.getCardNo())) { UserElectronicFileVO electronicFileVO = populationDAO.getSysUserElectronicFile(comMngPopulationDO.getCardNo()); if (electronicFileVO != null) { return R.ok(electronicFileVO); } } return R.ok(); } @Override public R editUserElectronicFile(UserElectronicFileVO userElectronicFileVO) { UserElectronicFileVO electronicFileVO = populationDAO.getSysUserById(userElectronicFileVO.getUserId()); if (electronicFileVO == null) { return R.fail("id有误!"); } populationDAO.updateSysUserElectronicFile(userElectronicFileVO); return R.ok(); } /** * 实有人口统计 * * @param communityId * 社区id * @return 统计结果 */ @Override public R getPopulationTotalByAdmin(Long communityId) { return R.ok(this.baseMapper.getPopulationTotalByAdmin(communityId)); } @Override public R editTagPopulationByCardNo(ComMngPopulationTagCardNoDTO comMngPopulationTagCardNoDTO) { ComMngPopulationDO comMngPopulationDO = getPopulationByCardNo(comMngPopulationTagCardNoDTO.getCardNo()); if (comMngPopulationDO == null) { return R.fail("未查询到人口记录"); } ComMngPopulationDO comMngPopulation = new ComMngPopulationDO(); if (comMngPopulationDO.getLabel() != null) { if (!comMngPopulationDO.getLabel().contains(comMngPopulationTagCardNoDTO.getLabel())) { comMngPopulation.setLabel( comMngPopulationTagCardNoDTO.getLabel().concat(",").concat(comMngPopulationDO.getLabel())); } } else { comMngPopulation.setLabel(comMngPopulationTagCardNoDTO.getLabel()); } comMngPopulation.setCardNo(null); comMngPopulation.setId(comMngPopulationDO.getId()); int nub = populationDAO.updateById(comMngPopulation); if (nub < 1) { return R.fail(); } return R.ok(); } @Override public ComMngPopulationDO getPopulationByCardNo(String cardNo) { try { String aesCardNo = AESUtil.encrypt128(cardNo, aesKey); return baseMapper.selectOne(new QueryWrapper().eq("card_no", aesCardNo)); } catch (Exception e) { log.error("根据身份证查询业务-加密证件信息出错:{}", e.getCause()); } return null; } /** * 首页大屏统计接口 * * @param communityId * 社区id * @return 统计结果 */ @Override public R getScreenIndex(Long communityId) { // 创建统计返回参数 IndexStatisticsVO statisticsVO = new IndexStatisticsVO(); // 查询基础数据模块 IndexBasicsStatisticsVO basicsStatisticsVO = comMngPopulationDAO.getScreenIndexByBasics(communityId); statisticsVO.setBasicsStatistics(basicsStatisticsVO); // 查询实有人口统计模块 IndexPopulationStatisticsVO populationStatisticsVO = new IndexPopulationStatisticsVO(); // 查询实有人口性别统计 List sexPopulationList = comMngPopulationDAO.getScreenIndexByPopulationSex(communityId); populationStatisticsVO.setSexPopulationList(sexPopulationList); // 查询实有人口年龄统计 List agePopulationList = statisticsAge(communityId); populationStatisticsVO.setAgePopulationList(agePopulationList); statisticsVO.setPopulationStatisticsVO(populationStatisticsVO); // 查询实有人口实时治理信息 List eventListStatisticsList = comMngPopulationDAO.getScreenIndexByEventList(communityId); statisticsVO.setEventListStatisticsList(eventListStatisticsList); // 查询社区治理动态信息 IndexDynamicStatisticsVO dynamicStatisticsVO = comMngPopulationDAO.getScreenIndexByDynamic(communityId); dynamicStatisticsVO .setCultureActivityTotal(dynamicStatisticsVO.getPbTotal() + dynamicStatisticsVO.getActTotal()); statisticsVO.setDynamicStatisticsVO(dynamicStatisticsVO); // 查询网格化治理 IndexEventGridStatisticsVO eventGridStatisticsVO = new IndexEventGridStatisticsVO(); List gridStatisticsList = new ArrayList<>(); // 查询网格化事件数据 IndexGridEventStatisticsVO gridEventStatistics = comMngPopulationDAO.getGridEventStatisticsList(communityId); eventGridStatisticsVO.setGridEventStatisticsList(gridEventStatistics); // 查询网格数据 List gridDataList = comMngPopulationDAO.getGridDataListByCommunityId(communityId); if (!gridDataList.isEmpty()) { gridDataList.forEach(gridData -> { if (gridData != null) { IndexGridStatisticsVO gridStatisticsVO = new IndexGridStatisticsVO(); gridStatisticsVO.setEventData(gridData.getGridName()); // 根据网格id查询网格事件列表 IndexGridEventStatisticsVO gridEventList = comMngPopulationDAO.getGridEventByGirdId(gridData.getId()); gridStatisticsVO.setGridEventStatisticsList(gridEventList); gridStatisticsList.add(gridStatisticsVO); } }); } eventGridStatisticsVO.setGridStatisticsList(gridStatisticsList); statisticsVO.setEventGridStatisticsVO(eventGridStatisticsVO); // 查询党建数据 BigScreenStatisticPartyBuild statisticPartyBuild = bigScreenDAO.partybuild(communityId); statisticsVO.setStatisticPartyBuild(statisticPartyBuild); // 查询特殊人群统计 List specialStatisticsVOList = new ArrayList<>(); // 查询特殊人群标签列表 List userTagList = comMngPopulationDAO.getUserTagListByCommunityId(communityId); IndexSpecialStatisticsVO otherSpecialVO = new IndexSpecialStatisticsVO(); otherSpecialVO.setTitle("其他"); otherSpecialVO.setSum(0); if (!userTagList.isEmpty()) { userTagList.forEach(userTag -> { if (userTag != null) { if (userTag.getSysFlag().equals(0)) { Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId); otherSpecialVO.setSum(otherSpecialVO.getSum() + count); } else { if (StringUtils.isNotEmpty(userTag.getTagName())) { if (userTag.getTagName().equals("特扶家庭")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(22); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("低保户")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(94); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("低收入人群")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(2); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("退役军人")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(264); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("高龄老人")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(comMngPopulationDAO.getStatisticsCount(communityId)); specialStatisticsVOList.add(specialStatisticsVO); } else { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId); specialStatisticsVO.setSum(count); specialStatisticsVOList.add(specialStatisticsVO); } } } } }); } specialStatisticsVOList.add(otherSpecialVO); statisticsVO.setSpecialStatisticsVOList(specialStatisticsVOList); return R.ok(statisticsVO); } private List statisticsAge(Long communityId) { Map ageMap = populationDAO.indexCountByAge(communityId); List agePopulationList = new ArrayList<>(); IndexPopulationAgeStatisticsVO ageStatisticsVO1 = new IndexPopulationAgeStatisticsVO(); IndexPopulationAgeStatisticsVO ageStatisticsVO2 = new IndexPopulationAgeStatisticsVO(); IndexPopulationAgeStatisticsVO ageStatisticsVO3 = new IndexPopulationAgeStatisticsVO(); IndexPopulationAgeStatisticsVO ageStatisticsVO4 = new IndexPopulationAgeStatisticsVO(); IndexPopulationAgeStatisticsVO ageStatisticsVO5 = new IndexPopulationAgeStatisticsVO(); IndexPopulationAgeStatisticsVO ageStatisticsVO6 = new IndexPopulationAgeStatisticsVO(); IndexPopulationAgeStatisticsVO ageStatisticsVO7 = new IndexPopulationAgeStatisticsVO(); IndexPopulationAgeStatisticsVO ageStatisticsVO8 = new IndexPopulationAgeStatisticsVO(); ageStatisticsVO1.setType(1); ageStatisticsVO2.setType(2); ageStatisticsVO3.setType(3); ageStatisticsVO4.setType(4); ageStatisticsVO5.setType(5); ageStatisticsVO6.setType(6); ageStatisticsVO7.setType(7); ageStatisticsVO8.setType(8); if (ageMap.isEmpty()) { ageStatisticsVO1.setSum(0); ageStatisticsVO2.setSum(0); ageStatisticsVO3.setSum(0); ageStatisticsVO4.setSum(0); ageStatisticsVO5.setSum(0); ageStatisticsVO6.setSum(0); ageStatisticsVO7.setSum(0); ageStatisticsVO8.setSum(0); } else { int count=ageMap.get("age16").intValue()+ageMap.get("age27").intValue()+ageMap.get("age35").intValue() +ageMap.get("age45").intValue()+ageMap.get("age55").intValue()+ageMap.get("age55over").intValue()+ageMap.get("age65").intValue()+ageMap.get("age75").intValue(); ageStatisticsVO1.setSum(ageMap.get("age16").intValue()); if(count == 0){ ageStatisticsVO1.setSum(0); ageStatisticsVO2.setSum(0); ageStatisticsVO3.setSum(0); ageStatisticsVO4.setSum(0); ageStatisticsVO5.setSum(0); ageStatisticsVO6.setSum(0); ageStatisticsVO7.setSum(0); ageStatisticsVO8.setSum(0); ageStatisticsVO1.setPercent(BigDecimal.ZERO); ageStatisticsVO2.setPercent(BigDecimal.ZERO); ageStatisticsVO3.setPercent(BigDecimal.ZERO); ageStatisticsVO4.setPercent(BigDecimal.ZERO); ageStatisticsVO5.setPercent(BigDecimal.ZERO); ageStatisticsVO6.setPercent(BigDecimal.ZERO); ageStatisticsVO7.setPercent(BigDecimal.ZERO); ageStatisticsVO8.setPercent(BigDecimal.ZERO); }else { BigDecimal rate = BigDecimal.valueOf(ageMap.get("age16").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); ageStatisticsVO1.setPercent(rate); ageStatisticsVO2.setSum(ageMap.get("age27").intValue()); rate = BigDecimal.valueOf(ageMap.get("age27").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); ageStatisticsVO2.setPercent(rate); ageStatisticsVO3.setSum(ageMap.get("age35").intValue()); rate = BigDecimal.valueOf(ageMap.get("age35").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); ageStatisticsVO3.setPercent(rate); ageStatisticsVO4.setSum(ageMap.get("age45").intValue()); rate = BigDecimal.valueOf(ageMap.get("age45").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); ageStatisticsVO4.setPercent(rate); ageStatisticsVO5.setSum(ageMap.get("age55").intValue()); rate = BigDecimal.valueOf(ageMap.get("age55").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); ageStatisticsVO5.setPercent(rate); ageStatisticsVO6.setSum(ageMap.get("age55over").intValue()); rate = BigDecimal.valueOf(ageMap.get("age55over").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); ageStatisticsVO6.setPercent(rate); ageStatisticsVO7.setSum(ageMap.get("age65").intValue()); rate = BigDecimal.valueOf(ageMap.get("age65").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); ageStatisticsVO7.setPercent(rate); ageStatisticsVO8.setSum(ageMap.get("age75").intValue()); rate = BigDecimal.valueOf(ageMap.get("age75").intValue() * 100d).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP); ageStatisticsVO8.setPercent(rate); } } agePopulationList.add(ageStatisticsVO1); agePopulationList.add(ageStatisticsVO2); agePopulationList.add(ageStatisticsVO3); agePopulationList.add(ageStatisticsVO4); agePopulationList.add(ageStatisticsVO5); agePopulationList.add(ageStatisticsVO6); agePopulationList.add(ageStatisticsVO7); agePopulationList.add(ageStatisticsVO8); return agePopulationList; } /** * 事件大屏统计接口 * * @param screenEventDTO * 请求参数 * @return 统计结果 */ @Override public R getScreenEvent(BigScreenEventDTO screenEventDTO) { Long communityId = screenEventDTO.getCommunityId(); // 创建统计返回参数 EventStatisticsVO statisticsVO = new EventStatisticsVO(); // 查询页面左边数据 EventLeftStatisticsVO leftStatisticsVO = new EventLeftStatisticsVO(); // 查询左上数据 EventLeftTopStatisticsVO leftTopStatisticsVO = this.baseMapper.getEventScreenLeftTop(screenEventDTO); // 查询时间频发月份 List monthList = this.baseMapper.getFrequentlyEventMonth(communityId); leftTopStatisticsVO.setOftenMonth(monthList); leftStatisticsVO.setLeftTopStatisticsVO(leftTopStatisticsVO); // 查询左下数据 EventLeftDownStatisticsVO leftDownStatisticsVO = this.baseMapper.getEventScreenLeftDown(screenEventDTO); leftStatisticsVO.setLeftDownStatisticsVO(leftDownStatisticsVO); statisticsVO.setLeftStatisticsVO(leftStatisticsVO); // 查询事件播报模块数据 EventNewStatisticsVO newStatisticsVO = this.baseMapper.getEventScreenRightTop(communityId); if (newStatisticsVO != null) { // 查询事件资源文件 List eventResourceDOList = eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper() .eq(EventResourceDO::getClassification, 1).eq(EventResourceDO::getRefId, newStatisticsVO.getId())); List picList = new ArrayList<>(); List audioList = new ArrayList<>(); List videoList = new ArrayList<>(); eventResourceDOList.forEach(eventResourceDO -> { switch (eventResourceDO.getType()) { case 1: EventResourceVO picEventResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, picEventResourceVO); picList.add(picEventResourceVO); break; case 2: EventResourceVO audioResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, audioResourceVO); audioList.add(audioResourceVO); break; case 3: EventResourceVO videoResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, videoResourceVO); videoList.add(videoResourceVO); break; } }); newStatisticsVO.setAudios(audioList); newStatisticsVO.setPics(picList); newStatisticsVO.setVideos(videoList); // 查询事件流转记录 List transferRecordList = this.baseMapper.getEventScreenEventTransList(newStatisticsVO.getId()); newStatisticsVO.setTransferRecordList(transferRecordList); } statisticsVO.setNewStatisticsVO(newStatisticsVO); // 查询网格数据 List gridStatisticsList = this.baseMapper.getEventScreenGridData(communityId); statisticsVO.setGridStatisticsList(gridStatisticsList); // 查询社区事件列表 List gridIncidentList = this.baseMapper.getEventScreenEventList(screenEventDTO); statisticsVO.setGridIncidentList(gridIncidentList); // 查询小区列表 List villageStatisticsList = this.baseMapper.getCivilScreenVillageList(communityId); if (!villageStatisticsList.isEmpty()) { villageStatisticsList.forEach(village -> { CivilVillageStatisticsVO villageStatisticsVO = this.baseMapper.getCivilScreenVillageStatistics(village.getVillageId()); if (villageStatisticsVO != null) { village.setPeopleNum(villageStatisticsVO.getPeopleNum()); village.setHouseNum(villageStatisticsVO.getHouseNum()); village.setRegisterNum(villageStatisticsVO.getRegisterNum()); village.setFlowNum(villageStatisticsVO.getFlowNum()); // BeanUtils.copyProperties(villageStatisticsVO,village); } }); } statisticsVO.setVillageStatisticsList(villageStatisticsList); // 查询统计人口数据 ComMngPopulationTotalVO populationTotalVO = populationDAO.getPopulationTotalByAdmin(communityId); if (communityId.equals(2L)) { populationTotalVO.setSpecialTotal(36); } statisticsVO.setPopulationTotalVO(populationTotalVO); return R.ok(statisticsVO); } /** * 民生大屏统计接口 * * @param communityId * 社区id * @return 统计结果 */ @Override public R getScreenCivil(Long communityId) { // 创建统计返回参数 CivilStatisticsVO civilStatisticsVO = new CivilStatisticsVO(); // 查询特殊人群统计 List specialStatisticsVOList = new ArrayList<>(); //查询特殊人群标签列表 List userTagList = comMngPopulationDAO.getUserTagListByCommunityId(communityId); IndexSpecialStatisticsVO otherSpecialVO = new IndexSpecialStatisticsVO(); otherSpecialVO.setTitle("其他"); otherSpecialVO.setSum(0); if (!userTagList.isEmpty()) { userTagList.forEach(userTag -> { if (userTag != null) { if (userTag.getSysFlag().equals(0)) { Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId); otherSpecialVO.setSum(otherSpecialVO.getSum() + count); } else { if (StringUtils.isNotEmpty(userTag.getTagName())) { if (userTag.getTagName().equals("特扶家庭")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(22); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("低保户")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(94); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("低收入人群")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(2); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("退役军人")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(264); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("高龄老人")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(comMngPopulationDAO.getStatisticsCount(communityId)); specialStatisticsVOList.add(specialStatisticsVO); } else { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId); specialStatisticsVO.setSum(count); specialStatisticsVOList.add(specialStatisticsVO); } } } } }); } // 计算特殊人群总数 specialStatisticsVOList.add(otherSpecialVO); Integer specialNum = 0; if (!specialStatisticsVOList.isEmpty()) { for (IndexSpecialStatisticsVO special : specialStatisticsVOList) { specialNum += special.getSum(); } } civilStatisticsVO.setSpecialNum(specialNum); civilStatisticsVO.setSpecialStatisticsList(specialStatisticsVOList); // 计算环比上月增长率 BigDecimal rate = BigDecimal.ZERO; CivilPopulationStatisticsVO populationStatisticsVO = this.baseMapper.getCivilScreenPopulation(communityId, DateUtils.getFirstDayOfMonth()); if (populationStatisticsVO != null) { if (populationStatisticsVO.getToMonthSpecialTotal().equals(0)) { rate = BigDecimal.valueOf(100); } else { rate = BigDecimal .valueOf(populationStatisticsVO.getSpecialTotal() - populationStatisticsVO.getToMonthSpecialTotal()) .divide(BigDecimal.valueOf(populationStatisticsVO.getToMonthSpecialTotal()), 3, BigDecimal.ROUND_HALF_UP) .multiply(BigDecimal.valueOf(100)); } } civilStatisticsVO.setRate(rate); // 查询网格数据 List gridStatisticsList = this.baseMapper.getEventScreenGridData(communityId); civilStatisticsVO.setGridStatisticsList(gridStatisticsList); // 查询小区列表 List villageStatisticsList = this.baseMapper.getCivilScreenVillageList(communityId); // villageStatisticsList.forEach(civilVillageStatisticsVO -> { // civilVillageStatisticsVO.setUserSum(comMngPopulationDAO.selectCount(new QueryWrapper().lambda().eq(ComMngPopulationDO::getVillageId,civilVillageStatisticsVO.getVillageId()))); // List specialStatisticsVOS = new ArrayList<>(); // IndexSpecialStatisticsVO otherSpecial = new IndexSpecialStatisticsVO(); // otherSpecial.setTitle("其他"); // otherSpecial.setSum(0); // // 查询特殊人群标签列表 // List userTagVOS = comMngPopulationDAO.getUserTagListByCommunityId(communityId); // // userTagVOS.forEach(comMngUserTagVO -> { // Integer count=comMngPopulationDAO.selectCountByVillageId(civilVillageStatisticsVO.getVillageId(),comMngUserTagVO.getTagName()); // IndexSpecialStatisticsVO indexSpecialStatisticsVO=new IndexSpecialStatisticsVO(); // indexSpecialStatisticsVO.setTitle(comMngUserTagVO.getTagName()); // indexSpecialStatisticsVO.setSum(count); // otherSpecial.setSum(otherSpecial.getSum()+count); // specialStatisticsVOS.add(indexSpecialStatisticsVO); // }); // otherSpecial.setSum(civilVillageStatisticsVO.getUserSum()-otherSpecial.getSum()); // specialStatisticsVOS.add(otherSpecial); // civilVillageStatisticsVO.setSpecialStatisticsList(specialStatisticsVOS); // }); civilStatisticsVO.setVillageStatisticsList(villageStatisticsList); //查询党建引领数据 CivilPartyStatisticsVO civilParty = this.baseMapper.getCivilParty(communityId); if(civilParty != null){ civilStatisticsVO.setCivilPartyStatisticsVO(civilParty); } //查询社区治理数据 CivilGovernmentStatisticsVO civilGovernment = this.baseMapper.getCivilGovernment(communityId); if(civilGovernment != null){ civilStatisticsVO.setCivilGovernmentStatisticsVO(civilGovernment); } //查询网格管理数据 CivilGridStatisticsVO civilGrid = this.baseMapper.getCivilGrid(communityId); if(civilGrid != null){ civilStatisticsVO.setCivilGridStatisticsVO(civilGrid); } //查询便民服务数据 CivilConvenienceStatisticsVO civilConvenience = this.baseMapper.getCivilConvenience(communityId); if(civilConvenience != null){ civilStatisticsVO.setCivilConvenienceStatisticsVO(civilConvenience); } return R.ok(civilStatisticsVO); } @Override public R screenStatistic(Long communityId) { ComActPopulationScreenVO comActPopulationScreenVO = new ComActPopulationScreenVO(); ComMngPopulationTotalVO vo = populationDAO.getPopulationTotalByAdmin(communityId); comActPopulationScreenVO.setTotalNum(vo.getPopulationTotal() == null ? 0 : vo.getPopulationTotal()); comActPopulationScreenVO.setLocalNum(vo.getLocalTotal() == null ? 0 : vo.getLocalTotal().longValue()); comActPopulationScreenVO.setOutNum(vo.getOutTotal() == null ? 0 : vo.getOutTotal().longValue()); // 查询特殊人群统计 List specialStatisticsVOList = new ArrayList<>(); // 查询特殊人群标签列表 List userTagList = comMngPopulationDAO.getUserTagListByCommunityId(communityId); IndexSpecialStatisticsVO otherSpecialVO = new IndexSpecialStatisticsVO(); otherSpecialVO.setTitle("其他"); otherSpecialVO.setSum(0); if (!userTagList.isEmpty()) { userTagList.forEach(userTag -> { if (userTag != null) { if (userTag.getSysFlag().equals(0)) { Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId); otherSpecialVO.setSum(otherSpecialVO.getSum() + count); } else { if (StringUtils.isNotEmpty(userTag.getTagName())) { if (userTag.getTagName().equals("特扶家庭")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(22); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("低保户")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(94); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("低收入人群")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(2); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("退役军人")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(264); specialStatisticsVOList.add(specialStatisticsVO); } else if (userTag.getTagName().equals("高龄老人")) { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); specialStatisticsVO.setSum(comMngPopulationDAO.getStatisticsCount(communityId)); specialStatisticsVOList.add(specialStatisticsVO); } else { IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId); specialStatisticsVO.setSum(count); specialStatisticsVOList.add(specialStatisticsVO); } } } } }); } // 计算特殊人群总数 specialStatisticsVOList.add(otherSpecialVO); Integer specialNum = 0; if (!specialStatisticsVOList.isEmpty()) { for (IndexSpecialStatisticsVO special : specialStatisticsVOList) { specialNum += special.getSum(); } } comActPopulationScreenVO.setSpecialNum(specialNum.longValue()); // 统计已使用社区通人数 Long count = populationDAO.countUsedCommunityPopulation(communityId); comActPopulationScreenVO.setUsedCommunityNum(count == null ? 0 : count); // comActPopulationScreenVO.setUsedCommunityNum(1183L); // 统计性别 Map sexMap = populationDAO.countBySex(communityId); comActPopulationScreenVO.setWoman(sexMap.get("woman") == null ? 0L : sexMap.get("woman")); comActPopulationScreenVO.setManNum(sexMap.get("man") == null ? 0L : sexMap.get("man")); int manPoint = (int)(((double)comActPopulationScreenVO.getManNum() / (double)comActPopulationScreenVO.getTotalNum()) * 100); comActPopulationScreenVO.setManPoint(manPoint); comActPopulationScreenVO.setWomanPoint(100 - manPoint); // 统计年龄结构 setAgeGroup(comActPopulationScreenVO, communityId); // 统计学历 setCultureGroup(comActPopulationScreenVO, communityId); // 查询网格数据 List gridStatisticsList = this.baseMapper.getEventScreenGridData(communityId); comActPopulationScreenVO.setGridStatisticsList(gridStatisticsList); // 查询小区列表 List villageStatisticsList = this.baseMapper.getCivilScreenVillageList(communityId); comActPopulationScreenVO.setVillageStatisticsList(villageStatisticsList); return R.ok(comActPopulationScreenVO); } private void setCultureGroup(ComActPopulationScreenVO comActPopulationScreenVO, Long communityId) { Map cultureMap = populationDAO.countByCulture(communityId); List cultureGroup = new ArrayList<>(); ComActPopulationCultureVO xx = new ComActPopulationCultureVO(); xx.setLevel(PopulCultureLevelEnum.XX.getName()); xx.setNum(cultureMap.get("xx")); cultureGroup.add(xx); ComActPopulationCultureVO cz = new ComActPopulationCultureVO(); cz.setLevel(PopulCultureLevelEnum.CZ.getName()); cz.setNum(cultureMap.get("cz")); cultureGroup.add(cz); ComActPopulationCultureVO gz = new ComActPopulationCultureVO(); gz.setLevel(PopulCultureLevelEnum.GZ.getName()); gz.setNum(cultureMap.get("gz")); cultureGroup.add(gz); ComActPopulationCultureVO zz = new ComActPopulationCultureVO(); zz.setLevel(PopulCultureLevelEnum.ZZ.getName()); zz.setNum(cultureMap.get("zz")); cultureGroup.add(zz); ComActPopulationCultureVO dz = new ComActPopulationCultureVO(); dz.setLevel(PopulCultureLevelEnum.DZ.getName()); dz.setNum(cultureMap.get("dz")); cultureGroup.add(dz); ComActPopulationCultureVO bk = new ComActPopulationCultureVO(); bk.setLevel(PopulCultureLevelEnum.BK.getName()); bk.setNum(cultureMap.get("bk")); cultureGroup.add(bk); ComActPopulationCultureVO ss = new ComActPopulationCultureVO(); ss.setLevel(PopulCultureLevelEnum.SS.getName()); ss.setNum(cultureMap.get("ss")); cultureGroup.add(ss); ComActPopulationCultureVO bs = new ComActPopulationCultureVO(); bs.setLevel(PopulCultureLevelEnum.BS.getName()); bs.setNum(cultureMap.get("bs")); cultureGroup.add(bs); ComActPopulationCultureVO qt = new ComActPopulationCultureVO(); qt.setLevel(PopulCultureLevelEnum.QT.getName()); qt.setNum(cultureMap.get("qt")); cultureGroup.add(qt); comActPopulationScreenVO.setCultureGroup(cultureGroup); } private void setAgeGroup(ComActPopulationScreenVO comActPopulationScreenVO, Long communityId) { Map ageMap = populationDAO.countByAge(communityId); List ageList = new ArrayList<>(); ComMngPopulationAgeVO ageVO16 = new ComMngPopulationAgeVO(); ageVO16.setGroup("0-16岁"); ageVO16.setNum(ageMap.get("age16")); ageList.add(ageVO16); ComMngPopulationAgeVO ageVO25 = new ComMngPopulationAgeVO(); ageVO25.setGroup("16-25岁"); ageVO25.setNum(ageMap.get("age25")); ageList.add(ageVO25); ComMngPopulationAgeVO ageVO35 = new ComMngPopulationAgeVO(); ageVO35.setGroup("25-35岁"); ageVO35.setNum(ageMap.get("age35")); ageList.add(ageVO35); ComMngPopulationAgeVO ageVO45 = new ComMngPopulationAgeVO(); ageVO45.setGroup("35-45岁"); ageVO45.setNum(ageMap.get("age45")); ageList.add(ageVO45); ComMngPopulationAgeVO ageVO55 = new ComMngPopulationAgeVO(); ageVO55.setGroup("45-55岁"); ageVO55.setNum(ageMap.get("age55")); ageList.add(ageVO55); ComMngPopulationAgeVO ageVO55over = new ComMngPopulationAgeVO(); ageVO55over.setGroup("55岁以上"); ageVO55over.setNum(ageMap.get("age55over")); ageList.add(ageVO55over); comActPopulationScreenVO.setAgeGroup(ageList); } /** * 获取社区网格 * * @param communityId * 社区id * @return 网格数据 */ @Override public R getScreenGirds(Long communityId) { return R.ok(this.baseMapper.getEventScreenGridData(communityId)); } /** * 事件大屏查询事件详情 * * @param eventDetailDTO * 请求参数 * @return 事件详情 */ @Override public R getScreenEventDetail(BigScreenEventDetailDTO eventDetailDTO) { EventNewStatisticsVO statisticsVO = new EventNewStatisticsVO(); Integer eventType = eventDetailDTO.getEventType(); boolean isNewReq = nonNull(eventType) && eventType.equals(2); if (eventDetailDTO.getType().equals(7) || isNewReq) {// 随手拍详情 if (isNewReq) { statisticsVO = this.baseMapper.getEventScreenSSPDateilNew(eventDetailDTO.getEventId()); } else { statisticsVO = this.baseMapper.getEventScreenSSPDateil(eventDetailDTO.getEventId()); } if (statisticsVO != null && StringUtils.isNotEmpty(statisticsVO.getPhotoPathList())) { statisticsVO.setDangerLevel("0"); statisticsVO.setMajor(false); statisticsVO.setUrgent(false); if (statisticsVO.getEventDealStatus().equals(2)||statisticsVO.getEventDealStatus().equals(1)) { statisticsVO.setEventDealStatus(1); } else { statisticsVO.setEventDealStatus(2); } List picList = new ArrayList<>(); String[] pics = statisticsVO.getPhotoPathList().split(","); if (pics.length > 0) { for (int i = 0; i < pics.length; i++) { EventResourceVO resourceVO = new EventResourceVO(); resourceVO.setType(1); resourceVO.setUrl(pics[i]); picList.add(resourceVO); } } statisticsVO.setPics(picList); } } else {// 事件详情 statisticsVO = this.baseMapper.getEventScreenEventDetail(eventDetailDTO.getEventId()); if (statisticsVO != null) { // 查询事件资源文件 List eventResourceDOList = eventResourceService.getBaseMapper().selectList(new LambdaQueryWrapper() .eq(EventResourceDO::getClassification, 1).eq(EventResourceDO::getRefId, statisticsVO.getId())); List picList = new ArrayList<>(); List audioList = new ArrayList<>(); List videoList = new ArrayList<>(); eventResourceDOList.forEach(eventResourceDO -> { switch (eventResourceDO.getType()) { case 1: EventResourceVO picEventResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, picEventResourceVO); picList.add(picEventResourceVO); break; case 2: EventResourceVO audioResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, audioResourceVO); audioList.add(audioResourceVO); break; case 3: EventResourceVO videoResourceVO = new EventResourceVO(); BeanUtils.copyProperties(eventResourceDO, videoResourceVO); videoList.add(videoResourceVO); break; } }); statisticsVO.setAudios(audioList); statisticsVO.setPics(picList); statisticsVO.setVideos(videoList); // 查询事件流转记录 List transferRecordList = this.baseMapper.getEventScreenEventTransList(eventDetailDTO.getEventId()); if (!transferRecordList.isEmpty()) { transferRecordList.forEach(transfer -> { if (transfer.getFromType().equals(EventTransferRecordVO.fromType.wgy)) { // 查询上级网格信息 EventTransferRecordDetailVO transferRecordDetailVO = this.baseMapper.getEventScreenEventTransDetail(transfer.getEventId()); transfer.setSuperiorRelationship( transferRecordDetailVO.getStreetName() + "-" + transferRecordDetailVO.getCommunityName() + "-" + transferRecordDetailVO.getGridName()); } else if (transfer.getFromType().equals(EventTransferRecordVO.fromType.sq)) { // 查询上级社区信息 EventTransferRecordDetailVO transferRecordDetailVO = this.baseMapper.getEventScreenEventTransDetailByCommunityId(transfer.getFromId()); transfer.setSuperiorRelationship(transferRecordDetailVO.getStreetName() + "-" + transferRecordDetailVO.getCommunityName()); } }); } statisticsVO.setTransferRecordList(transferRecordList); } } return R.ok(statisticsVO); } /** * 获取人口数据信息 * * @param populationListDTO * 请求参数 * @return 人口数据 */ @Override public R pagePopulationListApp(PagePopulationListDTO populationListDTO) { if(populationListDTO.getLabel() != null && "户籍人口".equals(populationListDTO.getLabel())){ populationListDTO.setLabel(null); populationListDTO.setOutOrLocal(PagePopulationListDTO.outOrLocal.bd); } if(populationListDTO.getLabel() != null && "流动人口".equals(populationListDTO.getLabel())){ populationListDTO.setLabel(null); populationListDTO.setOutOrLocal(PagePopulationListDTO.outOrLocal.wd); } IPage pagePopulationList = this.baseMapper.pagePopulationListApp( new Page(populationListDTO.getPageNum(), populationListDTO.getPageSize()), populationListDTO); if (!pagePopulationList.getRecords().isEmpty()) { pagePopulationList.getRecords().forEach(population -> { population.setAge(IdcardUtil.getAgeByIdCard(population.getCardNo())); }); } return R.ok(pagePopulationList); } /** * 根据人口id获取人口详情 * * @param populationId * 人口id * @return 人口详情 */ @Override public R getPopulationDetailApp(Long populationId) { PopulationDetailVO detail = this.baseMapper.getPopulationDetailApp(populationId); if (detail != null) { detail.setAge(IdcardUtil.getAgeByIdCard(detail.getCardNo())); if (StringUtils.isNotEmpty(detail.getCultureLevel())) { detail .setCultureLevel(PopulCultureLevelEnum.getCnDescByName(Integer.parseInt(detail.getCultureLevel()))); } if (StringUtils.isNotEmpty(detail.getMarriage())) { detail.setMarriage(PopulMarriageEnum.getCnDescByName(Integer.parseInt(detail.getMarriage()))); } //查询该人口的标签 List communityTagsList = this.baseMapper.getCommunityTagList(populationId); String label = LabelUtils.assembleLabel(communityTagsList); detail.setLabel(label); } return R.ok(detail); } /** * 修复人口加密问题 * * @return 修复结果 */ @Override @Transactional(rollbackFor = Exception.class) public R getPopulationRepairByApp() { List populationDOList = this.baseMapper.selectList(new QueryWrapper()); if (!populationDOList.isEmpty()) { populationDOList.forEach(population -> { try { population.setCardNo(AESUtil.encrypt128(population.getCardNoStr(), aesKey)); } catch (Exception e) { } this.baseMapper.updateById(population); }); } return R.ok(); } /** * 综治后台-居民列表 * * @param populationListDTO * 请求参数 * @return 居民列表 */ @Override public R getGridPopulationAdminList(ComMngPopulationListDTO populationListDTO) { if (StringUtils.isNotEmpty(populationListDTO.getKeyWord())) { try { populationListDTO.setCardNo(AESUtil.encrypt128(populationListDTO.getKeyWord(), aesKey)); } catch (Exception e) { log.error("转换身份证号码失败"); } } IPage populationListIPage = this.baseMapper.getGridPopulationAdminList( new Page(populationListDTO.getPageNum(), populationListDTO.getPageSize()), populationListDTO); if (!populationListIPage.getRecords().isEmpty()) { populationListIPage.getRecords().forEach(population -> { try { Integer age = IdcardUtil.getAgeByIdCard(population.getCardNo()); population.setAge(age); } catch (Exception e) { log.error("当前人口身份证获取年龄失败,实有人口id:" + population.getId()); } // 查询此用户在当前房屋是否是户主 Integer relation = this.baseMapper.getPopulationRelationByHouseId(population.getHouseId(), population.getId()); if (relation == null || relation != 1) { population.setIsRelation(2); } else { population.setIsRelation(1); } }); } return R.ok(populationListIPage); } /** * 综治后台-删除居民 * * @param ids * 居民id集合 * @return 删除结果 */ @Override public R delGridPopulationAdmin(List ids) { Integer count = this.baseMapper.getPopulationVisitingCount(ids); if (count > 0) { return R.fail("您选择的数据中存在被引用的,无法删除"); } this.baseMapper.deleteBatchIds(ids); //删除人口并删除人口和社区关联关系 this.baseMapper.deletePopulaitonRelation(ids); return R.ok("删除成功"); } @Override public R binding() { QueryWrapper query = new QueryWrapper<>(); query.isNull("house_id"); List list = baseMapper.selectList(query); list.forEach(e -> { QueryWrapper houseQuery = new QueryWrapper<>(); houseQuery.lambda().eq(ComMngPopulationHouseDO::getCommunityId, e.getActId()) .eq(ComMngPopulationHouseDO::getAlley, e.getRoad()).eq(ComMngPopulationHouseDO::getFloor, e.getFloor()) .eq(ComMngPopulationHouseDO::getUnitNo, e.getUnitNo()) .eq(ComMngPopulationHouseDO::getHouseNo, e.getHouseNo()); List houseList = comMngPopulationHouseDAO.selectList(houseQuery); if (!CollectionUtils.isEmpty(houseList)) { UpdateWrapper updateWrapper = new UpdateWrapper(); updateWrapper.eq("id", e.getId()); ComMngPopulationDO populationDO = new ComMngPopulationDO(); populationDO.setHouseId(houseList.get(0).getId()); baseMapper.update(populationDO, updateWrapper); } }); return R.ok(); } /** * 查询平台人口列表 * * @param populationDTO * 请求参数 * @return 人口列表 */ @Override public R getBuildingHousePopulationList(PageComMngPopulationDTO populationDTO) { IPage populationVOIPage = this.baseMapper.getBuildingHousePopulationList( new Page(populationDTO.getPageNum(), populationDTO.getPageSize()), populationDTO); if (!populationVOIPage.getRecords().isEmpty()) { populationVOIPage.getRecords().forEach(population -> { try { Integer age = IdcardUtil.getAgeByIdCard(population.getIdCard()); population.setAge(age); } catch (Exception e) { log.error("人员身份证转换年龄失败,人员id:" + population.getId()); } }); } return R.ok(populationVOIPage); } /** * 综治后台-居民标签栏统计 * * @return 居民统计 */ @Override public R getGridPopulationStatistics(Long communityId) { return R.ok(this.baseMapper.getGridPopulationStatistics(communityId)); } /** * 综治后台-居民导出查询居民数据 * * @param populationExportDTO * 请求参数 * @return 导出结果 */ @Override public R getGridPopulationExport(ComMngPopulationExportDTO populationExportDTO) { // 结果集 List resultPopulationList = new ArrayList<>(); // 查询人口信息 List populationListVOList = this.baseMapper.getGridPopulationAdminLists(populationExportDTO); if (!populationListVOList.isEmpty()) { populationListVOList.forEach(population -> { ComMngPopulationExportExcelVO populationExportExcelVO = new ComMngPopulationExportExcelVO(); BeanUtils.copyProperties(population, populationExportExcelVO); if (population.getSex() != null) { populationExportExcelVO.setSex(PopulSexEnum.getCnDescByName(population.getSex())); } if (population.getPoliticalOutlook() != null) { populationExportExcelVO.setPoliticalOutlook( PopulPoliticalOutlookEnum.getCnDescByName(population.getPoliticalOutlook())); } if (population.getIsHouse() != null) { if (!population.getIsHouse().equals(0L)) { populationExportExcelVO.setIsHouse("是"); } else { populationExportExcelVO.setIsHouse("否"); } } if (population.getEventStatus() != null) { populationExportExcelVO .setEventStatus(EventStatusEnum.getCnDescByName(population.getEventStatus())); } try { Integer age = IdcardUtil.getAgeByIdCard(population.getCardNo()); populationExportExcelVO.setAge(age); } catch (Exception e) { log.error("当前人口身份证获取年龄失败,实有人口id:" + population.getId()); } resultPopulationList.add(populationExportExcelVO); }); } return R.ok(resultPopulationList); } /** * 综治后台-居民管理小区列表 * * @param name * 小区名字 * @return 小区列表 */ @Override public R relationVillage(String name) { List populationVillageList = new ArrayList<>(); QueryWrapper villageQuery = new QueryWrapper<>(); if (StringUtils.isNotEmpty(name)) { villageQuery.lambda().like(ComMngVillageDO::getName, name); } List villageList = comActVillageDAO.selectList(villageQuery); if (!villageList.isEmpty()) { villageList.forEach(village -> { ComMngPopulationVillageVO populationVillageVO = new ComMngPopulationVillageVO(); BeanUtils.copyProperties(village, populationVillageVO); populationVillageList.add(populationVillageVO); }); } return R.ok(populationVillageList); } @Override public R getVillagePopulationAdmin(PageComMngVillagePopulationDTO villagePopulationDTO) { return R.ok(this.baseMapper.getVillagePopulationAdmin( new Page(villagePopulationDTO.getPageNum(), villagePopulationDTO.getPageSize()), villagePopulationDTO)); } @Override public R specialInputUserExport(PageInputUserDTO pageInputUserDTO) { return R.ok(this.comMngPopulationDAO.specialInputUserExport(pageInputUserDTO)); } @Override public R westScreenStatics() { WestScreenStatics westScreenStatics=this.comMngPopulationDAO.westScreenStatics(); WxDataUtil wxDataUtil=new WxDataUtil(); westScreenStatics.setDayUser(wxDataUtil.getDayUser()); westScreenStatics.setCountUser(wxDataUtil.getMonthUser()); return R.ok(westScreenStatics); } @Override public R getComprehensivePopulationStatics(Long streetId){ EventPopulationStatisticsVO statisticsVo = new EventPopulationStatisticsVO(); //查询人口数据 List basicsList = comMngPopulationDAO.getBasicsList(streetId); if(basicsList != null){ for (EventPopulationBasicsStatisticsVO basics : basicsList) { statisticsVo.setPopulationNum(statisticsVo.getPopulationNum() + basics.getPopulationNum()); statisticsVo.setVillageNum(statisticsVo.getVillageNum() + basics.getVillageNum()); statisticsVo.setHouseNum(statisticsVo.getHouseNum() + basics.getHouseNum()); } statisticsVo.setBasicsList(basicsList); } //查询特殊人群数据 EventPopulationSpecialStatisticsVO populationSpecial = comMngPopulationDAO.getPopulationSpecial(streetId); if(populationSpecial != null){ populationSpecial.setOtherTotal(populationSpecial.getZjTotal() + populationSpecial.getSfTotal() + populationSpecial.getXsTotal() + populationSpecial.getXjTotal() + populationSpecial.getJzTotal() + populationSpecial.getXdTotal()); populationSpecial.setLnTotal(comMngPopulationDAO.getPopulationAge(streetId,60)); populationSpecial.setGlTotal(comMngPopulationDAO.getPopulationAge(streetId,80)); statisticsVo.setSpecialStatisticsVo(populationSpecial); } return R.ok(statisticsVo); } @Override public R getComprehensiveStreetList(){ return R.ok(comMngPopulationDAO.getComprehensiveStreetList()); } @Override public R indexInfo(Long communityId) { IndexInfo indexInfo=new IndexInfo(); //基础数据 BaseInfo baseInfo=this.comMngPopulationDAO.baseInfo(communityId); indexInfo.setBaseInfo(baseInfo); // 查询实有人口统计模块 IndexPopulationStatisticsVO populationStatisticsVO = new IndexPopulationStatisticsVO(); // 查询实有人口性别统计 List sexPopulationList = comMngPopulationDAO.getScreenIndexByPopulationSex(communityId); populationStatisticsVO.setSexPopulationList(sexPopulationList); // 查询实有人口年龄统计 List agePopulationList = statisticsAge(communityId); populationStatisticsVO.setAgePopulationList(agePopulationList); indexInfo.setIndexPopulationStatisticsVO(populationStatisticsVO); // 查询特殊人群统计 List specialStatisticsVOList = new ArrayList<>(); // 查询特殊人群标签列表 List userTagList = comMngPopulationDAO.getUserTagListByCommunityId(communityId); IndexSpecialStatisticsVO otherSpecialVO = new IndexSpecialStatisticsVO(); otherSpecialVO.setTitle("其他"); otherSpecialVO.setSum(0); IndexSpecialStatisticsVO otherSpecialVO1 = new IndexSpecialStatisticsVO(); otherSpecialVO1.setTitle("普通居民"); otherSpecialVO1.setSum(0); int countNormal=comMngPopulationDAO.getSpecialStatistics(communityId); int countElder=comMngPopulationDAO.getStatisticsCount(communityId); int countAll=countElder+countNormal; if (!userTagList.isEmpty()) { userTagList.forEach(userTag -> { if (userTag != null) { if(userTag.getTagName().equals("高龄老人")||userTag.getTagName().equals("残疾人")||userTag.getTagName().equals("低保户")||userTag.getTagName().equals("退役军人")||userTag.getTagName().equals("养老金人员")||userTag.getTagName().equals("低收入人群")){ IndexSpecialStatisticsVO specialStatisticsVO = new IndexSpecialStatisticsVO(); specialStatisticsVO.setTitle(userTag.getTagName()); Integer count =0; if (userTag.getTagName().equals("高龄老人")) { count=countElder; } else { count= comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId); } specialStatisticsVO.setSum(count); if(countAll == 0){ specialStatisticsVO.setPercent(BigDecimal.ZERO); }else{ specialStatisticsVO.setPercent(BigDecimal.valueOf(specialStatisticsVO.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP)); } otherSpecialVO1.setSum(otherSpecialVO1.getSum()+count); specialStatisticsVOList.add(specialStatisticsVO); } else{ Integer count = comMngPopulationDAO.getSpecialStatisticsByLabel(userTag.getTagName(),communityId); otherSpecialVO.setSum(otherSpecialVO.getSum()+count); otherSpecialVO1.setSum(otherSpecialVO1.getSum()+count); } } }); } if(countAll == 0){ otherSpecialVO.setPercent(BigDecimal.ZERO); otherSpecialVO1.setPercent(BigDecimal.ZERO); }else{ otherSpecialVO.setPercent(BigDecimal.valueOf(otherSpecialVO.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP)); otherSpecialVO1.setPercent(BigDecimal.valueOf(otherSpecialVO1.getSum()*100d/countAll).setScale(2,BigDecimal.ROUND_HALF_UP)); } specialStatisticsVOList.add(otherSpecialVO); otherSpecialVO1.setSum(countAll-otherSpecialVO1.getSum()); specialStatisticsVOList.add(otherSpecialVO1); indexInfo.setSpecialStatisticsVOList(specialStatisticsVOList); // 查询网格化治理 IndexEventGridStatisticsVO eventGridStatisticsVO = new IndexEventGridStatisticsVO(); List gridStatisticsList = new ArrayList<>(); // 查询网格化事件数据 IndexGridEventStatisticsVO gridEventStatistics = comMngPopulationDAO.getGridEventStatisticsList(communityId); int count=gridEventStatistics.getEventGGTotal()+gridEventStatistics.getEventBWDTotal()+gridEventStatistics.getEventMDTotal()+gridEventStatistics.getEventTFTotal()+gridEventStatistics.getEventTSTotal()+gridEventStatistics.getEventZATotal(); if(count!=0){ gridEventStatistics.setGgPercent(BigDecimal.valueOf(gridEventStatistics.getEventGGTotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); gridEventStatistics.setBwdPercent(BigDecimal.valueOf(gridEventStatistics.getEventBWDTotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); gridEventStatistics.setMdPercent(BigDecimal.valueOf(gridEventStatistics.getEventMDTotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); gridEventStatistics.setTfPercent(BigDecimal.valueOf(gridEventStatistics.getEventTFTotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); gridEventStatistics.setTsPercent(BigDecimal.valueOf(gridEventStatistics.getEventTSTotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); gridEventStatistics.setZaPercent(BigDecimal.valueOf(gridEventStatistics.getEventZATotal()*100d/count).setScale(2,BigDecimal.ROUND_HALF_UP)); }else{ gridEventStatistics.setGgPercent(BigDecimal.valueOf(0)); gridEventStatistics.setBwdPercent(BigDecimal.valueOf(0)); gridEventStatistics.setMdPercent(BigDecimal.valueOf(0)); gridEventStatistics.setTfPercent(BigDecimal.valueOf(0)); gridEventStatistics.setTsPercent(BigDecimal.valueOf(0)); gridEventStatistics.setZaPercent(BigDecimal.valueOf(0)); } eventGridStatisticsVO.setGridEventStatisticsList(gridEventStatistics); // 查询网格数据 List gridDataList = comMngPopulationDAO.getGridDataListByCommunityId(communityId); if (!gridDataList.isEmpty()) { gridDataList.forEach(gridData -> { if (gridData != null) { IndexGridStatisticsVO gridStatisticsVO = new IndexGridStatisticsVO(); gridStatisticsVO.setEventData(gridData.getGridName()); // 根据网格id查询网格事件列表 IndexGridEventStatisticsVO gridEventList = comMngPopulationDAO.getGridEventByGirdId(gridData.getId()); gridStatisticsVO.setGridEventStatisticsList(gridEventList); gridStatisticsList.add(gridStatisticsVO); } }); } eventGridStatisticsVO.setGridStatisticsList(gridStatisticsList); indexInfo.setEventGridStatisticsVO(eventGridStatisticsVO); //首页业务统计 IndexDynamic indexDynamic=this.populationDAO.indexDynamic(communityId); indexInfo.setIndexDynamic(indexDynamic); //返攀登记居家隔离数据统计 IndexReserve indexReserve=new IndexReserve(); IndexBackReserve indexBackReserve=new IndexBackReserve(); indexBackReserve.setCount(comActReserveMapper.indexBackReserve(communityId)); indexBackReserve.setIndexReserveSubList(comActReserveMapper.indexBackReserveSub(communityId)); indexBackReserve.getIndexReserveSubList().forEach(indexReserveSub -> { if(indexReserveSub.getAllCount()!=0){ indexReserveSub.setPercent(BigDecimal.valueOf(indexReserveSub.getNum()*100d/indexReserveSub.getAllCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); } else { indexReserveSub.setPercent(BigDecimal.valueOf(0d)); } }); IndexHomeQuarantine indexHomeQuarantine=new IndexHomeQuarantine(); indexHomeQuarantine.setCount(comActReserveMapper.indexHomeQuarantine(communityId)); indexHomeQuarantine.setIndexReserveSubList(comActReserveMapper.IndexHomeQuarantineSub(communityId)); indexHomeQuarantine.getIndexReserveSubList().forEach(indexReserveSub -> { if(indexReserveSub.getAllCount()!=0){ indexReserveSub.setPercent(BigDecimal.valueOf(indexReserveSub.getNum()*100d/indexReserveSub.getAllCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); } else { indexReserveSub.setPercent(BigDecimal.valueOf(0d)); } }); indexReserve.setIndexBackReserve(indexBackReserve); indexReserve.setIndexHomeQuarantine(indexHomeQuarantine); indexInfo.setIndexReserve(indexReserve); BigscreenGridsGovernanceStatisticsVO bigscreenGridsGovernanceStatisticsVO=comActEasyPhotoDAO.selectBigscreenGridsGovern(communityId); indexInfo.setBigScreenGridStaticsReturn(setData(bigscreenGridsGovernanceStatisticsVO)); return R.ok(indexInfo); } /** * 历史数据人员类型填充 * @param list * @param communityId * @param userId * @return */ @Override @Transactional(rollbackFor = Exception.class) public R filledPopulationPersonType(List list, Long communityId, Long userId) { // 需要修改的人口集合 List updateList = new ArrayList<>(); log.info("开始处理导入数据"); List mistakes = new ArrayList<>(); try { // 查询所有人口数据放入HashMap中 List populationList = this.baseMapper.selectList(null); HashMap populationMap = new HashMap<>(); populationList.forEach(population -> { String key = population.getCardNo(); populationMap.put(key, population); }); for (ComMngPopulationServeExcelVO vo : list) { // 判断实有人口是否已存在 log.info("开始查询实有人口是否已存在"); ComMngPopulationDO populationDO = null; String populationKey = vo.getCardNo(); if (!isOnly(populationKey, populationMap)) { // 存在实有人口信息,则更新人员类型 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); Integer personType = vo.getPersonType(); if (nonNull(personType)) { populationDO.setPersonType(personType.toString()); } updateList.add(populationDO); } else { // 不存在实有人口,返回 ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); BeanUtils.copyProperties(vo, mistake); setMistake(mistake, vo); mistake.setMistake("人口信息不存在,请下载实有人口模板导入"); mistakes.add(mistake); } } } catch (Exception e) { log.info("出现错误,错误原因:" + e.getMessage()); } if (!updateList.isEmpty()) { log.info("执行数据库更新人口"); this.baseMapper.updateAll(updateList); log.info("数据库更新人口完成"); } if (!mistakes.isEmpty()) { log.info("返回错误数据"); return R.fail(mistakes); } return R.ok(mistakes); } private void setMistake(ComMngPopulationMistakeExcelVO mvo, ComMngPopulationServeExcelVO vo) { mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook())); mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent())); mvo.setRelation(PopulRelationEnum.getCnDescByName(vo.getRelation())); 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.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence())); mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType())); mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath())); } private void setDrugMistake(ComMngPopulationDrugMistakeExcelVO mvo, ComMngPopulationDrugExcelVO vo) { // mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook())); mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent())); // mvo.setRelation(PopulRelationEnum.getCnDescByName(vo.getRelation())); 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.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence())); // mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType())); // mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath())); } private void setCorrectMistake(ComMngPopulationCorrectMistakeExcelVO mvo, ComMngPopulationCorrectExcelVO vo) { // mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook())); mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent())); // mvo.setRelation(PopulRelationEnum.getCnDescByName(vo.getRelation())); 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.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())); } private void setMajorMistake(ComMngPopulationMajorMistakeExcelVO mvo, ComMngPopulationMajorExcelVO vo) { // mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook())); mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent())); // mvo.setCustodyRelation(PopulRelationEnum.getCnDescByName(vo.getCustodyRelation())); // mvo.setRelation(PopulRelationEnum.getCnDescByName(vo.getRelation())); 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.setIsCrime(PopulHouseUseEnum.getCnDescByName(vo.getIsCrime())); // mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence())); // mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType())); // mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath())); } private void setCultMistake(ComMngPopulationCultMistakeExcelVO mvo, ComMngPopulationCultExcelVO vo) { mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook())); mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent())); // mvo.setRelation(PopulRelationEnum.getCnDescByName(vo.getRelation())); 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.setIsExternalPublicity(PopulHouseUseEnum.getCnDescByName(vo.getIsExternalPublicity())); // mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence())); // mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType())); // mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath())); } private void setRehabilitationMistake(ComMngPopulationRehabilitationMistakeExcelVO mvo, ComMngPopulationRehabilitationExcelVO vo) { // 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.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())); } private void setKeyMistake(ComMngPopulationKeyMistakeExcelVO mvo, ComMngPopulationKeyExcelVO vo) { // 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.setIsRehab(PopulHouseUseEnum.getCnDescByName(vo.getIsRehab())); // mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence())); // mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType())); // mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath())); } private void setSentenceMistake(ComMngPopulationSentenceMistakeExcelVO mvo, ComMngPopulationSentenceExcelVO vo) { // 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.setIsRehab(PopulHouseUseEnum.getCnDescByName(vo.getIsRehab())); // mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence())); // mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType())); // mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath())); } private void setVeteransMistake(ComMngPopulationVeteransMistakeExcelVO mvo, ComMngPopulationVeteransExcelVO 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())); } private void setDisabilityMistake(ComMngPopulationDisabilityMistakeExcelVO mvo, ComMngPopulationDisabilityExcelVO 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())); } 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())); } private void setElderMistake(ComMngPopulationElderMistakeExcelVO mvo, ComMngPopulationElderExcelVO vo) { mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook())); mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent())); mvo.setHouseStatus(PopulHouseStatusEnum.getCnDescByName(vo.getHouseStatus())); mvo.setHousePurpose(PopulHousePurposeEnum.getCnDescByName(vo.getHousePurpose())); mvo.setControlStatus(PopulHouseControlStatusEnum.getCnDescByName(vo.getControlStatus())); mvo.setCultureLevel(PopulCultureLevelEnum.getCnDescByName(vo.getCultureLevel())); mvo.setMarriage(PopulMarriageEnum.getCnDescByName(vo.getMarriage())); mvo.setOutOrLocal(PopulOutOrLocalEnum.getCnDescByName(vo.getOutOrLocal())); mvo.setIsRegister(PopulHouseUseEnum.getCnDescByName(vo.getIsRegister())); mvo.setIsAlive(PopulHouseUseEnum.getCnDescByName(vo.getIsAlive())); // mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence())); // mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType())); // mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath())); } private void setPensionMistake(ComMngPopulationPensionMistakeExcelVO mvo, ComMngPopulationPensionExcelVO vo) { mvo.setPoliticalOutlook(PopulPoliticalOutlookEnum.getCnDescByName(vo.getPoliticalOutlook())); mvo.setIsRent(PopulHouseUseEnum.getCnDescByName(vo.getIsRent())); mvo.setHouseStatus(PopulHouseStatusEnum.getCnDescByName(vo.getHouseStatus())); mvo.setHousePurpose(PopulHousePurposeEnum.getCnDescByName(vo.getHousePurpose())); mvo.setControlStatus(PopulHouseControlStatusEnum.getCnDescByName(vo.getControlStatus())); mvo.setCultureLevel(PopulCultureLevelEnum.getCnDescByName(vo.getCultureLevel())); mvo.setMarriage(PopulMarriageEnum.getCnDescByName(vo.getMarriage())); mvo.setOutOrLocal(PopulOutOrLocalEnum.getCnDescByName(vo.getOutOrLocal())); mvo.setIsRegister(PopulHouseUseEnum.getCnDescByName(vo.getIsRegister())); mvo.setIsAlive(PopulHouseUseEnum.getCnDescByName(vo.getIsAlive())); // mvo.setResidence(PopulRelationEnum.getCnDescByName(vo.getResidence())); // mvo.setPersonType(PopulPersonTypeEnum.getCnDescByName(vo.getPersonType())); // mvo.setDeath(PopulOutOrLocalEnum.getCnDescByName(vo.getDeath())); } /** * 判重方法 * * @param key * 主键 * @param hashMap * 数据集 * @return 存在即为false 不存在则为true */ private boolean isOnly(String key, HashMap hashMap) { return ObjectUtils.isEmpty(hashMap.get(key)); } private BigScreenGridStaticsReturn setData(BigscreenGridsGovernanceStatisticsVO bigscreenGridsGovernanceStatisticsVO){ List bigScreenGridStaticsReturnList=new ArrayList<>(); BigScreenGridStaticsReturn bigScreenGridStaticsReturn=new BigScreenGridStaticsReturn(); bigScreenGridStaticsReturn.setCount(bigscreenGridsGovernanceStatisticsVO.getEventTotal()+bigscreenGridsGovernanceStatisticsVO.getOtherTotal()+bigscreenGridsGovernanceStatisticsVO.getSafety()); BigScreenGridStaticsReturn bigScreenGridStaticsReturn1=new BigScreenGridStaticsReturn(); bigScreenGridStaticsReturn1.setTitle("突发事件报告"); bigScreenGridStaticsReturn1.setNum(bigscreenGridsGovernanceStatisticsVO.getEventTFTotal()); if(bigScreenGridStaticsReturn.getCount()>0) { bigScreenGridStaticsReturn1.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventTFTotal() * 100d / bigScreenGridStaticsReturn.getCount()).setScale(2, BigDecimal.ROUND_HALF_UP)); } else { bigScreenGridStaticsReturn1.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP)); } bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn1); BigScreenGridStaticsReturn bigScreenGridStaticsReturn2=new BigScreenGridStaticsReturn(); bigScreenGridStaticsReturn2.setTitle("特殊人群服务"); bigScreenGridStaticsReturn2.setNum(bigscreenGridsGovernanceStatisticsVO.getEventTSTotal()); if(bigScreenGridStaticsReturn.getCount()>0) { bigScreenGridStaticsReturn2.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventTSTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); } else { bigScreenGridStaticsReturn2.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP)); } bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn2); BigScreenGridStaticsReturn bigScreenGridStaticsReturn3=new BigScreenGridStaticsReturn(); bigScreenGridStaticsReturn3.setTitle("治安防控"); bigScreenGridStaticsReturn3.setNum(bigscreenGridsGovernanceStatisticsVO.getEventZATotal()); if(bigScreenGridStaticsReturn.getCount()>0) { bigScreenGridStaticsReturn3.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventZATotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); } else { bigScreenGridStaticsReturn3.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP)); } bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn3); BigScreenGridStaticsReturn bigScreenGridStaticsReturn4=new BigScreenGridStaticsReturn(); bigScreenGridStaticsReturn4.setTitle("民生服务"); bigScreenGridStaticsReturn4.setNum(bigscreenGridsGovernanceStatisticsVO.getEventMSTotal()); if(bigScreenGridStaticsReturn.getCount()>0) { bigScreenGridStaticsReturn4.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventMSTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); } else { bigScreenGridStaticsReturn4.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP)); } bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn4); BigScreenGridStaticsReturn bigScreenGridStaticsReturn5=new BigScreenGridStaticsReturn(); bigScreenGridStaticsReturn5.setTitle("矛盾劝解"); bigScreenGridStaticsReturn5.setNum(bigscreenGridsGovernanceStatisticsVO.getEventMDTotal()); if(bigScreenGridStaticsReturn.getCount()>0) { bigScreenGridStaticsReturn5.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventMDTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); } else { bigScreenGridStaticsReturn5.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP)); } bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn5); BigScreenGridStaticsReturn bigScreenGridStaticsReturn6=new BigScreenGridStaticsReturn(); bigScreenGridStaticsReturn6.setTitle("防灾减灾"); bigScreenGridStaticsReturn6.setNum(bigscreenGridsGovernanceStatisticsVO.getEventFJTotal()); if(bigScreenGridStaticsReturn.getCount()>0) { bigScreenGridStaticsReturn6.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventFJTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); } else { bigScreenGridStaticsReturn6.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP)); } bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn6); BigScreenGridStaticsReturn bigScreenGridStaticsReturn7=new BigScreenGridStaticsReturn(); bigScreenGridStaticsReturn7.setTitle("政策法规宣传"); bigScreenGridStaticsReturn7.setNum(bigscreenGridsGovernanceStatisticsVO.getEventFGTotal()); if(bigScreenGridStaticsReturn.getCount()>0) { bigScreenGridStaticsReturn7.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getEventFGTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); } else { bigScreenGridStaticsReturn7.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP)); } bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn7); BigScreenGridStaticsReturn bigScreenGridStaticsReturn8=new BigScreenGridStaticsReturn(); bigScreenGridStaticsReturn8.setTitle("安全巡查"); bigScreenGridStaticsReturn8.setNum(bigscreenGridsGovernanceStatisticsVO.getSafety()); if(bigScreenGridStaticsReturn.getCount()>0) { bigScreenGridStaticsReturn8.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getSafety()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); } else { bigScreenGridStaticsReturn8.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP)); } bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn8); BigScreenGridStaticsReturn bigScreenGridStaticsReturn9=new BigScreenGridStaticsReturn(); bigScreenGridStaticsReturn9.setTitle("其他"); bigScreenGridStaticsReturn9.setNum(bigscreenGridsGovernanceStatisticsVO.getOtherTotal()); if(bigScreenGridStaticsReturn.getCount()>0) { bigScreenGridStaticsReturn9.setPercent(BigDecimal.valueOf(bigscreenGridsGovernanceStatisticsVO.getOtherTotal()*100d/bigScreenGridStaticsReturn.getCount()).setScale(2,BigDecimal.ROUND_HALF_UP)); } else { bigScreenGridStaticsReturn9.setPercent(BigDecimal.valueOf(0).setScale(2, BigDecimal.ROUND_HALF_UP)); } bigScreenGridStaticsReturnList.add(bigScreenGridStaticsReturn9); bigScreenGridStaticsReturn.setBigScreenGridStaticsReturnList(bigScreenGridStaticsReturnList); return bigScreenGridStaticsReturn; } }