From 363e5732ff101c0b66bd641467fddc94e9419bdb Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 12 Mar 2024 11:39:10 +0800
Subject: [PATCH] 房屋警格,网格处理新增

---
 src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java                       |   47 +++++++++++++++++++++++
 src/main/java/org/springblade/modules/house/mapper/HouseMapper.java                                  |    7 +++
 src/main/java/org/springblade/modules/house/service/IHouseService.java                               |   12 ++++++
 src/main/java/org/springblade/modules/house/controller/HouseController.java                          |   20 ++++++++++
 src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java |    2 +
 src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml                                   |   11 +++++
 6 files changed, 99 insertions(+), 0 deletions(-)

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 110d71b..4b65872 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
@@ -744,6 +744,8 @@
 						houseEntity.setHouseCode(doorplateAddressEntity.getAddressCode());
 						houseEntity.setDistrictCode(doorplateAddressEntity.getAoiCode());
 						houseEntity.setDistrictName(doorplateAddressEntity.getAoiName());
+						houseEntity.setLng(doorplateAddressEntity.getX());
+						houseEntity.setLat(doorplateAddressEntity.getY());
 						houseEntity.setHouseName(doorplateAddressEntity.getAddressName());
 						houseEntity.setFloor(doorplateAddressEntity.getFloor());
 						houseEntity.setBuilding(doorplateAddressEntity.getBuildingName());
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseController.java b/src/main/java/org/springblade/modules/house/controller/HouseController.java
index b4351ac..6c4da2e 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseController.java
@@ -258,4 +258,24 @@
 		return R.data(detail);
 	}
 
+	/**
+	 * 房屋网格处理
+	 * @return
+	 */
+	@GetMapping("/houseGridHandle")
+	@ApiOperation(value = "房屋网格处理")
+	public R houseGridHandle() {
+		return R.data(houseService.houseGridHandle());
+	}
+
+	/**
+	 * 房屋警格处理
+	 * @return
+	 */
+	@GetMapping("/houseJwGridHandle")
+	@ApiOperation(value = "房屋警格处理")
+	public R houseJwGridHandle() {
+		return R.data(houseService.houseJwGridHandle());
+	}
+
 }
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
index 2809c93..4eede44 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
@@ -103,4 +103,11 @@
 								@Param("regionChildCodesList") List<String> regionChildCodesList,
 								@Param("isAdministrator") Integer isAdministrator,
 								@Param("streetCode") String streetCode);
+
+	/**
+	 * 查询未绑定网格或警格的数据
+	 * @param type 1:网格  2:警格
+	 * @return
+	 */
+	List<HouseEntity> getNotBindGridOrJwGridList(@Param("type") Integer type);
 }
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
index 07e5f12..c1de566 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -789,5 +789,16 @@
 
     </select>
 
+    <!--查询未绑定网格或警格的数据-->
+    <select id="getNotBindGridOrJwGridList" resultType="org.springblade.modules.house.entity.HouseEntity">
+        select lng,lat from jczz_house where is_deleted = 0 and lng != ''
+        <if test="type == 1">
+            and grid_code is null
+        </if>
+        <if test="type == 2">
+            and jw_grid_code is null
+        </if>
+    </select>
+
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseService.java b/src/main/java/org/springblade/modules/house/service/IHouseService.java
index cf1c0e2..a644ab0 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseService.java
@@ -90,4 +90,16 @@
 	List<Map<String, Object>> labelStatistics(HouseVO house);
 
 	List<Map<String, Object>> labelCommunityStatistics(HouseVO house);
+
+	/**
+	 * 房屋网格处理
+	 * @return
+	 */
+    Object houseGridHandle();
+
+	/**
+	 * 房屋警格处理
+	 * @return
+	 */
+	Object houseJwGridHandle();
 }
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
index 08c67f9..2582e3b 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
@@ -30,6 +30,7 @@
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.grid.entity.GridEntity;
 import org.springblade.modules.grid.entity.GridRangeEntity;
 import org.springblade.modules.grid.service.IGridRangeService;
 import org.springblade.modules.grid.service.IGridService;
@@ -48,6 +49,8 @@
 import org.springblade.modules.label.entity.LabelEntity;
 import org.springblade.modules.label.service.ILabelService;
 import org.springblade.modules.label.vo.LabelVO;
+import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
+import org.springblade.modules.police.service.IPoliceAffairsGridService;
 import org.springblade.modules.system.entity.Region;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IRegionService;
@@ -712,4 +715,48 @@
 		}
 		return list;
 	}
+
+	/**
+	 * 房屋网格处理
+	 * @return
+	 */
+	@Override
+	public Object houseGridHandle() {
+		// 查询未处理的数据
+		List<HouseEntity> houseEntityList = baseMapper.getNotBindGridOrJwGridList(1);
+		// 遍历
+		for (HouseEntity houseEntity : houseEntityList) {
+			String point = "'POINT(" + houseEntity.getLng() + " " + houseEntity.getLat() + ")'";
+			List<GridEntity> gridEntityList = SpringUtils.getBean(IGridService.class).spatialAnalysis(point);
+			if (gridEntityList.size()>0){
+				houseEntity.setGridCode(gridEntityList.get(0).getGridCode());
+				houseEntity.setGridId(gridEntityList.get(0).getId());
+				// 更新
+				updateById(houseEntity);
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * 房屋警格处理
+	 * @return
+	 */
+	@Override
+	public Object houseJwGridHandle() {
+		// 查询未处理的数据
+		List<HouseEntity> houseEntityList = baseMapper.getNotBindGridOrJwGridList(2);
+		// 遍历
+		for (HouseEntity houseEntity : houseEntityList) {
+			String point = "'POINT(" + houseEntity.getLng() + " " + houseEntity.getLat() + ")'";
+			List<PoliceAffairsGridEntity> policeAffairsGridEntityList = SpringUtils.getBean(IPoliceAffairsGridService.class).spatialAnalysis(point);
+			if (policeAffairsGridEntityList.size()>0){
+				houseEntity.setJwGridCode(policeAffairsGridEntityList.get(0).getJwGridCode());
+				// 更新
+				updateById(houseEntity);
+			}
+		}
+		return null;
+	}
 }

--
Gitblit v1.9.3