From 7ecbb9875d55c5323b2eba09e987a815171335c8 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 02 Feb 2024 23:59:18 +0800
Subject: [PATCH] 场所新增警务网格

---
 src/main/java/org/springblade/modules/place/entity/PlaceEntity.java                         |    6 +++
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java                         |    6 +++
 src/main/java/org/springblade/modules/police/mapper/PoliceAffairsGridMapper.java            |    8 +++
 src/main/java/org/springblade/modules/place/service/IPlaceService.java                      |    5 ++
 src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java |   10 +++++
 src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java              |   30 +++++++++++++++
 src/main/java/org/springblade/modules/police/mapper/PoliceAffairsGridMapper.xml             |    4 ++
 src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java         |    7 +++
 src/main/java/org/springblade/modules/place/controller/PlaceController.java                 |   11 +++++
 src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml                          |    8 ++++
 10 files changed, 93 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceController.java b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
index 179e0db..64359e0 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -272,9 +272,18 @@
 	 */
 	@GetMapping("exportNineType")
 	@ApiOperationSupport(order = 13)
-	@ApiOperation(value = "导出九小统计", notes = "传入user")
+	@ApiOperation(value = "导出九小统计", notes = "传入place")
 	public void exportNineType(PlaceVO place, HttpServletResponse response) {
 		List<NinePlaceExcel> list = placeService.export(place);
 		ExcelUtil.export(response, "房屋数据" + DateUtil.time(), "房屋数据表", list, NinePlaceExcel.class);
 	}
+
+
+	/**
+	 * 场所警务网格处理
+	 */
+	@GetMapping("/placeJwGridCodeHandle")
+	public R placeJwGridCodeHandle() {
+		return R.data(placeService.placeJwGridCodeHandle());
+	}
 }
diff --git a/src/main/java/org/springblade/modules/place/entity/PlaceEntity.java b/src/main/java/org/springblade/modules/place/entity/PlaceEntity.java
index 7798062..a8970c8 100644
--- a/src/main/java/org/springblade/modules/place/entity/PlaceEntity.java
+++ b/src/main/java/org/springblade/modules/place/entity/PlaceEntity.java
@@ -123,6 +123,12 @@
 	private String gridCode;
 
 	/**
+	 * 警务网格编号
+	 */
+	@ApiModelProperty(value = "警务网格编号")
+	private String jwGridCode;
+
+	/**
 	 * 状态  1:待完善  2:已完善
 	 */
 	@ApiModelProperty(value = "状态  1:待完善  2:已完善")
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
index a990233..c417556 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.java
@@ -145,4 +145,10 @@
 								 @Param("houseCodeList") List<String> houseCodeList,
 								 @Param("regionChildCodesList") List<String> regionChildCodesList,
 								 @Param("isAdministrator") Integer isAdministrator);
+
+	/**
+	 * 查询 警务网格为空的数据
+	 * @return
+	 */
+    List<PlaceEntity> getPlaceNotJwGridCode();
 }
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index 0cc779b..958ba7e 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -563,4 +563,12 @@
         	jczz_place
     </sql>
 
+
+    <!--查询 警务网格为空的数据-->
+    <select id="getPlaceNotJwGridCode" resultType="org.springblade.modules.place.entity.PlaceEntity">
+        select id,lng,lat from jczz_place where is_deleted = 0
+         and source != 3
+         and jw_grid_code is null
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceService.java b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
index de15c9a..1b541ce 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -160,4 +160,9 @@
 	IPage<PlaceVO> selectNinePlacePage(IPage<PlaceVO> page, PlaceVO place);
 
 	List<NinePlaceExcel> export(PlaceVO place);
+
+	/**
+	 * 场所警务网格处理
+	 */
+    Object placeJwGridCodeHandle();
 }
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index 1e99006..c664e85 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -26,6 +26,7 @@
 import org.springblade.common.utils.IdUtils;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.SpringUtil;
 import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
 import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService;
 import org.springblade.modules.grid.entity.GridEntity;
@@ -49,6 +50,8 @@
 import org.springblade.modules.place.vo.PlaceVO;
 import org.springblade.modules.place.mapper.PlaceMapper;
 import org.springblade.modules.place.service.IPlaceService;
+import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
+import org.springblade.modules.police.service.IPoliceAffairsGridService;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IDeptService;
@@ -1152,4 +1155,31 @@
 		List<NinePlaceExcel> aa = baseMapper.export(place, list, regionChildCodesList, isAdministrator);
 		return aa;
 	}
