From 3eddfc41323c56219f9e71b405a815d52d3db4a4 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期三, 27 九月 2023 12:03:25 +0800
Subject: [PATCH] 优化获取附近井接口坐标分离

---
 ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml |   98 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 92 insertions(+), 6 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml
index 59c3331..19f4175 100644
--- a/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml
+++ b/ard-work/src/main/resources/mapper/app/ArdAppPatrolplanMapper.xml
@@ -12,21 +12,44 @@
         <result property="id"    column="id"    />
         <result property="planName"    column="plan_name"    />
         <result property="patroBeginTime"    column="patro_begin_time"    />
+        <result property="nickName"    column="nick_name"    />
     </resultMap>
 
     <sql id="selectArdAppPatrolplanVo">
-        select patro_end_time, user_id, cycle, create_time, id, plan_name, patro_begin_time from ard_app_patrolplan
+        select
+            ard_app_patrolplan.id,
+<!--            sys_user.nick_name,-->
+            ard_app_patrolplan.patro_end_time,
+            ard_app_patrolplan.user_id,
+            ard_app_patrolplan.cycle,
+            ard_app_patrolplan.create_time,
+            ard_app_patrolplan.plan_name,
+            ard_app_patrolplan.patro_begin_time
+        from
+            ard_app_patrolplan
     </sql>
 
     <select id="selectArdAppPatrolplanList" parameterType="ArdAppPatrolplan" resultMap="ArdAppPatrolplanResult">
         <include refid="selectArdAppPatrolplanVo"/>
-        <where>  
-            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
+        left join ard_app_patrolpoint as well on ard_app_patrolplan.id = well.patrolplan_id
+        left join ard_app_patroluser as users on ard_app_patrolplan.id = users.patrolplan_id
+        left join sys_user on ard_app_patrolplan.user_id = sys_user.user_id
+        <where>
+            ard_app_patrolplan.user_id = #{userId} and del_name is null and del_time is null
             <if test="cycle != null  and cycle != ''"> and cycle = #{cycle}</if>
             <if test="planName != null  and planName != ''"> and plan_name like '%'||#{planName}||'%'</if>
             <if test="patroBeginTime != null  and patroBeginTime != ''"> and patro_begin_time &gt;= #{patroBeginTime}</if>
             <if test="patroEndTime != null  and patroEndTime != ''"> and patro_end_time &lt;= #{patroEndTime}</if>
+            <if test="wellId != null  and wellId != ''">
+<!--                and well.alarmpoints_id in (select ard_alarmpoints_well.id from ard_alarmpoints_well where well_id = #{wellId})-->
+                and well.alarmpoints_id = #{wellId}
+            </if>
+            <if test="pUser != null  and pUser != ''">
+<!--                and users.app_user_id in (select sys_user.user_id from sys_user where nick_name = #{pUser})-->
+                and users.app_user_id = #{pUser}
+            </if>
         </where>
+            group by ard_app_patrolplan.id
     </select>
     
     <select id="selectArdAppPatrolplanByPatroEndTime" parameterType="String" resultMap="ArdAppPatrolplanResult">
@@ -70,13 +93,76 @@
     </update>
 
     <delete id="deleteArdAppPatrolplanByPatroEndTime" parameterType="String">
-        delete from ard_app_patrolplan where patro_end_time = #{patroEndTime}
+        delete from ard_app_patrolplan where ard_app_patrolplan.id = #{id};
     </delete>
 
     <delete id="deleteArdAppPatrolplanByPatroEndTimes" parameterType="String">
-        delete from ard_app_patrolplan where patro_end_time in 
+        delete from ard_app_patrolplan
+        left join ard_app_patrolpoint as well on ard_app_patrolplan.id = well.patrolplan_id
+        left join ard_app_patroluser as users on ard_app_patrolplan.id = users.patrolplan_id
+        where ard_app_patrolplan.id in
         <foreach item="patroEndTime" collection="array" open="(" separator="," close=")">
-            #{patroEndTime}
+            #{id}
         </foreach>
     </delete>
+
+    <delete id="deleteArdAppPatrolplanById" parameterType="String">
+        delete from ard_app_patrolplan aap where aap.id = #{id};
+    </delete>
+
+    <select id="shouldRecord" parameterType="String" resultMap="ArdAppPatrolplanResult">
+        select
+            ard_app_patrolplan.id,
+            well.alarmpoints_id wellId,
+            users.app_user_id pUser,
+            sys_user.nick_name
+        from
+            ard_app_patrolplan
+                left join ard_app_patrolpoint as well on ard_app_patrolplan.id = well.patrolplan_id
+                left join ard_app_patroluser as users on ard_app_patrolplan.id = users.patrolplan_id
+                left join sys_user on users.app_user_id = sys_user.user_id
+        where  ard_app_patrolplan.id = #{id} and del_name is null and del_time is null
+    </select>
+
+    <select id="executeList" parameterType="ArdAppPatrolplan" resultMap="ArdAppPatrolplanResult">
+        <include refid="selectArdAppPatrolplanVo"/>
+        left join ard_app_patrolpoint as well on ard_app_patrolplan.id = well.patrolplan_id
+        left join ard_app_patroluser as users on ard_app_patrolplan.id = users.patrolplan_id
+        left join sys_user on ard_app_patrolplan.user_id = sys_user.user_id
+        <where>
+            users.app_user_id = #{userId} and del_name is null and del_time is null
+            <if test="cycle != null  and cycle != ''"> and cycle = #{cycle}</if>
+            <if test="planName != null  and planName != ''"> and plan_name like '%'||#{planName}||'%'</if>
+            <if test="patroBeginTime != null  and patroBeginTime != ''"> and patro_begin_time &gt;= #{patroBeginTime}</if>
+            <if test="patroEndTime != null  and patroEndTime != ''"> and patro_end_time &lt;= #{patroEndTime}</if>
+            <if test="wellId != null  and wellId != ''">
+                and well.alarmpoints_id = #{wellId}
+            </if>
+            <if test="pUser != null  and pUser != ''">
+                and users.app_user_id = #{pUser}
+            </if>
+        </where>
+        group by ard_app_patrolplan.id
+    </select>
+
+    <select id="oncePlan" parameterType="recordMonthExParam" resultMap="ArdAppPatrolplanResult">
+        select plan.* from ard_app_patrolplan plan
+        LEFT JOIN ard_app_patroluser users on users.patrolplan_id = plan."id"
+        where users.app_user_id = #{userId} and cycle = 'once' and patro_begin_time &gt;= #{begin} and plan.del_name is null and plan.del_time is null ;
+    </select>
+
+    <select id="dayPlan" parameterType="recordMonthExParam" resultMap="ArdAppPatrolplanResult">
+        select plan.* from ard_app_patrolplan plan
+                               LEFT JOIN ard_app_patroluser users on users.patrolplan_id = plan."id"
+        where users.app_user_id = #{userId} and cycle = 'day' and create_time &lt; #{end} and del_name is null and del_time is null ;
+    </select>
+
+    <select id="planUser" parameterType="String" resultMap="ArdAppPatrolplanResult">
+        select s.nick_name, plan.plan_name from ard_app_patrolplan plan
+         LEFT JOIN ard_app_patroluser users on users.patrolplan_id = plan."id"
+         left join sys_user s on plan.user_id = s.user_id
+        where users.app_user_id = #{userId} and son is null
+            and plan.create_time &gt;= #{beforeTime} and  plan.create_time &lt;= #{time}
+          and del_name is null and del_time is null order by plan.create_time desc;
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3