From c4d6c6cc7f6a2342cc32e7f67f6f6eeb76a97ac1 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期二, 30 三月 2021 19:53:29 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngPopulationServiceImpl.java | 133 +++++++++++++++++++++++++++---------------- 1 files changed, 83 insertions(+), 50 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 b69dce7..411e239 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 @@ -1,10 +1,13 @@ package com.panzhihua.service_community.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.ComMngPopulationDTO; import com.panzhihua.common.model.dtos.community.ComMngPopulationTagDTO; import com.panzhihua.common.model.dtos.community.PageComActDTO; @@ -13,6 +16,7 @@ import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO; import com.panzhihua.service_community.dao.ComActActivityDAO; import com.panzhihua.service_community.dao.ComActDAO; +import com.panzhihua.service_community.dao.ComActVillageDAO; import com.panzhihua.service_community.dao.ComMngPopulationDAO; import com.panzhihua.service_community.model.dos.ComActActivityDO; import com.panzhihua.service_community.model.dos.ComActDO; @@ -33,9 +37,13 @@ * 实有人口Service实现类 */ @Service -public class ComMngPopulationServiceImpl implements ComMngPopulationService { +public class ComMngPopulationServiceImpl extends ServiceImpl<ComMngPopulationDAO, ComMngPopulationDO> implements ComMngPopulationService { @Resource private ComMngPopulationDAO populationDAO; + @Resource + private ComActDAO comActDAO; + @Resource + private ComActVillageDAO comActVillageDAO; /** @@ -176,65 +184,90 @@ @Override public R listSavePopulation(List<ComMngPopulationServeExcelVO> list, Long communityId) { - /* //思路:实有房屋(小区)当前是存在重复人口,打印已经存在的重复数据 - List<ComMngPopulationDO> comMngPopulationDOS = populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId, communityId)); if (list.size() == 0) { return R.fail("数据为空!"); } - judgeEmpty(list); - - ComActDO comActDO = comActDAO.selectById(communityId); - ArrayList<ComMngVillageDO> comMngVillageDOS = Lists.newArrayList(); - list.forEach(vo -> { - ComMngVillageDO comMngVillageDO = new ComMngVillageDO(); - BeanUtils.copyProperties(vo, comMngVillageDO); - comMngVillageDO.setCommunityId(comActDO.getCommunityId()); - comMngVillageDO.setStreetId(comActDO.getStreetId()); - comMngVillageDOS.add(comMngVillageDO); - }); - this.saveBatch(comMngVillageDOS); - return R.ok("共计导入实有房屋数量:" + comMngVillageDOS.size());*/ - return null; - } - - /** - * excel数据校验 - * - * @param list - */ - private void judgeEmpty(List<ComMngPopulationServeExcelVO> list) { - /*int index = 2; + List<ComMngPopulationDO> comMngPopulationDOS = populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getActId, communityId)); + //查询该社区所有(实有房屋)小区 + List<ComMngVillageDO> villageDOList = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId, communityId)); + int index = 2; for (ComMngPopulationServeExcelVO vo : list) { - ComMngPopulationServeExcelVO comMngPopulationServeExcelVO = new ComMngPopulationServeExcelVO(); - comMngPopulationServeExcelVO.setName(""); - comMngPopulationServeExcelVO.setSex(0); - comMngPopulationServeExcelVO.setAge(0); - comMngPopulationServeExcelVO.setAdsf(0); - comMngPopulationServeExcelVO.setRoad(""); - comMngPopulationServeExcelVO.setDoorNo(0); - comMngPopulationServeExcelVO.setFloor(""); - comMngPopulationServeExcelVO.setUnitNo(0); - comMngPopulationServeExcelVO.setHouseNo(0); - comMngPopulationServeExcelVO.setNation(""); - comMngPopulationServeExcelVO.setPoliticalOutlook(0); - comMngPopulationServeExcelVO.setCardNo(""); - comMngPopulationServeExcelVO.setPhone(""); - comMngPopulationServeExcelVO.setNativePlace(""); - comMngPopulationServeExcelVO.setWorkCompany(""); - - if (vo.get() == null) { - return R.fail("门牌号第" + index + "行为空!"); + if (vo.getName() == null) { + return R.fail("家庭成员(姓名)第" + index + "行为空!"); } - if (vo.getAlley() == null) { - return R.fail("街路巷第" + index + "行为空!"); + if (vo.getSex() == null) { + return R.fail("性别第" + index + "行为空!"); + } + if (vo.getAge() == null) { + return R.fail("年龄" + index + "行为空!"); + } + + if (vo.getIsRent() == null) { + return R.fail("是否租住,第" + index + "行为空!"); + } + if (vo.getRoad() == null) { + return R.fail("街路巷,第" + index + "行为空!"); + } + if (vo.getDoorNo() == null) { + return R.fail("门牌号,第" + index + "行为空!"); + } + + if (vo.getFloor() == null) { + return R.fail("楼排号,第" + index + "行为空!"); + } + if (vo.getUnitNo() == null) { + return R.fail("单元号,第" + index + "行为空!"); + } + if (vo.getHouseNo() == null) { + return R.fail("户室,第" + index + "行为空!"); + } + if (vo.getNation() == null) { + return R.fail("民族,第" + index + "行为空!"); + } + if (vo.getPoliticalOutlook() == null) { + return R.fail("政治面貌,第" + index + "行为空!"); + } + if (vo.getCardNo() == null) { + return R.fail("身份证号码,第" + index + "行为空!"); + } + if (vo.getPhone() == null) { + return R.fail("联系方式,第" + index + "行为空!"); } //判断DB和exel数据重复判断 - boolean result = comMngVillageDOs.stream().allMatch(village -> village.getAlley().equals(vo.getAlley()) && village.getHouseNum().equals(vo.getHouseNum())); + boolean result = comMngPopulationDOS.stream().anyMatch(population -> population.getCardNo().equals(vo.getCardNo())); if (result) { - return R.fail("导入街路巷已存在(" + vo.getAlley() + ")"); + return R.fail("导入实有人口已存在(" + vo.getCardNo() + ")"); } index++; - }*/ + } + ComActDO comActDO = comActDAO.selectById(communityId); + ArrayList<ComMngPopulationDO> populationDOList = Lists.newArrayList(); + list.forEach(vo -> { + ComMngPopulationDO comMngPopulationDO = new ComMngPopulationDO(); + 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.setActId(comMngVillageDO.getVillageId()); + comMngPopulationDO.setActId(comActDO.getCommunityId()); + comMngPopulationDO.setStreetId(comActDO.getStreetId()); + comMngPopulationDO.setLabel(Joiner.on(",").join(vo.getUserTagStr())); + comMngPopulationDO.setVillageName(comMngVillageDO.getGroupAt()); + populationDOList.add(comMngPopulationDO); + }); + //this.saveBatch(populationDOList); + 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; } /** -- Gitblit v1.7.1