From 38f29e38fcc668171dc05c53d40a36b895c86102 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期四, 10 十月 2024 13:34:28 +0800
Subject: [PATCH] init

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

diff --git a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
index 783d11b..65a9bc3 100644
--- a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
@@ -70,6 +70,32 @@
                  left join sys_user u on u.user_id = c.user_id
     </sql>
 
+    <resultMap type="ArdAlarmpointsWell" id="ArdAlarmpointsWellOnlyResult">
+        <result property="id" column="id"/>
+        <result property="wellId" column="well_id"/>
+        <result property="wellNumber" column="well_number"/>
+        <result property="oilProduction" column="oil_production"/>
+        <result property="wellBlock" column="well_block"/>
+        <result property="productionDate" column="production_date"/>
+        <result property="displacementMode" column="displacement_mode"/>
+        <result property="surroundingEnvironment" column="surrounding_environment"/>
+        <result property="wellType" column="well_type"/>
+        <result property="installedLoad" column="installed_load"/>
+        <result property="meteringStation" column="metering_station"/>
+        <result property="transferStation" column="transfer_station"/>
+        <result property="dehydrationStation" column="dehydration_station"/>
+        <result property="runStatus" column="run_status"/>
+        <result property="longitude" column="longitude"/>
+        <result property="latitude" column="latitude"/>
+        <result property="altitude" column="altitude"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="userId" column="user_id"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
     <select id="selectArdAlarmpointsWellList" parameterType="ArdAlarmpointsWell" resultMap="ArdAlarmpointsWellResult">
         <include refid="selectArdAlarmpointsWellVo"/>
         <where>
@@ -129,12 +155,7 @@
             <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
-            <if test="guideP1 != null">guide_p1,</if>
-            <if test="guideT1 != null">guide_t1,</if>
-            <if test="guideZ1 != null">guide_z1,</if>
-            <if test="guideP2 != null">guide_p2,</if>
-            <if test="guideT2 != null">guide_t2,</if>
-            <if test="guideZ2 != null">guide_z2,</if>
+
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -160,12 +181,6 @@
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
-            <if test="guideP1 != null">#{guideP1},</if>
-            <if test="guideT1 != null">#{guideT1},</if>
-            <if test="guideZ1 != null">#{guideZ1},</if>
-            <if test="guideP2 != null">#{guideP2},</if>
-            <if test="guideT2 != null">#{guideT2},</if>
-            <if test="guideZ2 != null">#{guideZ2},</if>
         </trim>
     </insert>
 
@@ -194,12 +209,6 @@
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
-            <if test="guideP1 != null">guide_p1 = #{guideP1},</if>
-            <if test="guideT1 != null">guide_t1 = #{guideT1},</if>
-            <if test="guideZ1 != null">guide_z1 = #{guideZ1},</if>
-            <if test="guideP2 != null">guide_p2 = #{guideP2},</if>
-            <if test="guideT2 != null">guide_t2 = #{guideT2},</if>
-            <if test="guideZ2 != null">guide_z2 = #{guideZ2},</if>
         </trim>
         where id = #{id}
     </update>
@@ -228,12 +237,6 @@
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
-            <if test="guideP1 != null">guide_p1 = #{guideP1},</if>
-            <if test="guideT1 != null">guide_t1 = #{guideT1},</if>
-            <if test="guideZ1 != null">guide_z1 = #{guideZ1},</if>
-            <if test="guideP2 != null">guide_p2 = #{guideP2},</if>
-            <if test="guideT2 != null">guide_t2 = #{guideT2},</if>
-            <if test="guideZ2 != null">guide_z2 = #{guideZ2},</if>
         </trim>
         where well_id = #{wellId}
     </update>
@@ -281,4 +284,47 @@
             #{item}
         </foreach>
     </select>
+
+    <select id="getWellDataByPatrolplanIdAndPosition" resultMap="ArdAlarmpointsWellOnlyResult">
+        select aaw.* from ard_app_patrolplan aap
+        inner join ard_app_patrolpoint aap0 on aap.id = aap0.patrolplan_id
+        inner join ard_alarmpoints_well aaw on aap0.alarmpoints_id = aaw.id
+        where del is null and aap.id = #{patrolplanId}
+        and f_compute_distance(cast(#{longitude} as decimal),cast(#{latitude} as decimal),aaw.longitude,aaw.latitude)
+        &lt;= (select cast(sc.config_value as decimal) from sys_config sc where sc.config_key = 'appAlarmPointsDistance')
+        order by f_compute_distance(cast(#{longitude} as decimal),cast(#{latitude} as decimal),aaw.longitude,aaw.latitude) desc limit 1 offset 0
+    </select>
+
+    <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