From 11a551438369e9dcf789c98cb8430eb649de805b Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期一, 29 四月 2024 09:47:23 +0800
Subject: [PATCH] 视频标签sql加入强转修改提交

---
 ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
index 44a6ef9..65a9bc3 100644
--- a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
@@ -298,4 +298,33 @@
     <select id="getWellById" resultMap="ArdAlarmpointsWellOnlyResult">
         select aaw.* from ard_alarmpoints_well aaw where aaw.id = #{id}
     </select>
+
+
+    <select id="conditionList" resultType="com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell">
+        Select * from ard_alarmpoints_well well
+        where WHERE well.well_id = #{wellId}
+        and well.dept_id in
+        <foreach item="deptList" collection="deptList" open="(" separator="," close=")">
+            #{deptList}
+        </foreach>
+    </select>
+
+    <select id="getArdAlarmpointsWellByDeptIdAndDistance" resultMap="ArdAlarmpointsWellOnlyResult">
+        select * from ard_alarmpoints_well aaw
+        where aaw.dept_id in (
+        with recursive rsd as (
+        select sd.dept_id from sys_dept sd where sd.dept_id = #{deptId}
+        union
+        select csd.dept_id from sys_dept csd inner join rsd on rsd.dept_id = csd.parent_id
+        )
+        select * from rsd) and f_compute_distance(aaw.longitude,aaw.latitude,cast(#{lonM} as numeric),cast(#{latM} as numeric)) &lt;= (select max(t.distance) from (
+        select f_compute_distance(cast(#{lonM} as numeric),cast(#{latM} as numeric),cast(#{lonA} as numeric),cast(#{latA} as numeric)) as distance
+        union
+        select f_compute_distance(cast(#{lonM} as numeric),cast(#{latM} as numeric),cast(#{lonB} as numeric),cast(#{latB} as numeric)) as distance
+        union
+        select f_compute_distance(cast(#{lonM} as numeric),cast(#{latM} as numeric),cast(#{lonC} as numeric),cast(#{latC} as numeric)) as distance
+        union
+        select f_compute_distance(cast(#{lonM} as numeric),cast(#{latM} as numeric),cast(#{lonD} as numeric),cast(#{latD} as numeric)) as distance
+        )t)
+    </select>
 </mapper>

--
Gitblit v1.9.3