From 9c337d8dc09694005eda83df13d7972fddbfe2cc Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 08 Dec 2023 11:38:24 +0800
Subject: [PATCH] 小区数据处理修改

---
 src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml             |   27 +++++++++++++++------------
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |   28 ++++++++++++++++++----------
 2 files changed, 33 insertions(+), 22 deletions(-)

diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
index e3e4eb5..3b27113 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/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>
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
index 798ed95..2a6d590 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
+++ b/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;
 	}

--
Gitblit v1.9.3