<?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="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="state" property="state"/>
|
<result column="item_id" property="itemId"/>
|
<result column="task_id" property="taskId"/>
|
<result property="resGuid" column="resGuid"/>
|
|
<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 property="recordType" column="record_type"/>
|
|
<result property="processDefinitionId" column="processDefinitionId"/>
|
<result property="processInstanceId" column="processInstanceId"/>
|
|
|
<result column="create_user" property="createUser"/>
|
<result column="create_dept" property="createDept"/>
|
|
<result column="update_time" property="updateTime"/>
|
|
<result column="city_name" property="cityName"/>
|
<result column="county_name" property="countyName"/>
|
<result column="town_name" property="townName"/>
|
<result property="handleUser" column="handleUser"/>
|
<result property="handleUserName" column="handleUserName"/>
|
|
<result property="taskName" column="taskName"/>
|
|
</resultMap>
|
|
<select id="selectPatrolRecord" resultMap="selectPatrolRecordList">
|
SELECT
|
record.id,record.patrol_type,record.device_ids,record.images,record.videos,record.content,record.status,record.state,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,
|
|
case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS town_code,
|
case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS town_name,
|
|
case when town."ad_grad" = 3 THEN town."ad_code"
|
when county."ad_grad" = 3 THEN county."ad_code" END AS county_code,
|
|
case when town."ad_grad" = 3 THEN town."ad_name"
|
when county."ad_grad" = 3 THEN county."ad_name" END AS county_name,
|
|
case when town."ad_grad" = 2 THEN town."ad_code"
|
when county."ad_grad" = 2 THEN county."ad_code"
|
ELSE city."ad_code" END AS city_code,
|
|
case when town."ad_grad" = 2 THEN town."ad_name"
|
when county."ad_grad" = 2 THEN county."ad_name"
|
ELSE city."ad_name" END AS city_name
|
|
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 SJZT_MD."att_ad_base" town ON town."guid" = res."interior_ad_guid"
|
LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
|
LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
|
left join SJZT_MD."att_ad_base" province on city."p_ad_code" = province."ad_code"
|
|
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
|
<if test="patrolRecord.adCode != null and patrolRecord.adCode !=''">
|
AND (province."ad_code" = #{patrolRecord.adCode} or city."ad_code" = #{patrolRecord.adCode} or county."ad_code" = #{patrolRecord.adCode} or town."ad_code" = #{patrolRecord.adCode})
|
</if>
|
<if test="patrolRecord.status !=null and patrolRecord.status != '' ">
|
AND record.status = #{patrolRecord.status}
|
</if>
|
<if test="patrolRecord.solution !=null and patrolRecord.solution != '' ">
|
AND record.solution = #{patrolRecord.solution}
|
</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>
|
<if test="patrolRecord.resRegCode != null and patrolRecord.resRegCode !=''">
|
AND res."res_reg_code" LIKE CONCAT('%',#{patrolRecord.resRegCode},'%')
|
</if>
|
<if test="patrolRecord.state != null and patrolRecord.state !='' or patrolRecord.state == '0'">
|
AND record.state = #{patrolRecord.state}
|
</if>
|
<if test="patrolRecord.startTime!=null and patrolRecord.startTime!=''">
|
and record.create_time>= #{patrolRecord.startTime}
|
</if>
|
<if test="patrolRecord.endTime!=null and patrolRecord.endTime!=''">
|
and record.create_time <= #{patrolRecord.endTime}
|
</if>
|
ORDER BY record.update_time DESC
|
</select>
|
<select id="getDetail" resultMap="selectPatrolRecordList">
|
SELECT
|
task.title taskName,
|
task.project_id as resGuid,
|
|
record.id,
|
record.images,
|
record.videos,
|
record.content,
|
record.status,
|
record.item_id,
|
record.task_id,
|
record.create_user,
|
record.solution,
|
record.state,
|
record.record_type,
|
record.process_definition_id as processDefinitionId,
|
record.process_instance_id as processInstanceId,
|
|
item.description,
|
item.items_name as itemsName,
|
|
g.name as groupName,
|
|
|
u.phone
|
FROM SM_PATROL_RECORD record
|
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 sm_patrol_group g ON g.id = item.group_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 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="cn.gistack.sm.patrol.dto.PatrolGroupDTO">
|
<id property="id" column="id"/>
|
<result property="name" column="gname"/>
|
<collection property="patrolRecordVOList" javaType="java.util.List" ofType="cn.gistack.sm.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"/>
|
<result property="state" column="state"/>
|
<result property="recordType" column="recordType"/>
|
<result property="handleUserName" column="handleUserName"/>
|
</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,
|
R.STATE,
|
R.record_type as recordType,
|
R.UPDATE_USER as handleUser,
|
BU.real_name as handleUserName
|
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
|
LEFT JOIN BLADE_USER BU ON BU.ID = R.UPDATE_USER
|
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>
|
<if test="vo.toUserId !=null and vo.toUserId !=''">
|
AND R.create_user = #{vo.toUserId}
|
</if>
|
<if test="vo.status !=null and vo.status !=''">
|
AND R.status = #{vo.status}
|
</if>
|
<if test="vo.state !=null and vo.state !=''">
|
AND R.status = #{vo.state}
|
</if>
|
<if test="vo.solution !=null and vo.solution !=''">
|
AND R.status = #{vo.solution}
|
</if>
|
order by g.id ASC
|
|
</select>
|
|
|
<resultMap id="getRecordVO" type="cn.gistack.sm.patrol.vo.RecordVO">
|
<result property="taskName" column="taskName"/>
|
<result property="taskId" column="taskId"/>
|
<result property="itemId" column="itemId"/>
|
<result property="itemName" column="itemName"/>
|
|
<result property="patrolStatus" column="patrolStatus"/>
|
<result property="patrolUserId" column="patrolUserId"/>
|
<result property="patrolUserName" column="patrolUserName"/>
|
<result property="patrolContent" column="patrolContent"/>
|
<result property="patrolTime" column="patrolTime"/>
|
<result property="patrolVideo" column="patrolVideo" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
<result property="patrolImg" column="patrolImg" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
|
<result property="handleStatus" column="handleStatus"/>
|
<result property="handleUserId" column="handleUserId"/>
|
<result property="handleUserName" column="handleUserName"/>
|
<result property="handleContent" column="handleContent"/>
|
<result property="handleTime" column="handleTime"/>
|
<result property="handleVideo" column="handleVideo" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
<result property="handleImg" column="handleImg" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
|
|
</resultMap>
|
|
|
|
<select id="getRecordVO" resultMap="getRecordVO">
|
SELECT
|
patrol.*,
|
handle.IMAGES handleImg,
|
handle.VIDEOS handleVideo,
|
|
handle.CONTENT handleContent,
|
handle.create_time handleTime,
|
handle.CREATE_USER handleUserId,
|
BU.REAL_NAME handleUserName
|
FROM (
|
|
SELECT
|
SPR1.IMAGES patrolImg,
|
SPR1.VIDEOS patrolVideo,
|
|
CASE WHEN SPR1.STATUS = '1' THEN '正常'
|
WHEN SPR1.STATUS = '2' THEN '异常'
|
ELSE ''
|
END AS patrolStatus,
|
|
CASE WHEN SPR1.STATE = '0' THEN '待处理'
|
WHEN SPR1.STATE = '1' THEN '已处理'
|
ELSE ''
|
END AS handleStatus,
|
|
SPR1.CONTENT patrolContent,
|
SPR1.CREATE_USER patrolUserId,
|
SPR1.CREATE_TIME patrolTime,
|
BU.REAL_NAME patrolUserName,
|
SPR1.TASK_ID taskId,
|
SPT.title as taskName,
|
|
SPR1.ITEM_ID itemId,
|
SPGI.ITEMS_NAME itemName
|
FROM YWXT.SM_PATROL_RECORD SPR1
|
LEFT JOIN YWXT.SM_PATROL_TASK SPT ON SPT.ID = SPR1.TASK_ID
|
LEFT JOIN YWXT.BLADE_USER BU ON BU.ID = SPR1.CREATE_USER
|
LEFT JOIN YWXT.SM_PATROL_GROUP_ITEM SPGI ON SPGI.ID = SPR1.ITEM_ID
|
WHERE SPR1.ID = #{vo.recordId}
|
) patrol LEFT JOIN YWXT.SM_PATROL_RECORD handle ON handle.ITEM_ID = PATROL.itemId AND handle.TASK_ID = PATROL.taskId AND handle.id != #{vo.recordId}
|
LEFT JOIN YWXT.BLADE_USER BU ON BU.ID = handle.CREATE_USER
|
|
</select>
|
<select id="getHandleRecord" resultMap="selectPatrolRecordList">
|
SELECT SPR.*,SPR.update_user as handleUser,BU.real_name as handleUserName FROM SM_PATROL_RECORD SPR
|
LEFT JOIN BLADE_USER BU ON BU.ID = SPR.UPDATE_USER
|
WHERE SPR.IS_DELETED = 0
|
<if test="record.taskId != null and record.taskId != ''">
|
AND task_id = #{record.taskId}
|
</if>
|
<if test="record.itemId != null and record.itemId !=''">
|
AND item_id = #{record.itemId}
|
</if>
|
<if test="record.recordType != null and record.recordType != ''">
|
AND record_type = #{record.recordType}
|
</if>
|
</select>
|
|
|
</mapper>
|