From 60a9ab1441177c4c489f8a2dd12bfb779124e4ea Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 22 二月 2024 11:00:32 +0800
Subject: [PATCH] 查看巡检下最近兴趣点提交

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

diff --git a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
index 3e5dea9..e62fd44 100644
--- a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
@@ -28,8 +28,12 @@
         <result property="createTime" column="create_time"/>
         <result property="updateBy" column="update_by"/>
         <result property="updateTime" column="update_time"/>
-        <result property="cameraId" column="camera_id"/>
+        <!-- 瀛愭煡璇紝鍏宠仈 ard_well_guide_camera 琛� -->
+        <collection property="ardWellGuideCameraList" ofType="java.util.List" select="getArdWellGuideCameraListByWellId" column="id"/>
     </resultMap>
+    <select id="getArdWellGuideCameraListByWellId" resultType="ArdWellGuideCamera">
+        SELECT * FROM ard_well_guide_camera WHERE well_id = #{id}
+    </select>
 
     <resultMap type="ArdAlarmpointsWell" id="wellResult">
         <result property="id" column="id"/>
@@ -60,12 +64,37 @@
                c.create_by,
                c.create_time,
                c.update_by,
-               c.update_time,
-               c.camera_id
+               c.update_time
         from ard_alarmpoints_well c
                  left join sys_dept d on d.dept_id = c.dept_id
                  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"/>
@@ -94,7 +123,7 @@
 
     <select id="selectArdAlarmpointsWellById" parameterType="String" resultMap="ArdAlarmpointsWellResult">
         <include refid="selectArdAlarmpointsWellVo"/>
-        where id = #{id}
+        where c.id = #{id}
     </select>
     <select id="selectArdAlarmpointsWellByWellId" parameterType="String" resultMap="ArdAlarmpointsWellResult">
         <include refid="selectArdAlarmpointsWellVo"/>
@@ -126,7 +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="cameraId != null">camera_id,</if>
+
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -152,7 +181,6 @@
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
-            <if test="cameraId != null">#{cameraId},</if>
         </trim>
     </insert>
 
@@ -181,7 +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="cameraId != null">camera_id = #{cameraId},</if>
         </trim>
         where id = #{id}
     </update>
@@ -210,7 +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="cameraId != null">camera_id = #{cameraId},</if>
         </trim>
         where well_id = #{wellId}
     </update>
@@ -227,24 +253,45 @@
         </foreach>
     </delete>
     <select id="checkWellIdExists" resultType="ArdAlarmpointsWell">
-        SELECT * FROM ard_alarmpoints_well WHERE well_id = #{wellId} limit 1
+        SELECT *
+        FROM ard_alarmpoints_well
+        WHERE well_id = #{wellId} limit 1
     </select>
 
     <select id="wellByPlanId" parameterType="String" resultMap="wellResult">
-        select ard_app_patrolpoint.alarmpoints_id as id,ard_alarmpoints_well.well_id, ard_app_patrolpoint."type",ard_alarmpoints_well.longitude,ard_alarmpoints_well.latitude from ard_alarmpoints_well LEFT JOIN ard_app_patrolpoint on ard_app_patrolpoint.alarmpoints_id = ard_alarmpoints_well.id where ard_alarmpoints_well.id in (select alarmpoints_id from ard_app_patrolpoint where patrolplan_id = #{id})
-        GROUP BY ard_app_patrolpoint.alarmpoints_id,ard_alarmpoints_well.well_id,ard_app_patrolpoint."type",ard_alarmpoints_well.longitude,ard_alarmpoints_well.latitude
+        select ard_app_patrolpoint.alarmpoints_id as id,
+               ard_alarmpoints_well.well_id,
+               ard_app_patrolpoint."type",
+               ard_alarmpoints_well.longitude,
+               ard_alarmpoints_well.latitude
+        from ard_alarmpoints_well
+                 LEFT JOIN ard_app_patrolpoint on ard_app_patrolpoint.alarmpoints_id = ard_alarmpoints_well.id
+        where ard_alarmpoints_well.id in (select alarmpoints_id from ard_app_patrolpoint where patrolplan_id = #{id})
+        GROUP BY ard_app_patrolpoint.alarmpoints_id, ard_alarmpoints_well.well_id, ard_app_patrolpoint."type",
+                 ard_alarmpoints_well.longitude, ard_alarmpoints_well.latitude
     </select>
 
-    <select id="wellListDept" parameterType="List" resultType="com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo">
+    <select id="wellListDept" parameterType="List"
+            resultType="com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo">
         Select well.id,well.well_id,well.well_number,well.oil_production,well.well_block,well.production_date,
         well.displacement_mode,well.surrounding_environment,well.well_type,well.installed_load,well.metering_station,
         well.transfer_station,well.dehydration_station,well.run_status,well.longitude,well.latitude,well.altitude,well.dept_id,
         dept.parent_id,dept.ancestors,dept.dept_name
         from ard_alarmpoints_well well
         left join sys_dept dept on well.dept_id = dept.dept_id
-        where well.dept_id  in
+        where well.dept_id in
         <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
             #{item}
         </foreach>
     </select>
-</mapper>
\ No newline at end of file
+
+    <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>
+</mapper>

--
Gitblit v1.9.3