+
+	/**
+	 * 场所警务网格处理
+	 */
+	@Override
+	public Object placeJwGridCodeHandle() {
+		// 查询 警务网格为空的数据
+		List<PlaceEntity> list = baseMapper.getPlaceNotJwGridCode();
+		// 遍历
+		for (PlaceEntity placeEntity : list) {
+			if (!Strings.isBlank(placeEntity.getLng())){
+				// 空间分析
+				//点坐标解析
+				String point = "'POINT(" + placeEntity.getLng() + " " + placeEntity.getLat() +")'";
+				//String point = "'POINT(" + villageInfoExcel.getLatitude() + " " + villageInfoExcel.getLongitude() +")'";
+				List<PoliceAffairsGridEntity> policeAffairsGridEntities
+					= SpringUtil.getBean(IPoliceAffairsGridService.class).spatialAnalysis(point);
+				if (policeAffairsGridEntities.size()>0){
+					PoliceAffairsGridEntity policeAffairsGridEntity = policeAffairsGridEntities.get(0);
+					placeEntity.setJwGridCode(policeAffairsGridEntity.getJwGridCode());
+					// 更新
+					updateById(placeEntity);
+				}
+			}
+		}
+		return null;
+	}
 }
diff --git a/src/main/java/org/springblade/modules/police/mapper/PoliceAffairsGridMapper.java b/src/main/java/org/springblade/modules/police/mapper/PoliceAffairsGridMapper.java
index 950a1b2..46ad6ba 100644
--- a/src/main/java/org/springblade/modules/police/mapper/PoliceAffairsGridMapper.java
+++ b/src/main/java/org/springblade/modules/police/mapper/PoliceAffairsGridMapper.java
@@ -16,6 +16,7 @@
  */
 package org.springblade.modules.police.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
 import org.springblade.modules.police.vo.PoliceAffairsGridVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -39,5 +40,10 @@
 	 */
 	List<PoliceAffairsGridVO> selectPoliceAffairsGridPage(IPage page, PoliceAffairsGridVO policeAffairsGrid);
 
-
+	/**
+	 * 空间分析
+	 * @param point
+	 * @return
+	 */
+    List<PoliceAffairsGridEntity> spatialAnalysis(@Param("point") String point);
 }
diff --git a/src/main/java/org/springblade/modules/police/mapper/PoliceAffairsGridMapper.xml b/src/main/java/org/springblade/modules/police/mapper/PoliceAffairsGridMapper.xml
index bd7e5de..114b11e 100644
--- a/src/main/java/org/springblade/modules/police/mapper/PoliceAffairsGridMapper.xml
+++ b/src/main/java/org/springblade/modules/police/mapper/PoliceAffairsGridMapper.xml
@@ -29,5 +29,9 @@
         select * from jczz_police_affairs_grid where is_deleted = 0
     </select>
 
+    <!--判断该点在哪个警务网格-->
+    <select id="spatialAnalysis" resultType="org.springblade.modules.police.entity.PoliceAffairsGridEntity">
+        SELECT * FROM jczz_police_affairs_grid WHERE ST_Intersects(geom, ST_GeomFromText(${point},0))
+    </select>
 
 </mapper>
diff --git a/src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java b/src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java
index c9267e4..1ecd84f 100644
--- a/src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java
+++ b/src/main/java/org/springblade/modules/police/service/IPoliceAffairsGridService.java
@@ -32,4 +32,11 @@
 	 * @param isCovered
 	 */
     void importPoliceAffairsGrid(List<PoliceAffairsGridExcel> data, Boolean isCovered);
+
+	/**
+	 * 空间分析
+	 * @param point
+	 * @return
+	 */
+	List<PoliceAffairsGridEntity> spatialAnalysis(String point);
 }
diff --git a/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java b/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java
index ef0b5ef..a480ea7 100644
--- a/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java
+++ b/src/main/java/org/springblade/modules/police/service/impl/PoliceAffairsGridServiceImpl.java
@@ -60,4 +60,14 @@
 			save(policeAffairsGridEntity);
 		}
 	}
+
+	/**
+	 * 空间分析
+	 * @param point
+	 * @return
+	 */
+	@Override
+	public List<PoliceAffairsGridEntity> spatialAnalysis(String point) {
+		return baseMapper.spatialAnalysis(point);
+	}
 }

--
Gitblit v1.9.3