From 6cd2da8eb7d7aefecd96a19ebbfe9caba59ea88c Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 18 May 2023 14:25:58 +0800
Subject: [PATCH] 巡查任务巡查责任人完成任务逻辑修改

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.xml |   67 +++++++++++++++++++++++++++++++++
 1 files changed, 67 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.xml
index 6329b8f..67dbede 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolGroupMapper.xml
@@ -64,4 +64,71 @@
             false AS hasChildren
         FROM sm_patrol_group_item spgi where spgi.is_deleted = 0
     </select>
+    <select id="getPatrolGroupByItemId" resultType="cn.gistack.sm.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="cn.gistack.sm.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
+                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="cn.gistack.sm.patrol.dto.PatrolGroupDTO">
+        <id property="id" column="id"/>
+        <result property="name" column="gname"/>
+        <collection property="patrolReportList" javaType="java.util.List" ofType="cn.gistack.sm.patrol.vo.PatrolReportVO">
+            <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="recordId" column="recordId"/>
+        </collection>
+    </resultMap>
+
+
+    <select id="getPatrolGroupDTO" resultMap="patrolGroupDTO">
+       SELECT G.ID,G.NAME gname,
+        R.ID rId, R.VIDEOS,R.IMAGES,R.STATUS,R.IS_DELETED,R.ITEM_ID itemId,R.record_id recordId,
+        I.ITEMS_NAME itemsName,R.TASK_ID,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_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="getPatrolGroupByTaskId" resultType="cn.gistack.sm.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>
 </mapper>

--
Gitblit v1.9.3