| | |
| | | |
| | | @Override |
| | | public R listSaveVillage(List<ComMngVillageServeExcelVO> list, Long communityId) { |
| | | //获取社区下所有的实有房屋(小区),打印已经存在的重复数据 |
| | | //思路:获取社区下所有的实有房屋(小区),打印已经存在的重复数据 |
| | | List<ComMngVillageDO> comMngVillageDOs = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId, communityId)); |
| | | List<String> alleyList = list.stream().map(vo -> vo.getAlley()).collect(Collectors.toList()); |
| | | List<Integer> houseNumList = list.stream().map(vo -> vo.getHouseNum()).collect(Collectors.toList()); |
| | | List<ComMngVillageDO> resultList = comMngVillageDOs.stream().filter(village -> alleyList.contains(village.getAlley()) && houseNumList.contains(village.getAlley())).collect(Collectors.toList()); |
| | | if (resultList != null && resultList.size() > 0) { |
| | | List<String> repeatList = resultList.stream().map(ComMngVillageDO::getAlley).collect(Collectors.toList()); |
| | | return R.fail("导入实有房屋,存在数据重复:" + repeatList.toArray()); |
| | | if (list.size() == 0) { |
| | | return R.fail("数据为空!"); |
| | | } |
| | | int index = 2; |
| | | for (ComMngVillageServeExcelVO vo : list) { |
| | | if (vo.getHouseNum() == null) { |
| | | return R.fail("门牌号第" + index + "行为空!"); |
| | | } |
| | | if (vo.getAlley() == null) { |
| | | return R.fail("街路巷第" + index + "行为空!"); |
| | | } |
| | | //判断DB和exel数据重复判断 |
| | | boolean result = comMngVillageDOs.stream().allMatch(village -> village.getAlley().equals(vo.getAlley()) && village.getHouseNum().equals(vo.getHouseNum())); |
| | | if (result) { |
| | | return R.fail("导入街路巷已存在(" + vo.getAlley()+")"); |
| | | } |
| | | index++; |
| | | } |
| | | ComActDO comActDO = comActDAO.selectById(communityId); |
| | | ArrayList<ComMngVillageDO> comMngVillageDOS = Lists.newArrayList(); |
| | | BeanUtils.copyProperties(list, comMngVillageDOS); |
| | | /*this.saveBatch(comMngCarDOS); |
| | | return R.ok("共计导入车辆数量:" + comMngCarDOS.size());*/ |
| | | System.out.println(comMngVillageDOS); |
| | | return null; |
| | | 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()); |
| | | } |
| | | } |