From ee89d67599e85222b1df11df6601ab5658475052 Mon Sep 17 00:00:00 2001 From: Administrator <1144154118@qq.com> Date: 星期六, 12 八月 2023 17:06:53 +0800 Subject: [PATCH] 巡检个人记录 --- ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml | 294 +++++++++++++++++++++++++++------------------------------- 1 files changed, 139 insertions(+), 155 deletions(-) diff --git a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml index b5ea1d1..1f65a23 100644 --- a/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml +++ b/ard-work/src/main/resources/mapper/app/ArdAppTaskMapper.xml @@ -16,7 +16,18 @@ <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> </resultMap> + <resultMap id="ArdAppTaskSubResult" type="ArdAppTask" extends="ArdAppTaskResult"> + <collection property="ardAppTaskDetailList" column="{id=id,detailUserId=detail_user_id}" + select="selectArdAppTaskDetailListByIdAndUserId"/> + <collection property="ardAppTaskPicList" column="id" + select="selectArdAppTaskPicListById"/> + <!-- <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 id="ArdAppTaskSub1Result" 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" @@ -34,19 +45,15 @@ <result property="taskId" column="sub1_task_id"/> <result property="status" column="sub1_status"/> <result property="clockInPicUrl" column="sub1_clock_in_pic_url"/> + <result property="viewTime" column="sub1_view_time"/> + <result property="viewPosition" column="sub1_view_position"/> + <result property="clockInTime" column="sub1_clock_in_time"/> + <result property="viewFlag" column="sub1_view_flag"/> </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"/> - </resultMap> - <resultMap id="ArdAppTaskArdAppTaskDetailResult" type="ArdAppTask" extends="ArdAppTaskResult"> - <collection property="ardAppTaskDetailList" notNullColumn="sub_id" javaType="java.util.List" - resultMap="ArdAppTaskDetailResult"/> </resultMap> <sql id="selectArdAppTaskVo"> @@ -64,106 +71,7 @@ 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> - - <select id="selectArdAppTaskList" parameterType="ArdAppTask" resultMap="ArdAppTaskResult"> - <include refid="selectArdAppTaskVo"/> - <where> - <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="params.beginTime != null and params.beginTime != ''"><!-- 寮�濮嬫椂闂存绱� --> - and create_time >= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss') - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� --> - and create_time <= 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> - </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_latitude, - 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> - <if test="userId != null and userId != ''"> - and c.user_id = #{userId} - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 寮�濮嬫椂闂存绱� --> - and a.create_time >= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss') - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� --> - and a.create_time <= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss') - </if> - </where> - </select> - <select id="selectArdAppTaskListWithDetailById" 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_latitude, - 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> - <if test="userId != null and userId != ''"> - and c.user_id = #{userId} - </if> - <if test="id != null and id != ''"> - and c.id = #{id} - </if> - <if test="params.beginTime != null and params.beginTime != ''"><!-- 寮�濮嬫椂闂存绱� --> - and a.create_time >= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss') - </if> - <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� --> - and a.create_time <= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss') - </if> - </where> - </select> - <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSubResult"> + <sql id="selectArdAppTaskDto"> select a.id, a.name, a.text, @@ -174,51 +82,9 @@ 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_latitude, - 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, - 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 - from ard_app_task a - left join ard_app_task_pic b on b.task_id = a.id - where a.id = #{id} - </select> - <select id="selectArdAppTaskByIdWithDetail" parameterType="String" resultMap="ArdAppTaskArdAppTaskDetailResult"> - 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, @@ -228,11 +94,95 @@ 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 + c.clock_in_pic_url as sub1_clock_in_pic_url, + c.view_time as sub1_view_time, + c.view_position as sub1_view_position, + c.clock_in_time as sub1_clock_in_time, + c.view_flag as sub1_view_flag, + c.task_id as sub1_task_id 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 + </sql> + + <select id="selectArdAppTaskList" parameterType="ArdAppTask" resultMap="ArdAppTaskResult"> + <include refid="selectArdAppTaskVo"/> + <where> + <if test="name != null and name != ''">and c.name like '%'||#{name}||'%'</if> + <if test="text != null and text != ''">and c.text = #{text}</if> + <if test="voice != null and voice != ''">and c.voice = #{voice}</if> + <if test="params.beginTime != null and params.beginTime != ''"><!-- 寮�濮嬫椂闂存绱� --> + and c.create_time >= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss') + </if> + <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� --> + and c.create_time <= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss') + </if> + <if test="userId != null and userId != ''">and c.user_id = #{userId}</if> + </where> + </select> + + <select id="selectArdAppTaskListWithDetail" parameterType="ArdAppTask" resultMap="ArdAppTaskSubResult"> + select DISTINCT(a.id)as idd,c.user_id as detail_user_id,a.* from ard_app_task a + LEFT JOIN ard_app_task_detail c on c.task_id=a.id + <where> + <if test="id != null and id != ''"> + and a.id = #{id} + </if> + <if test="userId != null and userId != ''"> + and c.user_id = #{userId} + </if> + <if test="params.beginTime != null and params.beginTime != ''"><!-- 寮�濮嬫椂闂存绱� --> + and a.create_time >= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss') + </if> + <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� --> + and a.create_time <= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss') + </if> + </where> + order by a.create_time desc + </select> + + <select id="selectArdAppTaskListWithDetailById" parameterType="ArdAppTask" resultMap="ArdAppTaskSubResult"> + <include refid="selectArdAppTaskDto"/> + <where> + <if test="id != null and id != ''"> + and a.id = #{id} + </if> + <if test="userId != null and userId != ''"> + and c.user_id = #{userId} + </if> + <if test="params.beginTime != null and params.beginTime != ''"><!-- 寮�濮嬫椂闂存绱� --> + and a.create_time >= to_timestamp(#{params.beginTime},'yyyy-MM-DD HH24:MI:ss') + </if> + <if test="params.endTime != null and params.endTime != ''"><!-- 缁撴潫鏃堕棿妫�绱� --> + and a.create_time <= to_timestamp(#{params.endTime},'yyyy-MM-DD HH24:MI:ss') + </if> + </where> + </select> + <select id="selectArdAppTaskDetailListByTaskId" resultType="ArdAppTaskDetail"> + select * from ard_app_task_detail where task_id=#{taskId} + </select> + <select id="selectArdAppTaskById" parameterType="String" resultMap="ArdAppTaskSub1Result"> + <include refid="selectArdAppTaskDto"/> where a.id = #{id} </select> + + <select id="selectArdAppTaskDetailListByIdAndUserId" resultType="ArdAppTaskDetail"> + select * + from ard_app_task_detail d + where d.task_id = #{id} + and d.user_id = #{detailUserId} + </select> + <select id="selectArdAppTaskPicListById" resultType="ArdAppTaskPic"> + select * + from ard_app_task_pic d + where d.task_id = #{id} + </select> + <select id="selectArdAppTaskDetailUserIdsByTaskId" parameterType="String" resultType="java.lang.String"> + select DISTINCT(user_id) + from ard_app_task_detail + where task_id = #{taskId} + </select> + <insert id="insertArdAppTask" parameterType="ArdAppTask"> insert into ard_app_task @@ -340,8 +290,27 @@ <if test="clockInPicUrl != null">clock_in_pic_url = #{clockInPicUrl},</if> <if test="text != null">text = #{text},</if> <if test="voice != null">voice = #{voice},</if> + <if test="viewTime != null">view_time = #{viewTime},</if> + <if test="viewFlag != null">view_flag = #{viewFlag},</if> + <if test="viewPosition != null">view_position = #{viewPosition},</if> + <if test="clockInTime != null">clock_in_time = #{clockInTime},</if> + <if test="taskId != null">task_id = #{taskId},</if> </trim> where id = #{id} + </update> + <update id="updateArdAppTaskDetailByTaskId" parameterType="ArdAppTaskDetail"> + update ard_app_task_detail + <trim prefix="SET" suffixOverrides=","> + <if test="viewFlag != null">view_flag = #{viewFlag},</if> + </trim> + where task_id = #{taskId} + </update> + <update id="updateArdAppTaskDetailView" parameterType="ArdAppTaskDetail"> + update ard_app_task_detail + set view_time=#{viewTime}, + view_position=#{viewPosition} + where task_id = #{taskId} + and user_id = #{userId} </update> <insert id="batchArdAppTaskDetailPic"> insert into ard_app_task_detail_pic( id, task_detail_id, pic_url) values @@ -364,8 +333,23 @@ c.text, c.voice, c.status, - c.clock_in_pic_url + c.clock_in_pic_url, + c.view_time, + c.view_position from ard_app_task_detail c where c.id = #{id} </select> + <select id="selectNewArdAppTaskByUserId" parameterType="String" resultMap="ArdAppTaskSub1Result"> + <include refid="selectArdAppTaskDto"/> + where c.user_id = #{userId} AND c.view_flag is null + order by create_time desc limit 1 + </select> + <select id="selectUnreadArdAppTaskCount" resultType="Integer"> + SELECT COUNT(A.ID) + FROM ard_app_task A + LEFT JOIN ard_app_task_detail C ON C.task_id = A.ID + WHERE C.view_time IS NULL + AND C.view_flag = '1' + AND C.user_id = #{userId} + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3