src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -422,19 +422,22 @@ <!--查询所有的地址表和场所表差集集合(小区和非小区的)--> <select id="getPlaceList" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity"> select jda.* from jczz_doorplate_address jda left join jczz_place jp on jp.house_code = jda.address_code and jp.is_deleted =0 where 1=1 and jp.house_code is null and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1)) union select min(jda.id) from jczz_doorplate_address jda left join jczz_district jd on jda.aoi_code = jd.aoi_code where jda.aoi_code != "" and jda.aoi_name !="" and jd.id is null and (doorplate_type = '大门牌' or doorplate_type = '楼幢牌' or doorplate_type = '中门牌' or doorplate_type = '单元牌') GROUP BY jda.aoi_code union all ( select jda.* from jczz_doorplate_address jda left join jczz_place jp on jp.house_code = jda.address_code and jp.is_deleted =0 where 1=1 and jp.house_code is null and aoi_code is null and doorplate_type='中门牌' select min(jda.id) from jczz_doorplate_address jda left join jczz_district jd on jda.aoi_code = jd.aoi_code where jda.aoi_code != "" and jda.sub_aoi != "" and (doorplate_type = '大门牌' or doorplate_type = '楼幢牌' or doorplate_type = '中门牌') group by jda.aoi_code ) </select> </mapper> src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -651,18 +651,26 @@ List<DistrictEntity> aoiList = new ArrayList<>(); // 将小区数据保存到小区表中 for (DoorplateAddressEntity addressEntity : list) { DistrictEntity districtEntity = new DistrictEntity(); districtEntity.setCommunityCode(addressEntity.getNeiCode()); districtEntity.setAoiCode(addressEntity.getAoiCode()); districtEntity.setName(addressEntity.getAoiName()); districtEntity.setAddress(addressEntity.getAddressName()); districtEntity.setLng(addressEntity.getX()); districtEntity.setLat(addressEntity.getY()); // 加入集合 aoiList.add(districtEntity); // 查询小区是否已存在,不存在则插入,否则不新增 QueryWrapper<DistrictEntity> wrapper = new QueryWrapper<>(); wrapper.eq("aoi_code",addressEntity.getAoiCode()) .eq("is_deleted",0); DistrictEntity one = districtService.getOne(wrapper); if (null==one) { DistrictEntity districtEntity = new DistrictEntity(); districtEntity.setCommunityCode(addressEntity.getNeiCode()); districtEntity.setAoiCode(addressEntity.getAoiCode()); districtEntity.setName(addressEntity.getAoiName()); districtEntity.setAddress(addressEntity.getAddressName()); districtEntity.setLng(addressEntity.getX()); districtEntity.setLat(addressEntity.getY()); // 加入集合 districtService.save(districtEntity); // aoiList.add(districtEntity); } } // 批量插入 districtService.saveBatch(aoiList); // districtService.saveBatch(aoiList); // 返回 return null; }