<?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.PatrolGroupMapper">
|
|
<select id="getPatrolGroupByProjectId" resultType="org.springblade.modules.patrol.entity.PatrolGroup">
|
SELECT g.id,g.name
|
FROM jczz_patrol_group g
|
WHERE g.is_deleted = 0
|
AND g.project_id = #{projectId}
|
</select>
|
|
<!--查询巡查项树数据-->
|
<!-- <select id="getPatrolGroupTree" resultType="org.springblade.core.tool.node.TreeNode" >-->
|
<!-- (-->
|
<!-- SELECT-->
|
<!-- spg.id,-->
|
<!-- spg.name,-->
|
<!-- 0 as parentId,-->
|
<!-- (-->
|
<!-- SELECT-->
|
<!-- CASE WHEN count(1) > 0 THEN 1 ELSE 0 END-->
|
<!-- FROM-->
|
<!-- jczz_patrol_group_item-->
|
<!-- WHERE-->
|
<!-- group_id = spg.id and is_deleted = 0-->
|
<!-- ) AS "has_children"-->
|
<!-- FROM jczz_patrol_group spg where spg.is_deleted = 0-->
|
<!-- )-->
|
<!-- union all-->
|
<!-- (-->
|
<!-- SELECT-->
|
<!-- spgi.id,-->
|
<!-- spgi.items_name as name,-->
|
<!-- spgi.group_id as parentId,-->
|
<!-- false AS hasChildren-->
|
<!-- FROM jczz_patrol_group_item spgi where spgi.is_deleted = 0-->
|
<!-- )-->
|
<!-- </select>-->
|
|
|
<!--查询巡查项树数据-->
|
<select id="getPatrolGroupTree" resultType="org.springblade.core.tool.node.TreeNode" >
|
SELECT
|
spg.id,
|
spg.name as title,
|
0 as parentId,
|
(
|
SELECT
|
CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
|
FROM
|
jczz_patrol_group_item
|
WHERE
|
group_id = spg.id and is_deleted = 0
|
) AS "has_children"
|
FROM jczz_patrol_group spg where spg.is_deleted = 0
|
order by spg.create_time desc
|
</select>
|
|
<!--查询巡查项树数据-->
|
<select id="getPatrolGroupItemTree" resultType="org.springblade.core.tool.node.TreeNode" >
|
SELECT
|
spgi.id,
|
spgi.items_name as title,
|
spgi.group_id as parentId,
|
false AS hasChildren
|
FROM jczz_patrol_group_item spgi where spgi.is_deleted = 0
|
order by spgi.create_time desc
|
</select>
|
<select id="getPatrolGroupByItemId" resultType="org.springblade.modules.patrol.entity.PatrolGroup">
|
SELECT distinct b.ID,b.NAME FROM
|
(
|
SELECT ID,GROUP_ID 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 b
|
WHERE b.is_deleted = 0 AND a.group_id = b.id
|
</select>
|
<select id="getAllPatrolGroupByTaskId" resultType="org.springblade.modules.patrol.vo.PatrolGroupVO">
|
SELECT G.*,IF(C.GROUP_ID,1,2) isSelect,IFNULL(C.problemCount,0) problemCount FROM SM_PATROL_GROUP G
|
LEFT JOIN (
|
<!--获取巡查记录表中的已选项,并获取问题数量-->
|
SELECT DISTINCT I.GROUP_ID,D.problemCount FROM SM_PATROL_RECORD R
|
INNER JOIN SM_PATROL_GROUP_ITEM I ON R.ITEM_ID = I.ID
|
LEFT JOIN (
|
SELECT I.GROUP_ID,COUNT(*) problemCount FROM SM_PATROL_RECORD R
|
INNER JOIN SM_PATROL_GROUP_ITEM I ON R.ITEM_ID = I.ID
|
WHERE R.IS_DELETED = 0 AND R.TASK_ID = #{taskId}
|
AND R.STATUS = 2
|
AND R.SOLUTION = 2
|
AND R.state = 0
|
GROUP BY I.GROUP_ID
|
)D ON D.GROUP_ID = I.GROUP_ID
|
WHERE R.IS_DELETED = 0 AND R.TASK_ID = #{taskId}
|
)C ON C.GROUP_ID = G.ID
|
WHERE IS_DELETED = 0
|
ORDER BY G.CREATE_TIME
|
</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="getPatrolGroupDTO" 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
|
AND R.STATUS = 2 AND R.state = 0 AND R.SOLUTION = 2
|
AND R.TASK_ID = #{taskId}
|
</select>
|
|
|
<select id="getPatrolGroupByTaskId" resultType="org.springblade.modules.patrol.entity.PatrolGroup">
|
SELECT G.ID,G.NAME FROM SM_PATROL_GROUP G
|
LEFT JOIN SM_PATROL_GROUP_ITEM I ON I.GROUP_ID = G.ID
|
LEFT JOIN SM_PATROL_REPORT R ON R.ITEM_ID = I.ID
|
WHERE G.IS_DELETED = 0
|
AND R.STATUS = 2
|
AND R.TASK_ID = #{taskId}
|
</select>
|
<select id="getGroupDTORecord" 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
|
AND R.STATUS = 2
|
AND R.TASK_ID = #{taskId}
|
</select>
|
|
|
<!-- <resultMap type="org.springblade.modules.dto.PatrolGroupItemDTO" id="PatrolGroupItemDTOResult">-->
|
<!-- <result property="id" column="id" />-->
|
<!-- <result property="groupId" column="group_id" />-->
|
<!-- <result property="itemsName" column="items_name" />-->
|
<!-- <result property="description" column="description" />-->
|
<!-- <result property="createUser" column="create_user" />-->
|
<!-- <result property="createTime" column="create_time" />-->
|
<!-- <result property="updateTime" column="update_time" />-->
|
<!-- <result property="isDeleted" column="is_deleted" />-->
|
<!-- </resultMap>-->
|
|
<sql id="selectPatrolGroupItem">
|
select
|
id,
|
group_id,
|
items_name,
|
description,
|
create_user,
|
create_time,
|
update_time,
|
is_deleted
|
from
|
jczz_patrol_group_item
|
</sql>
|
|
<!-- <select id="selectPatrolGroupItemById" parameterType="long" resultMap="PatrolGroupItemDTOResult">-->
|
<!-- <include refid="selectPatrolGroupItem"/>-->
|
<!-- where-->
|
<!-- id = #{id}-->
|
<!-- </select>-->
|
|
<!-- <select id="selectPatrolGroupItemList" parameterType="org.springblade.modules.dto.PatrolGroupItemDTO" resultMap="PatrolGroupItemDTOResult">-->
|
<!-- <include refid="selectPatrolGroupItem"/>-->
|
<!-- <where>-->
|
<!-- <if test="id != null "> and id = #{id}</if>-->
|
<!-- <if test="groupId != null "> and group_id = #{groupId}</if>-->
|
<!-- <if test="itemsName != null and itemsName != ''"> and items_name = #{itemsName}</if>-->
|
<!-- <if test="description != null and description != ''"> and description = #{description}</if>-->
|
<!-- <if test="createUser != null "> and create_user = #{createUser}</if>-->
|
<!-- <if test="createTime != null "> and create_time = #{createTime}</if>-->
|
<!-- <if test="updateTime != null "> and update_time = #{updateTime}</if>-->
|
<!-- <if test="isDeleted != null "> and is_deleted = #{isDeleted}</if>-->
|
<!-- </where>-->
|
<!-- </select>-->
|
</mapper>
|