From 1d6d1ac56a02a884af47d584ed5f9ceffd9936ba Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期二, 25 七月 2023 13:25:07 +0800
Subject: [PATCH] 获取所有app用户pc接口增加最后位置信息 app任务详情增加完成状态和打卡图片 修复app用户任务列表分页total不正确的问题

---
 ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml |   85 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 74 insertions(+), 11 deletions(-)

diff --git a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
index b3c7423..69fbce4 100644
--- a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
+++ b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml
@@ -32,6 +32,8 @@
         <result property="text" column="sub1_text"/>
         <result property="voice" column="sub1_voice"/>
         <result property="taskId" column="sub1_task_id"/>
+        <result property="status" column="sub1_status"/>
+        <result property="clockInPicUrl" column="sub1_clock_in_pic_url"/>
     </resultMap>
     <resultMap type="ArdAppTaskPic" id="ArdAppTaskPicResult">
         <result property="id" column="sub2_id"/>
@@ -52,8 +54,8 @@
                c.name,
                c.text,
                c.voice,
-               c.dept_id,
-               c.user_id,
+               d.dept_id,
+               u.user_id,
                c.create_by,
                c.create_time,
                c.update_by,
@@ -69,16 +71,52 @@
             <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 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 test="params.beginTime != null and params.beginTime != ''"><!-- 寮�濮嬫椂闂存绱� -->
+                and create_time &gt;= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss')
+            </if>
+            <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� -->
+                and create_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
             </if>
             <if test="userId != null  and userId != ''">and user_id = #{userId}</if>
+            <!-- 鏁版嵁鑼冨洿杩囨护 -->
+            ${params.dataScope}
         </where>
-        <!-- 鏁版嵁鑼冨洿杩囨护 -->
-        ${params.dataScope}
     </select>
-
+    <select id="selectArdAppTaskListWithDetail" parameterType="ArdAppTask" 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,
+        c.status as sub1_status,
+        c.clock_in_pic_url as sub1_clock_in_pic_url
+        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 c.user_id = #{userId}
+        <if test="params.beginTime != null and params.beginTime != ''"><!-- 寮�濮嬫椂闂存绱� -->
+            and a.create_time &gt;= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss')
+        </if>
+        <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� -->
+            and a.create_time &lt;= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss')
+        </if>
+    </select>
     <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSubResult">
         select a.id,
                a.name,
@@ -142,7 +180,9 @@
                c.altitude as sub_altitude,
                c.user_id as sub_user_id,
                c.text as sub_text,
-               c.voice as sub_voice
+               c.voice as sub_voice,
+               c.status as sub_status,
+               c.clock_in_pic_url as sub_clock_in_pic_url
         from ard_app_task a
                  left join ard_app_task_detail c on c.task_id = a.id
         where a.id = #{id}
@@ -224,6 +264,7 @@
             ( #{item.id}, #{item.taskId}, #{item.picUrl})
         </foreach>
     </insert>
+
     <delete id="deleteArdAppTaskDetailByTaskIds" parameterType="String">
         delete from ard_app_task_detail where task_id in
         <foreach item="taskId" collection="array" open="(" separator="," close=")">
@@ -238,10 +279,32 @@
     </delete>
 
     <insert id="batchArdAppTaskDetail">
-        insert into ard_app_task_detail( id, name, longitude, latitude, altitude, user_id, text, voice, task_id) values
+        insert into ard_app_task_detail( id, name, longitude, latitude, altitude, user_id, text, voice, task_id,status,clock_in_pic_url) values
         <foreach item="item" index="index" collection="list" separator=",">
             ( #{item.id}, #{item.name}, #{item.longitude}, #{item.latitude}, #{item.altitude}, #{item.userId},
-            #{item.text}, #{item.voice}, #{item.taskId})
+            #{item.text}, #{item.voice}, #{item.taskId}, #{item.status}, #{item.clockInPicUrl})
         </foreach>
     </insert>
+
+    <update id="updateArdAppTaskDetail" parameterType="ArdAppTaskDetail">
+        update ard_app_task_detail
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="status != null">status = #{status},</if>
+            <if test="clockInPicUrl != null">clock_in_pic_url = #{clockInPicUrl},</if>
+            <if test="text != null">text = #{text},</if>
+            <if test="voice != null">voice = #{voice},</if>
+        </trim>
+        where id = #{id}
+    </update>
+    <insert id="batchArdAppTaskDetailPic">
+        insert into ard_app_task_detail_pic( id, task_detail_id, pic_url) values
+        <foreach item="item" index="index" collection="list" separator=",">
+            ( #{item.id}, #{item.taskDetailId}, #{item.picUrl})
+        </foreach>
+    </insert>
+    <delete id="deleteArdAppTaskDetailPicByTaskDetailId" parameterType="String">
+        delete
+        from ard_app_task_detail_pic
+        where task_detail_id = #{taskDetailId}
+    </delete>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3