From 51508c8c63bb072739a0e3ae45cb11e7599c8f66 Mon Sep 17 00:00:00 2001 From: manailin <261030956@qq.com> Date: 星期五, 20 八月 2021 10:12:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java | 170 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 121 insertions(+), 49 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java index 60f59a4..18e3882 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java @@ -81,6 +81,10 @@ @Resource private ComMngPopulationHouseUserDAO comMngPopulationHouseUserDAO; @Resource + private ComMngPopulationCommunityTagsDAO comMngPopulationCommunityTagsDAO; + @Resource + private ComMngPopulationCommunityTagsService comMngPopulationCommunityTagsService; + @Resource private ComMngPopulationDAO comMngPopulationDAO; @Resource private ComMngPopulationHouseUserService comMngPopulationHouseUserService; @@ -213,6 +217,12 @@ //设置年龄 if (StringUtils.isNotEmpty(comMngPopulationVO.getBirthday())) { comMngPopulationVO.setAge(AgeUtils.getAgeFromBirthTimes(comMngPopulationVO.getBirthday())); + } + //设置特殊群体标签 + ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = comMngPopulationCommunityTagsDAO.selectOne(new QueryWrapper<ComMngPopulationCommunityTagsDO>(). + lambda().eq(ComMngPopulationCommunityTagsDO::getPopulationId, populationId)); + if (null != comMngPopulationCommunityTagsDO) { + comMngPopulationVO.setLabel(comMngPopulationCommunityTagsDO.getLabel()); } //查询当前用户电子档信息 @@ -496,7 +506,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSavePopulation(List<ComMngPopulationServeExcelVO> list, Long communityId){ + public R listSavePopulation(List<ComMngPopulationServeExcelVO> list, Long communityId, Long userId){ //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -505,6 +515,10 @@ List<ComMngPopulationDO> updateList = new ArrayList<>(); //需要新增的人口与房屋关系集合 List<ComMngPopulationHouseUserDO> houseUserList = new ArrayList<>(); + //需要新增的人口与社区关系集合 + List<ComMngPopulationCommunityTagsDO> savePopulationCommunityList = new ArrayList<>(); + //需要新增的人口与社区关系集合 + List<ComMngPopulationCommunityTagsDO> updatePopulationCommunityList = new ArrayList<>(); log.info("开始处理导入数据"); List<ComMngPopulationMistakeExcelVO> mistakes = new ArrayList<>(); @@ -516,7 +530,7 @@ log.error("未查询到社区信息"); return R.fail("未查询到社区信息"); } - log.info("开始查询社区信息数据完成"); + log.info("查询社区信息数据完成"); //查询当前社区标签列表 List<String> labelList = new ArrayList<>(); @@ -559,6 +573,12 @@ houseUserMap.put(key,houseUser); }); + List<ComMngPopulationCommunityTagsDO> populationCommunityLists = comMngPopulationCommunityTagsDAO.selectList(null); + HashMap<String,Object> populationCommunityMap = new HashMap<>(); + populationCommunityLists.forEach(populationCommunity -> { + String key = populationCommunity.getPopulationId() + populationCommunity.getCommunityId() + ""; + populationCommunityMap.put(key,populationCommunity); + }); for (ComMngPopulationServeExcelVO vo : list) { if (vo.getDoorNo().contains("号")) { @@ -607,7 +627,7 @@ address.append(vo.getHouseNo()).append("号"); } vo.setAddress(address.toString()); - log.info("开始查询小区街路巷是否存在完成"); + log.info("查询小区街路巷是否存在完成"); log.info("开始查询房屋是否存在"); //先判断房屋是否存在 @@ -633,7 +653,7 @@ populationHouseDO = (ComMngPopulationHouseDO)houseMap.get(houseKey); } vo.setHouseId(populationHouseDO.getId()); - log.info("开始查询房屋是否存在完成"); + log.info("查询房屋是否存在完成"); if (StringUtils.isEmpty(vo.getName()) && StringUtils.isEmpty(vo.getCardNo())) { //空户处理完房屋信息,直接返回 @@ -647,20 +667,14 @@ if(!isOnly(populationKey,populationMap)){ //存在实有人口信息,则更新 populationDO = (ComMngPopulationDO)populationMap.get(populationKey); - ComMngPopulationDO updatePopulationDO = updatePopulationDO(vo,populationDO,labelList); + ComMngPopulationDO updatePopulationDO = updatePopulationDO(vo,populationDO,userId); updateList.add(updatePopulationDO); - - ComMngPopulationMistakeExcelVO mistake = new ComMngPopulationMistakeExcelVO(); - BeanUtils.copyProperties(vo,mistake); - setMistake(mistake, vo); - mistake.setMistake("该实有人口已存在,执行更新,社区id::"+ populationDO.getActId()); - mistakes.add(mistake); }else{ //不存在实有人口,则新增 - populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO,labelList); + populationDO = savePopulationDO(vo, populationActVO, comMngVillageDO, userId); saveList.add(populationDO); } - log.info("开始查询实有人口是否已存在完成"); + log.info("查询实有人口是否已存在完成"); log.info("开始查询实有人口房屋居住信息"); //处理实有人口房屋居住信息 @@ -678,7 +692,53 @@ houseUserList.add(populationHouseUserDO); } } - log.info("开始查询实有人口房屋居住信息完成"); + 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<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList()); + //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 + Iterator<String> iterator = userTag.iterator(); + while (iterator.hasNext()) { + String s = iterator.next(); + if (!labelList.contains(s)) + iterator.remove(); + } + populationDO.setLabel(Joiner.on(",").join(userTag)); + populationDO.setCreateBy(userId); + savePopulationCommunityList.add(cpopulationCommunityTagsDO); + } + }else { + //实有人口存在于当前社区,则更新 + ComMngPopulationCommunityTagsDO comMngPopulationCommunityTagsDO = (ComMngPopulationCommunityTagsDO)populationCommunityMap.get(populationCommunityKey); + List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList()); + //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 + Iterator<String> iterator = userTag.iterator(); + while (iterator.hasNext()) { + String s = iterator.next(); + if (!labelList.contains(s)) + iterator.remove(); + } + 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("查询实有人口存在社区信息完成"); } }catch (Exception e){ log.info("出现错误,错误原因:" + e.getMessage()); @@ -689,23 +749,33 @@ if(!houseList.isEmpty()){ log.info("执行数据库导入房屋"); comMngPopulationHouseDAO.insertAll(houseList); - log.info("执行数据库导入房屋完成"); + log.info("数据库导入房屋完成"); } if(!saveList.isEmpty()){ log.info("执行数据库导入人口"); this.baseMapper.insertAll(saveList); - log.info("执行数据库导入人口完成"); + log.info("数据库导入人口完成"); } if(!updateList.isEmpty()){ log.info("执行数据库更新人口"); this.baseMapper.updateAll(updateList); // this.updateBatchById(updateList); - log.info("执行数据库更新人口完成"); + log.info("数据库更新人口完成"); } if(!houseUserList.isEmpty()){ log.info("执行数据库导入人口房屋关系"); comMngPopulationHouseUserService.saveBatch(houseUserList); - log.info("执行数据库导入人口房屋关系完成"); + log.info("数据库导入人口房屋关系完成"); + } + if(!savePopulationCommunityList.isEmpty()){ + log.info("执行数据库导入人口社区关系"); + comMngPopulationCommunityTagsService.saveBatch(savePopulationCommunityList); + log.info("数据库导入人口社区关系完成"); + } + if(!updatePopulationCommunityList.isEmpty()){ + log.info("执行数据库更新人口社区关系"); + comMngPopulationCommunityTagsService.updateBatchById(updatePopulationCommunityList); + log.info("数据库更新人口社区关系完成"); } log.info("执行数据库导入完成"); @@ -718,7 +788,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSaveDrugPopulation(List<ComMngPopulationDrugExcelVO> list, Long communityId) { + public R listSaveDrugPopulation(List<ComMngPopulationDrugExcelVO> list, Long communityId, Long userId) { //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -934,7 +1004,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSaveCorrectPopulation(List<ComMngPopulationCorrectExcelVO> list, Long communityId) { + public R listSaveCorrectPopulation(List<ComMngPopulationCorrectExcelVO> list, Long communityId, Long userId) { //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -1150,7 +1220,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSaveMajorPopulation(List<ComMngPopulationMajorExcelVO> list, Long communityId) { + public R listSaveMajorPopulation(List<ComMngPopulationMajorExcelVO> list, Long communityId, Long userId) { //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -1366,7 +1436,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSaveCultPopulation(List<ComMngPopulationCultExcelVO> list, Long communityId) { + public R listSaveCultPopulation(List<ComMngPopulationCultExcelVO> list, Long communityId, Long userId) { //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -1582,7 +1652,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSaveRehabilitationPopulation(List<ComMngPopulationRehabilitationExcelVO> list, Long communityId) { + public R listSaveRehabilitationPopulation(List<ComMngPopulationRehabilitationExcelVO> list, Long communityId, Long userId) { //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -1798,7 +1868,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSaveKeyPopulation(List<ComMngPopulationKeyExcelVO> list, Long communityId) { + public R listSaveKeyPopulation(List<ComMngPopulationKeyExcelVO> list, Long communityId, Long userId) { //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -2014,7 +2084,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSaveSentencePopulation(List<ComMngPopulationSentenceExcelVO> list, Long communityId) { + public R listSaveSentencePopulation(List<ComMngPopulationSentenceExcelVO> list, Long communityId, Long userId) { //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -2230,7 +2300,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSaveVeteransPopulation(List<ComMngPopulationVeteransExcelVO> list, Long communityId) { + public R listSaveVeteransPopulation(List<ComMngPopulationVeteransExcelVO> list, Long communityId, Long userId) { //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -2446,7 +2516,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSaveDisabilityPopulation(List<ComMngPopulationDisabilityExcelVO> list, Long communityId) { + public R listSaveDisabilityPopulation(List<ComMngPopulationDisabilityExcelVO> list, Long communityId, Long userId) { //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -2662,7 +2732,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public R listSaveLowSecurityPopulation(List<ComMngPopulationLowSecurityExcelVO> list, Long communityId) { + public R listSaveLowSecurityPopulation(List<ComMngPopulationLowSecurityExcelVO> list, Long communityId, Long userId) { //需要新增的房屋集合 List<ComMngPopulationHouseDO> houseList = new ArrayList<>(); //需要新增的人口集合 @@ -2881,24 +2951,25 @@ } - private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComMngPopulationDO populationDO,List<String> labelList){ + private ComMngPopulationDO updatePopulationDO(ComMngPopulationServeExcelVO vo, ComMngPopulationDO populationDO, Long userId){ BeanUtils.copyProperties(vo, populationDO); - List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList()); - //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 - Iterator<String> iterator = userTag.iterator(); - while (iterator.hasNext()) { - String s = iterator.next(); - if (!labelList.contains(s)) - iterator.remove(); - } +// List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList()); +// //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 +// Iterator<String> iterator = userTag.iterator(); +// while (iterator.hasNext()) { +// String s = iterator.next(); +// if (!labelList.contains(s)) +// iterator.remove(); +// } String cardNoAES = populationDO.getCardNo(); try { cardNoAES = AESUtil.encrypt128(vo.getCardNo(), aesKey); }catch (Exception e){ log.error("身份证加密失败"); } - populationDO.setLabel(Joiner.on(",").join(userTag)); +// populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setCardNo(cardNoAES); + populationDO.setUpdateBy(userId); return populationDO; } @@ -3263,23 +3334,23 @@ return populationDO; } - private ComMngPopulationDO savePopulationDO(ComMngPopulationServeExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO,List<String> labelList) { + private ComMngPopulationDO savePopulationDO(ComMngPopulationServeExcelVO vo, ComPopulationActVO comActDO, ComMngVillageDO comMngVillageDO, Long userId) { ComMngPopulationDO populationDO = new ComMngPopulationDO(); BeanUtils.copyProperties(vo, populationDO); populationDO.setId(Snowflake.getId()); - List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList()); - - //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 - Iterator<String> iterator = userTag.iterator(); - while (iterator.hasNext()) { - String s = iterator.next(); - if (!labelList.contains(s)) - iterator.remove(); - } +// List<String> userTag = vo.getUserTagStr().stream().map(userTagStr -> userTagStr.split("\\(")[0]).collect(Collectors.toList()); +// +// //如果导入数据标签中有当前社区标签列表中不包含的标签,则删除 +// Iterator<String> iterator = userTag.iterator(); +// while (iterator.hasNext()) { +// String s = iterator.next(); +// if (!labelList.contains(s)) +// iterator.remove(); +// } populationDO.setVillageId(comMngVillageDO.getVillageId()); populationDO.setActId(comActDO.getCommunityId()); populationDO.setStreetId(comActDO.getStreetId()); - populationDO.setLabel(Joiner.on(",").join(userTag)); +// populationDO.setLabel(Joiner.on(",").join(userTag)); populationDO.setVillageName(comMngVillageDO.getGroupAt()); populationDO.setCardNoStr(vo.getCardNo()); populationDO.setUpdateAt(new Date()); @@ -3291,6 +3362,7 @@ 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)) { -- Gitblit v1.7.1