<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="org.sxkj.gd.workorder.mapper.GdPatrolTaskMapper">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="gdPatrolTaskResultMap" type="org.sxkj.gd.workorder.vo.GdPatrolTaskVO">
|
<result column="id" property="id"/>
|
<result column="work_order_id" property="workOrderId"/>
|
<result column="patrol_task_name" property="patrolTaskName"/>
|
<result column="patrol_task_type" property="patrolTaskType"/>
|
<result column="execute_time" property="executeTime"/>
|
<result column="patrol_route_url" property="patrolRouteUrl"/>
|
<result column="recommend_flyer_name" property="recommendFlyerName"/>
|
<result column="device_id" property="deviceId"/>
|
<result column="task_desc" property="taskDesc"/>
|
<result column="task_status" property="taskStatus"/>
|
<result column="area_code" property="areaCode"/>
|
<result column="create_user" property="createUser"/>
|
<result column="create_dept" property="createDept"/>
|
<result column="create_time" property="createTime"/>
|
<result column="update_user" property="updateUser"/>
|
<result column="update_time" property="updateTime"/>
|
<result column="status" property="status"/>
|
<result column="is_deleted" property="isDeleted"/>
|
<result column="result_count" property="resultCount"/>
|
<result column="issue_event_count" property="issueEventCount"/>
|
</resultMap>
|
|
|
<select id="selectGdPatrolTaskPage" resultMap="gdPatrolTaskResultMap">
|
select pt.*,
|
wo.work_order_name,
|
IFNULL(tr.result_count, 0) as result_count,
|
IFNULL(tr.issue_event_count, 0) as issue_event_count
|
from ja_gd_patrol_task pt
|
left join ja_gd_work_order wo on pt.work_order_id = wo.id
|
left join (
|
select patrol_task_id,
|
count(*) as result_count,
|
sum(case when distribute_status in (1,2) then 1 else 0 end) as issue_event_count
|
from ja_gd_task_result
|
where is_deleted = 0
|
group by patrol_task_id
|
) tr on tr.patrol_task_id = pt.id
|
<where>
|
<if test="param2.workOrderId != null and param2.workOrderId != ''">
|
and pt.work_order_id = #{param2.workOrderId}
|
</if>
|
<if test="param2.patrolTaskName != null and param2.patrolTaskName != ''">
|
and pt.patrol_task_name like concat(#{param2.patrolTaskName},'%')
|
</if>
|
<if test="param2.patrolTaskType != null and param2.patrolTaskType != ''">
|
and pt.patrol_task_type = #{param2.patrolTaskType}
|
</if>
|
<if test="param2.taskStatus != null and param2.taskStatus != ''">
|
and pt.task_status = #{param2.taskStatus}
|
</if>
|
<if test="param3 != null and param3.size > 0">
|
and pt.create_dept in
|
<foreach collection="param3" item="deptId" open="(" separator="," close=")">
|
#{deptId}
|
</foreach>
|
</if>
|
<if test="param2.startTime != null and param2.startTime != '' and param2.endTime != null and param2.endTime != '' ">
|
and pt.execute_time BETWEEN #{param2.startTime} AND #{param2.endTime}
|
</if>
|
</where>
|
</select>
|
|
|
<select id="exportGdPatrolTask" resultType="org.sxkj.gd.workorder.excel.GdPatrolTaskExcel">
|
SELECT * FROM ja_gd_patrol_task ${ew.customSqlSegment}
|
</select>
|
|
<!-- 自定义更新工单状态语句 -->
|
<update id="updateWorkOrderById" parameterType="org.sxkj.gd.workorder.entity.GdWorkOrderEntity">
|
UPDATE ja_gd_work_order
|
<set>
|
<if test="workOrderParam.workOrderStatus != null">
|
work_order_status = #{workOrderParam.workOrderStatus},
|
</if>
|
<if test="workOrderParam.updateUser != null">
|
update_user = #{workOrderParam.updateUser},
|
</if>
|
<if test="workOrderParam.updateTime != null">
|
update_time = #{workOrderParam.updateTime},
|
</if>
|
</set>
|
WHERE id = #{workOrderParam.id}
|
</update>
|
|
</mapper>
|