<?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.springblade.modules.patrol.mapper.PatrolRecordMapper">
|
|
<resultMap id="selectPatrolRecordList" type="org.springblade.modules.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.create_time,record.update_time,record.solution,
|
task.route_coordinates taskRoute,task.title taskName,
|
item.items_name itemsName,item.description,
|
u.real_name,res."name" resName,res."guid" resGuid,res."res_reg_code" resRegCode,res."res_loc" resLoc
|
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 sjzt_md."att_res_base" res ON task.project_id = res."guid"
|
LEFT JOIN jczz_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
|
<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>
|
<if test="patrolRecord.resName != null and patrolRecord.resName !=''">
|
AND res."name" LIKE CONCAT('%',#{patrolRecord.resName},'%')
|
</if>
|
ORDER BY record.create_time DESC
|
</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 jczz_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="org.springblade.modules.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 jczz_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 AS 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 AS 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="vo.groupId != null and vo.groupId !=''">
|
AND B.GROUP_ID = #{vo.groupId}
|
</if>
|
ORDER BY B.GROUP_ID
|
)C ON C.ID = r.ITEM_ID
|
WHERE r.state = 0
|
<if test="vo.taskId != null and vo.taskId !=''">
|
AND r.task_id = #{vo.taskId}
|
</if>
|
<if test="vo.flowTaskId != null and vo.flowTaskId !=''">
|
AND r.flow_task_id = #{vo.flowTaskId}
|
</if>
|
</select>
|
|
<resultMap id="patrolGroupDTO" type="org.springblade.modules.patrol.dto.PatrolGroupDTO">
|
<id property="id" column="id"/>
|
<result property="name" column="gname"/>
|
<collection property="patrolRecordVOList" javaType="java.util.List" ofType="org.springblade.modules.patrol.vo.PatrolRecordVO">
|
<result property="id" column="rId"/>
|
<result property="videos" column="videos" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
<result property="images" column="images" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
<result property="status" column="status"/>
|
<result property="isDeleted" column="isDeleted"/>
|
<result property="itemId" column="itemId"/>
|
<result property="itemsName" column="itemsName"/>
|
<result property="taskId" column="taskId"/>
|
<result property="solution" column="solution"/>
|
<result property="content" column="content"/>
|
</collection>
|
</resultMap>
|
|
<select id="getHistoryRecord" resultMap="patrolGroupDTO">
|
|
SELECT G.ID,
|
G.NAME AS gname,
|
R.ID AS rId,
|
R.VIDEOS,
|
R.IMAGES,
|
R.STATUS,
|
R.IS_DELETED,
|
R.ITEM_ID AS itemId,
|
I.ITEMS_NAME AS itemsName,
|
R.TASK_ID AS taskId ,
|
R.SOLUTION,
|
R.CONTENT
|
FROM SM_PATROL_GROUP G
|
LEFT JOIN SM_PATROL_GROUP_ITEM I ON I.GROUP_ID = G.ID
|
LEFT JOIN SM_PATROL_RECORD R ON R.ITEM_ID = I.ID
|
WHERE G.IS_DELETED = 0
|
<if test="vo.flowTaskId != null and vo.flowTaskId !='' ">
|
AND R.FLOW_TASK_ID = #{vo.flowTaskId}
|
</if>
|
<if test="vo.taskId !=null and vo.taskId !='' ">
|
AND R.TASK_ID = #{vo.taskId}
|
</if>
|
<if test="vo.recordType !=null and vo.recordType !=''">
|
AND R.record_type = #{vo.recordType}
|
</if>
|
|
</select>
|
|
|
|
<!-- <resultMap type="org.springblade.modules.dto.PatrolRecordDTO" id="PatrolRecordDTOResult">-->
|
<!-- <result property="id" column="id" />-->
|
<!-- <result property="itemId" column="item_id" />-->
|
<!-- <result property="placeCheckId" column="place_check_id" />-->
|
<!-- <result property="state" column="state" />-->
|
<!-- <result property="remark" column="remark" />-->
|
<!-- <result property="imageUrls" column="image_urls" />-->
|
<!-- <result property="createUser" column="create_user" />-->
|
<!-- <result property="createTime" column="create_time" />-->
|
<!-- <result property="isDeleted" column="is_deleted" />-->
|
<!-- </resultMap>-->
|
|
|
<sql id="selectPatrolRecord">
|
select
|
id,
|
item_id,
|
place_check_id,
|
state,
|
remark,
|
image_urls,
|
create_user,
|
create_time,
|
is_deleted,
|
rectification_image_urls,
|
rectification_remark,
|
rectification_time
|
from
|
jczz_patrol_record
|
</sql>
|
|
|
<!-- <select id="selectPatrolRecordById" parameterType="long" resultMap="PatrolRecordDTOResult">-->
|
<!-- <include refid="selectPatrolRecord"/>-->
|
<!-- where-->
|
<!-- id = #{id}-->
|
<!-- </select>-->
|
|
<!-- <select id="selectPatrolRecordList" parameterType="org.springblade.modules.dto.PatrolRecordDTO" resultMap="PatrolRecordDTOResult">-->
|
<!-- <include refid="selectPatrolRecord"/>-->
|
<!-- <where>-->
|
<!-- <if test="id != null "> and id = #{id}</if>-->
|
<!-- <if test="itemId != null "> and item_id = #{itemId}</if>-->
|
<!-- <if test="placeCheckId != null "> and place_check_id = #{placeCheckId}</if>-->
|
<!-- <if test="state != null "> and state = #{state}</if>-->
|
<!-- <if test="remark != null and remark != ''"> and remark = #{remark}</if>-->
|
<!-- <if test="imageUrls != null and imageUrls != ''"> and image_urls = #{imageUrls}</if>-->
|
<!-- <if test="createUser != null "> and create_user = #{createUser}</if>-->
|
<!-- <if test="createTime != null "> and create_time = #{createTime}</if>-->
|
<!-- <if test="isDeleted != null "> and is_deleted = #{isDeleted}</if>-->
|
<!-- </where>-->
|
<!-- </select>-->
|
|
|
</mapper>
|