From 1df02b011c951ed5f57e40663e014fd913cbbe20 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 23 May 2023 19:44:53 +0800
Subject: [PATCH] 巡检报表接口
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml | 119 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 97 insertions(+), 22 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 c315ef5..a62cf87 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
@@ -182,41 +182,48 @@
WHERE T.ID = #{id}
AND T.IS_DELETED = 0
</select>
-
+ <!--市查区-->
<select id="getTaskReportRegion" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
SELECT
- aab."ad_name" AS adName,
- aab."guid" AS adCode,
- to_char(t.start_time,'yyyy-mm-dd') AS statisticsTime,
- COUNT(*) AS need,
- SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
- SUM(CASE WHEN t.state = 1 THEN 1 ELSE 0 END) AS todo
+ 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')
+ 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.statisticsTime !=null and patrolTaskReport.statisticsTime !=''">
- AND to_char(t.start_time,'yyyy-mm-dd') = #{patrolTaskReport.statisticsTime}
+ <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+ AND DATE_FORMAT(t.start_time,'%Y-%m-%d') >= #{patrolTaskReport.startTime}
</if>
- GROUP BY (aab."ad_name",aab."guid",to_char(t.start_time,'yyyy-mm-dd'))
+ <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+ AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime}
+ </if>
+ GROUP BY (aab."ad_name",aab."guid")
</select>
+ <!--区查水库-->
<select id="getTaskReportReservoir" 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,
- COUNT(*) AS need,
- SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
- SUM(CASE WHEN t.state = 1 THEN 1 ELSE 0 END) AS todo
+ 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 SK002.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 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
+ t.IS_DELETED = 0
<if test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !=''">
AND aab."ad_code" = #{patrolTaskReport.adCode}
</if>
@@ -228,5 +235,73 @@
</if>
GROUP BY (arb."guid",arb."name",aab."guid",aab."ad_name")
</select>
+ <!--省查市-->
+ <select id="getTaskReportProvince" 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 SK002.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') >= #{patrolTaskReport.startTime}
+ </if>
+ <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+ AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime}
+ </if>
+ GROUP BY (aab."p_ad_code",aab."p_ad_name")
+ ) A
+ GROUP BY (a."p_ad_code",a."p_ad_name") order by a."p_ad_code"
+ </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') >= #{patrolTaskReport.startTime}
+ </if>
+ <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+ AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime}
+ </if>
+ <if test="patrolTaskReport.reservoirId !=null and patrolTaskReport.reservoirId !=''">
+ AND arb."guid" = #{patrolTaskReport.reservoirId}
+ </if>
+ </select>
</mapper>
--
Gitblit v1.9.3