From 3b541e81611079a5a1c214440eed704cbb6b38af Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期一, 24 七月 2023 11:40:17 +0800
Subject: [PATCH] 优化

---
 ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml |   75 +++++++++++++++++++++++++++----------
 1 files changed, 54 insertions(+), 21 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
index c4a8f50..b3c7423 100644
--- a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
+++ b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -16,7 +16,28 @@
         <result property="updateBy" column="update_by"/>
         <result property="updateTime" column="update_time"/>
     </resultMap>
-
+    <resultMap id="ArdAppTaskSubResult" type="ArdAppTask" extends="ArdAppTaskResult">
+        <collection property="ardAppTaskPicList" notNullColumn="sub2_id" javaType="java.util.List"
+                    resultMap="ArdAppTaskPicResult"/>
+        <collection property="ardAppTaskDetailList" notNullColumn="sub1_id" javaType="java.util.List"
+                    resultMap="ArdAppTaskDetailResult"/>
+    </resultMap>
+    <resultMap type="ArdAppTaskDetail" id="ArdAppTaskDetailResult">
+        <result property="id" column="sub1_id"/>
+        <result property="name" column="sub1_name"/>
+        <result property="longitude" column="sub1_longitude"/>
+        <result property="latitude" column="sub1_latitude"/>
+        <result property="altitude" column="sub1_altitude"/>
+        <result property="userId" column="sub1_user_id"/>
+        <result property="text" column="sub1_text"/>
+        <result property="voice" column="sub1_voice"/>
+        <result property="taskId" column="sub1_task_id"/>
+    </resultMap>
+    <resultMap type="ArdAppTaskPic" id="ArdAppTaskPicResult">
+        <result property="id" column="sub2_id"/>
+        <result property="taskId" column="sub2_task_id"/>
+        <result property="picUrl" column="sub2_pic_url"/>
+    </resultMap>
     <resultMap id="ArdAppTaskArdAppTaskPicResult" type="ArdAppTask" extends="ArdAppTaskResult">
         <collection property="ardAppTaskPicList" notNullColumn="sub_id" javaType="java.util.List"
                     resultMap="ArdAppTaskPicResult"/>
@@ -24,23 +45,6 @@
     <resultMap id="ArdAppTaskArdAppTaskDetailResult" type="ArdAppTask" extends="ArdAppTaskResult">
         <collection property="ardAppTaskDetailList" notNullColumn="sub_id" javaType="java.util.List"
                     resultMap="ArdAppTaskDetailResult"/>
-    </resultMap>
-
-    <resultMap type="ArdAppTaskDetail" id="ArdAppTaskDetailResult">
-        <result property="id" column="sub_id"/>
-        <result property="name" column="sub_name"/>
-        <result property="longitude" column="sub_longitude"/>
-        <result property="latitude" column="sub_latitude"/>
-        <result property="altitude" column="sub_altitude"/>
-        <result property="userId" column="sub_user_id"/>
-        <result property="text" column="sub_text"/>
-        <result property="voice" column="sub_voice"/>
-        <result property="taskId" column="sub_task_id"/>
-    </resultMap>
-    <resultMap type="ArdAppTaskPic" id="ArdAppTaskPicResult">
-        <result property="id" column="sub_id"/>
-        <result property="taskId" column="sub_task_id"/>
-        <result property="picUrl" column="sub_pic_url"/>
     </resultMap>
 
     <sql id="selectArdAppTaskVo">
@@ -65,15 +69,43 @@
             <if test="name != null  and name != ''">and name like '%'||#{name}||'%'</if>
             <if test="text != null  and text != ''">and text = #{text}</if>
             <if test="voice != null  and voice != ''">and voice = #{voice}</if>
-            <if test="deptId != null ">and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t
+            <if test="deptId != null and deptId != 0 ">
+            and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t
                 WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))
             </if>
             <if test="userId != null  and userId != ''">and user_id = #{userId}</if>
-            <!-- 鏁版嵁鑼冨洿杩囨护 -->
-            ${params.dataScope}
         </where>
+        <!-- 鏁版嵁鑼冨洿杩囨护 -->
+        ${params.dataScope}
     </select>
 
+    <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSubResult">
+        select a.id,
+               a.name,
+               a.text,
+               a.voice,
+               a.dept_id,
+               a.user_id,
+               a.create_by,
+               a.create_time,
+               a.update_by,
+               a.update_time,
+               b.id      as sub2_id,
+               b.task_id as sub2_task_id,
+               b.pic_url as sub2_pic_url,
+               c.id   as sub1_id,
+               c.name as sub1_name,
+               c.longitude as sub1_longitude,
+               c.latitude as sub1_latitde,
+               c.altitude as sub1_altitude,
+               c.user_id as sub1_user_id,
+               c.text as sub1_text,
+               c.voice as sub1_voice
+        from ard_app_task a
+                 left join ard_app_task_pic b on b.task_id = a.id
+                 left join ard_app_task_detail c on c.task_id = a.id
+        where a.id = #{id}
+    </select>
     <select id="selectArdAppTaskByIdWithPic" parameterType="String" resultMap="ArdAppTaskArdAppTaskPicResult">
         select a.id,
                a.name,
@@ -115,6 +147,7 @@
                  left join ard_app_task_detail c on c.task_id = a.id
         where a.id = #{id}
     </select>
+
     <insert id="insertArdAppTask" parameterType="ArdAppTask">
         insert into ard_app_task
         <trim prefix="(" suffix=")" suffixOverrides=",">

--
Gitblit v1.9.3