<?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="cn.gistack.sm.patrol.mapper.PatrolRecordMapper">
|
|
<resultMap id="selectPatrolRecordList" type="cn.gistack.sm.patrol.vo.PatrolRecordVO">
|
<result column="id" property="id"/>
|
<result column="patrol_type" property="patrolType"/>
|
<result column="device_ids" property="deviceIds"/>
|
<result column="images" property="images"
|
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
<result column="videos" property="videos"
|
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
<result column="content" property="content"/>
|
<result column="status" property="status"/>
|
<result column="item_id" property="itemId"/>
|
<result column="task_id" property="taskId"/>
|
<result column="patrol_route" property="patrolRoute"/>
|
<result column="taskRoute" property="taskRoute"/>
|
<result property="groupName" column="groupName"/>
|
<result property="groupId" column="groupId"/>
|
<result property="itemsName" column="itemsName"/>
|
<result property="description" column="description"/>
|
<result property="patrolTime" column="update_time"/>
|
<result property="phone" column="phone"/>
|
<result property="toUserId" column="create_user"/>
|
<result property="toUserName" column="real_name"/>
|
<result property="taskName" column="taskName"/>
|
|
<result column="create_user" property="createUser"/>
|
<result column="create_dept" property="createDept"/>
|
|
<result column="update_time" property="updateTime"/>
|
|
</resultMap>
|
|
<select id="selectPatrolRecord" resultMap="selectPatrolRecordList">
|
SELECT
|
record.id,record.patrol_type,record.device_ids,record.images,record.videos,record.content,record.status,record.item_id,record.task_id,record.patrol_route,record.update_time,record.solution,
|
task.route_coordinates taskRoute,task.title taskName,
|
item.items_name itemsName,item.description
|
FROM SM_PATROL_RECORD record
|
LEFT JOIN sm_patrol_type type ON type.id = record.patrol_type
|
LEFT JOIN sm_patrol_task task ON task.id = record.task_id
|
LEFT JOIN sm_patrol_group_item item ON item.id = record.item_id
|
WHERE record.is_deleted = 0
|
<if test="patrolRecord.status !=null and patrolRecord.status != '' ">
|
AND record.status = #{patrolRecord.status}
|
</if>
|
<if test="patrolRecord.patrolType !=null and patrolRecord.patrolType !=''">
|
AND record.patrolType = #{patrolRecord.patrolType}
|
</if>
|
<if test="patrolRecord.taskId !=null and patrolRecord.taskId !=''">
|
AND record.task_id = #{patrolRecord.taskId}
|
</if>
|
</select>
|
<select id="getDetail" resultMap="selectPatrolRecordList">
|
SELECT
|
record.id,record.patrol_type,record.images,record.videos,record.content,record.status,record.item_id,record.content,record.task_id,record.patrol_route,record.create_user,record.solution,
|
item.description,
|
u.phone
|
FROM SM_PATROL_RECORD record
|
LEFT JOIN sm_patrol_type type ON type.id = record.patrol_type
|
LEFT JOIN sm_patrol_task task ON task.id = record.task_id
|
LEFT JOIN sm_patrol_group_item item ON item.id = record.item_id
|
LEFT JOIN BLADE_USER u ON u.id = record.create_user
|
WHERE record.is_deleted = 0
|
AND record.id =#{id}
|
</select>
|
<select id="selectPatrolRecordByTaskIdAndItemId" resultType="cn.gistack.sm.patrol.entity.PatrolRecord">
|
SELECT id FROM sm_patrol_record WHERE is_deleted = 0 AND task_id = #{taskId} AND item_id = #{itemId}
|
</select>
|
|
<select id="getByTaskIdAndItemId" resultMap="selectPatrolRecordList">
|
SELECT r.id,r.patrol_type,r.device_ids,r.images,r.videos,r.content,r.status,r.item_id,r.task_id,r.update_time,r.solution,
|
c.name groupName,c.id groupId,c.items_name itemsName,c.description,
|
u.real_name
|
FROM SM_PATROL_RECORD r
|
LEFT JOIN
|
(SELECT g.ID,g.NAME,a.id itemId, a.items_name,description FROM
|
(
|
SELECT ID,GROUP_ID,items_name,description FROM SM_PATROL_GROUP_ITEM WHERE ID IN
|
<foreach collection="itemIds.split(',')" item="item" index="index" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
) a ,SM_PATROL_GROUP g
|
WHERE g.is_deleted = 0 AND a.group_id = g.id) c
|
|
ON c.itemId = r.item_id
|
LEFT JOIN SM_PATROL_TASK t ON t.id = r.task_id
|
LEFT JOIN BLADE_USER u ON u.id = r.create_user
|
where r.task_id = #{taskId}
|
</select>
|
<select id="getPatrolRecordVO" resultMap="selectPatrolRecordList">
|
SELECT r.id,r.patrol_type,r.device_ids,r.images,r.videos,r.content,r.status,r.item_id,r.task_id,r.create_user,r.create_dept,r.solution,
|
i.items_name itemsName,i.description
|
FROM sm_patrol_record r
|
LEFT JOIN sm_patrol_group_item i ON i.id = r.item_id
|
WHERE r.is_deleted = 0
|
AND r.item_id = #{itemId}
|
AND r.task_id = #{taskId}
|
</select>
|
<select id="getByTaskIdAndGroupId" resultMap="selectPatrolRecordList">
|
SELECT c.group_id groupId,r.id,r.patrol_type,r.device_ids,r.images,r.videos,r.content,r.status,r.item_id,r.task_id,r.create_user,r.create_dept,r.solution,
|
C.items_name itemsName,C.description FROM SM_PATROL_RECORD r
|
RIGHT JOIN (
|
SELECT B.ID,B.GROUP_ID,B.ITEMS_NAME,B.DESCRIPTION
|
FROM SM_PATROL_GROUP A
|
INNER JOIN SM_PATROL_GROUP_ITEM B ON A.ID = B.GROUP_ID
|
WHERE 1=1
|
<if test="groupId != null and groupId !=''">
|
AND B.GROUP_ID = #{groupId}
|
</if>
|
ORDER BY B.GROUP_ID
|
)C ON C.ID = r.ITEM_ID
|
WHERE TASK_ID = #{taskId}
|
</select>
|
</mapper>
|