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 | 60 ++++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 42 insertions(+), 18 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 df03780..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'
@@ -25,30 +25,22 @@
<if test="emergencySpace.preLevel!=null">
and yes.pre_level = #{emergencySpace.preLevel}
</if>
+ <if test="emergencySpace.category!=null">
+ and yes.category = #{emergencySpace.category}
+ </if>
</select>
<!--获取应急空间统计数据-->
<select id="getStatisticData" resultType="java.util.Map">
SELECT
- case when type=1 then '应急池'
- when type =2 then '阀门'
- when type =3 then '公共管网'
- when type =4 then '污水提升泵站'
- when type =5 then '水库'
- when type =6 then '应急泵'
- when type =8 then '沟渠'
- when type =9 then '废水处理站'
- when type =10 then '排水口'
- when type =11 then '污水池'
- end as type,
- count(*) as num
+ BDB.dict_value AS type,
+ count(*) AS num
FROM
- yw_emergency_space
+ yw_emergency_space yes
+ LEFT JOIN blade_dict_biz BDB ON BDB.dict_key = yes.type AND BDB.CODE = 'emergency_space_type'
WHERE
- is_deleted = 0
- and type != 7
- AND type IS NOT NULL
- GROUP BY type
+ yes.is_deleted = 0 AND yes.type IS NOT NULL
+ GROUP BY yes.type
</select>
<!--获取应急池容量-->
@@ -60,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