From b1e8a099eb3117bcbd5f2e0c9a2eb0accabd8cbf Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 11 Feb 2025 08:56:46 +0800
Subject: [PATCH] 通过风险源点位分析三级防控点查询修改

---
 src/main/java/org/springblade/modules/yw/mapper/EmergencySpaceMapper.xml |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/src/main/java/org/springblade/modules/yw/mapper/EmergencySpaceMapper.xml b/src/main/java/org/springblade/modules/yw/mapper/EmergencySpaceMapper.xml
index 84d66c1..561e44c 100644
--- a/src/main/java/org/springblade/modules/yw/mapper/EmergencySpaceMapper.xml
+++ b/src/main/java/org/springblade/modules/yw/mapper/EmergencySpaceMapper.xml
@@ -7,7 +7,7 @@
         select
         yes.id,yes.name,yes.full_name,yes.type,yes.main_func,yes.lng,yes.lat,yes.pre_level,
         yes.capacity,yes.remark,yes.firm_id,yes.image_url,ST_AsGeoJSON(yes.geom) as geom,yes.ele,
-        ifnull(yfi.name,'抚北工业园') as firmName,
+        ifnull(yfi.name,'瑞昌工业园') as firmName,
         bdb.dict_value as emergencySpaceType
         from yw_emergency_space yes
         left join blade_dict_biz bdb on bdb.dict_key = yes.type and bdb.code = 'emergency_space_type'
@@ -52,4 +52,36 @@
         WHERE type = 1  AND is_deleted = 0
     </select>
 
+    <!--通过空间分析点位,找到离风险源最近的防控点 风险源找1,1找2,2找3-->
+    <select id="spatialAnalysisPoint" resultType="org.springblade.modules.yw.vo.EmergencySpaceVO">
+        SELECT
+            *,
+            ST_Distance_Sphere (
+                ST_GeomFromText(concat("POINT(",lng," ",lat,")")),
+                ST_GeomFromText (concat("POINT(",#{emergencySpace.lng}," ",#{emergencySpace.lat},")"))
+            ) AS distance
+        FROM
+            yw_emergency_space
+        where lng is not null
+        <if test="emergencySpace.preLevel!=null">
+            and pre_level = #{emergencySpace.preLevel}
+        </if>
+        <if test="emergencySpace.firmId!=null">
+            and firm_id = #{emergencySpace.firmId}
+        </if>
+        ORDER BY distance
+        LIMIT 1
+    </select>
+
+    <!--查找距离当前点最近的线-->
+    <select id="spatialAnalysisPointToLines" resultType="org.springblade.modules.yw.vo.EmergencySpaceVO">
+        SELECT
+        2 as preLevel,
+        ST_AsText(geom) as geom,
+        ST_Distance(ST_GeomFromText(concat("POINT(",#{emergencySpace.lng}," ",#{emergencySpace.lat},")")), geom) AS distance
+        FROM yw_geom_info
+        ORDER BY distance ASC
+        LIMIT 1
+    </select>
+
 </mapper>

--
Gitblit v1.9.3