From 3ce737b52fca082ac3a2ecda4a848e2e4abcd0ee Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 06 Jul 2023 09:38:18 +0800
Subject: [PATCH] Merge branch 'jtdev' of https://hbsl-code.gistack.cn/hbwri/manager into jtdev

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml |  330 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 327 insertions(+), 3 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
index b9bdfb0..5a9c4fb 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -6,10 +6,12 @@
     <select id="selectPatrolTask" resultType="cn.gistack.sm.patrol.vo.PatrolTaskVO">
         SELECT
         spt.*,spt2.name as patrolTypeName,
-        route.ROUTE_COORDINATES routeRange
+        route.ROUTE_COORDINATES routeRange,
+        u.real_name toUserName
         FROM sm_patrol_task spt
         left join sm_patrol_type spt2 on spt.task_type = spt2.id
         LEFT JOIN sm_patrol_route route ON route.id = spt.route_id
+        LEFT JOIN blade_user u ON u.id = spt.to_user_id
         WHERE spt.is_deleted = 0
         <if test="patrolTask.title !=null and patrolTask.title!=''">
             AND spt.title LIKE CONCAT('%',#{patrolTask.title},'%')
@@ -22,6 +24,51 @@
         </if>
         <if test="patrolTask.projectId !=null and patrolTask.projectId !='' ">
             AND spt.project_id = #{patrolTask.projectId}
+        </if>
+        <if test="patrolTask.reservoirName !=null and patrolTask.reservoirName !='' ">
+            AND spt.reservoir_name LIKE CONCAT('%',#{patrolTask.reservoirName},'%')
+        </if>
+        <if test="patrolTask.toUserId != null and patrolTask.toUserId !=''">
+            AND spt.to_user_id = #{patrolTask.toUserId}
+        </if>
+        <if test="patrolTask.state != null and patrolTask.state !=''">
+            AND spt.state = #{patrolTask.state}
+        </if>
+    </select>
+    <!--获取全部-->
+    <select id="getAll" resultType="cn.gistack.sm.patrol.entity.PatrolTask">
+        SELECT
+        spt.*,spt2.name as patrolTypeName,
+        route.ROUTE_COORDINATES routeRange,
+        u.real_name toUserName
+        FROM sm_patrol_task spt
+        left join sm_patrol_type spt2 on spt.task_type = spt2.id
+        LEFT JOIN sm_patrol_route route ON route.id = spt.route_id
+        LEFT JOIN blade_user u ON u.id = spt.to_user_id
+        WHERE spt.is_deleted = 0
+        <if test="patrolTask.title !=null and patrolTask.title!=''">
+            AND spt.title LIKE CONCAT('%',#{patrolTask.title},'%')
+        </if>
+        <if test="patrolTask.startTime !=null and patrolTask.startTime !=''">
+            AND DATE_FORMAT(spt.start_time,'%Y-%m-%d') &gt;= #{patrolTask.startTime}
+        </if>
+        <if test="patrolTask.endTime !=null and patrolTask.endTime !=''">
+            AND DATE_FORMAT(spt.end_time,'%Y-%m-%d') &lt;= #{patrolTask.endTime}
+        </if>
+        <if test="patrolTask.projectId !=null and patrolTask.projectId !='' ">
+            AND spt.project_id = #{patrolTask.projectId}
+        </if>
+        <if test="patrolTask.reservoirName !=null and patrolTask.reservoirName !='' ">
+            AND spt.reservoir_name LIKE CONCAT('%',#{patrolTask.reservoirName},'%')
+        </if>
+        <if test="patrolTask.toUserId != null and patrolTask.toUserId !=''">
+            AND spt.to_user_id = #{patrolTask.toUserId}
+        </if>
+        <if test="patrolTask.state != null and patrolTask.state !=''">
+            AND spt.state = #{patrolTask.state}
+        </if>
+        <if test="patrolTask.finish == 2">
+            AND spt.state != 3
         </if>
     </select>
 
@@ -127,12 +174,289 @@
         FROM sm_patrol_task spt
         where spt.id = #{id}
     </select>
-    <select id="customizeGetById" resultType="cn.gistack.sm.patrol.entity.PatrolTask">
-        SELECT T.ID,T.TITLE,T.TO_USER_ID,A.PROBLEM_COUNT,T.PROJECT_ID,T.CONTENT,T.STATE FROM SM_PATROL_TASK T
+    <select id="customizeGetById" resultType="cn.gistack.sm.patrol.vo.PatrolTaskVO">
+        SELECT T.ID,T.TITLE,T.TO_USER_ID,U.REAL_NAME toUserIdName,A.PROBLEM_COUNT,T.PROJECT_ID,T.CONTENT,T.STATE,T.PATROL_ROUTE
+        FROM SM_PATROL_TASK T
+        LEFT JOIN BLADE_USER U ON U.ID = T.TO_USER_ID
         LEFT JOIN (
             SELECT COUNT(*) PROBLEM_COUNT,R.TASK_ID FROM SM_PATROL_REPORT R WHERE R.TASK_ID = #{id} AND R.STATUS = 2 GROUP BY R.TASK_ID
         )A ON A.TASK_ID = T.ID
         WHERE T.ID = #{id}
         AND T.IS_DELETED = 0
     </select>
+    <!--获取市级巡查数据-->
+    <select id="getCityReportPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+        SELECT
+        a."p_ad_code" adCode,
+        a."p_ad_name" adName,
+        sum(a.need) AS need,
+        sum(a.finish) AS finish,
+        sum(a.todo) AS todo,
+        #{patrolTaskReport.startTime} AS startTime,
+        #{patrolTaskReport.endTime} AS endTime
+        FROM (
+        SELECT
+        aab."p_ad_code",aab."p_ad_name",
+        COUNT(*) AS need,
+        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
+        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
+        FROM SM_PATROL_TASK t
+        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
+        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = CONCAT(arb."ad_guid",'000000')
+        where t.is_deleted = 0 AND aab."p_ad_code" != '420000000000'
+        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
+        </if>
+        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
+        </if>
+        GROUP BY (aab."p_ad_code",aab."p_ad_name")
+        ORDER BY aab."p_ad_code"
+        ) A
+        GROUP BY (a."p_ad_code",a."p_ad_name") order by a."p_ad_code"
+
+    </select>
+    <!--获取区县巡查数据-->
+    <select id="getCountyReportPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+        SELECT
+        aab."ad_name" AS adName,
+        aab."guid" AS adCode,
+        #{patrolTaskReport.startTime} AS startTime,
+        #{patrolTaskReport.endTime} AS endTime,
+        COUNT(*) AS need,
+        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
+        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
+        FROM SM_PATROL_TASK t
+        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
+        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = CONCAT(arb."ad_guid",'000000')
+        WHERE t.IS_DELETED = 0
+        <if test="patrolTaskReport.padCode !=null and patrolTaskReport.padCode !=''">
+            AND aab."p_ad_code" = #{patrolTaskReport.padCode}
+        </if>
+        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
+        </if>
+        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
+        </if>
+        GROUP BY (aab."ad_name",aab."guid")
+        ORDER BY aab."guid"
+    </select>
+    <!--获取乡镇巡查数据-->
+    <select id="getTownReportPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+        SELECT
+        aab."ad_name" AS adName,
+        aab."guid" AS adCode,
+        #{patrolTaskReport.startTime} AS startTime,
+        #{patrolTaskReport.endTime} AS endTime,
+        COUNT(*) AS need,
+        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
+        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
+        FROM SM_PATROL_TASK t
+        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
+        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
+        WHERE t.IS_DELETED = 0
+        <if test="patrolTaskReport.padCode !=null and patrolTaskReport.padCode !=''">
+            AND aab."p_ad_code" = #{patrolTaskReport.padCode}
+        </if>
+        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
+        </if>
+        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
+        </if>
+        GROUP BY (aab."ad_name",aab."guid")
+        ORDER BY aab."guid"
+    </select>
+    <!--获取水库巡查数据-->
+    <select id="getReservoirReportPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+        SELECT
+        arb."guid" AS reservoirId,
+        arb."name" AS reservoirName,
+        aab."guid" AS adCode,
+        aab."ad_name" AS adName,
+        #{patrolTaskReport.startTime} AS startTime,
+        #{patrolTaskReport.endTime} AS endTime,
+        COUNT(*) AS need,
+        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
+        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
+        FROM SM_PATROL_TASK t
+        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
+        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
+        WHERE
+        t.IS_DELETED = 0
+        <if test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !=''">
+            AND aab."ad_code" = #{patrolTaskReport.adCode}
+        </if>
+        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
+        </if>
+        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
+        </if>
+        GROUP BY (arb."guid",arb."name",aab."guid",aab."ad_name")
+        ORDER BY arb."guid"
+    </select>
+
+
+
+    <!--获取市级巡查数据-->
+    <select id="getCityReportList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+        SELECT
+        a."p_ad_code" adCode,
+        a."p_ad_name" adName,
+        sum(a.need) AS need,
+        sum(a.finish) AS finish,
+        sum(a.todo) AS todo,
+        #{patrolTaskReport.startTime} AS startTime,
+        #{patrolTaskReport.endTime} AS endTime
+        FROM (
+        SELECT
+        aab."p_ad_code",aab."p_ad_name",
+        COUNT(*) AS need,
+        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
+        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
+        FROM SM_PATROL_TASK t
+        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
+        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = CONCAT(arb."ad_guid",'000000')
+        where t.is_deleted = 0 AND aab."p_ad_code" != '420000000000'
+        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
+        </if>
+        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
+        </if>
+        GROUP BY (aab."p_ad_code",aab."p_ad_name")
+        ORDER BY aab."p_ad_code"
+        ) A
+        GROUP BY (a."p_ad_code",a."p_ad_name") order by a."p_ad_code"
+
+    </select>
+    <!--获取区县巡查数据-->
+    <select id="getCountyReportList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+        SELECT
+        aab."ad_name" AS adName,
+        aab."guid" AS adCode,
+        #{patrolTaskReport.startTime} AS startTime,
+        #{patrolTaskReport.endTime} AS endTime,
+        COUNT(*) AS need,
+        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
+        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
+        FROM SM_PATROL_TASK t
+        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
+        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = CONCAT(arb."ad_guid",'000000')
+        WHERE t.IS_DELETED = 0
+        <if test="patrolTaskReport.padCode !=null and patrolTaskReport.padCode !=''">
+            AND aab."p_ad_code" = #{patrolTaskReport.padCode}
+        </if>
+        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
+        </if>
+        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
+        </if>
+        GROUP BY (aab."ad_name",aab."guid")
+        ORDER BY aab."guid"
+    </select>
+    <!--获取乡镇巡查数据-->
+    <select id="getTownReportList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+        SELECT
+        aab."ad_name" AS adName,
+        aab."guid" AS adCode,
+        #{patrolTaskReport.startTime} AS startTime,
+        #{patrolTaskReport.endTime} AS endTime,
+        COUNT(*) AS need,
+        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
+        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
+        FROM SM_PATROL_TASK t
+        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
+        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
+        WHERE t.IS_DELETED = 0
+        <if test="patrolTaskReport.padCode !=null and patrolTaskReport.padCode !=''">
+            AND aab."p_ad_code" = #{patrolTaskReport.padCode}
+        </if>
+        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
+        </if>
+        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
+        </if>
+        GROUP BY (aab."ad_name",aab."guid")
+        ORDER BY aab."guid"
+    </select>
+    <!--获取水库巡查数据-->
+    <select id="getReservoirReportList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+        SELECT
+        arb."guid" AS reservoirId,
+        arb."name" AS reservoirName,
+        aab."guid" AS adCode,
+        aab."ad_name" AS adName,
+        #{patrolTaskReport.startTime} AS startTime,
+        #{patrolTaskReport.endTime} AS endTime,
+        COUNT(*) AS need,
+        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
+        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
+        FROM SM_PATROL_TASK t
+        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
+        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
+        WHERE
+        t.IS_DELETED = 0
+        <if test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !=''">
+            AND aab."ad_code" = #{patrolTaskReport.adCode}
+        </if>
+        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
+        </if>
+        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
+        </if>
+        GROUP BY (arb."guid",arb."name",aab."guid",aab."ad_name")
+        ORDER BY arb."guid"
+    </select>
+
+
+
+
+
+
+    <!--水库巡查-->
+    <select id="getTaskReportDetailRegion" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+        SELECT
+            arb."guid" AS reservoirId,
+            arb."name" AS reservoirName,
+            aab."ad_name" AS adName,
+            aab."guid" AS adCode,
+            t.start_time,
+            u.real_name patrolUserName,
+            t.state,
+            (
+                CASE t.state
+                WHEN '1' THEN '未完成'
+                WHEN '2' THEN '进行中'
+                ELSE '已完成'
+                END
+            )stateName
+        FROM SM_PATROL_TASK T
+            LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = t.project_id
+            LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = CONCAT(arb."ad_guid",'000000')
+            LEFT JOIN BLADE_USER u ON u.id = t.to_user_id
+        WHERE T.IS_DELETED = 0
+        <if test="patrolTaskReport.adCode !=null and patrolTaskReport.adCode !=''">
+            AND aab."guid" LIKE CONCAT('%',#{patrolTaskReport.adCode},'%')
+        </if>
+        <if test="patrolTaskReport.reservoirName !=null and patrolTaskReport.reservoirName !=''">
+            AND arb."name" LIKE CONCAT('%',#{patrolTaskReport.reservoirName},'%')
+        </if>
+        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
+        </if>
+        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
+        </if>
+        <if test="patrolTaskReport.reservoirId !=null and patrolTaskReport.reservoirId !=''">
+            AND arb."guid" =  #{patrolTaskReport.reservoirId}
+        </if>
+    </select>
+
+
 </mapper>

--
Gitblit v1.9.3