From 5e972eb9928c39b5abbdfd35e2a0aeff40876e7d Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 07 May 2024 17:23:16 +0800
Subject: [PATCH] 修改不成功问题
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml | 822 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 604 insertions(+), 218 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 fb5ba28..6c16217 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
@@ -5,26 +5,49 @@
<!--自定义分页查询-->
<select id="selectPatrolTask" resultType="cn.gistack.sm.patrol.vo.PatrolTaskVO">
SELECT
- spt.*,spt2.name as patrolTypeName,
- route.ROUTE_COORDINATES routeRange,
+ spt.id,
+ spt.start_time,
+ spt.end_time,
+ spt.to_user_id,
+ spt.state,
+ spt.create_time,
+ spt.project_id,
+ spt.reservoir_name,
+ spt.title,
+ spt.content,
+ spt.task_type,
+ spt.patrol_group_item_id,
+ spt.problem_count,
+ spt.report_problem_count,
+ spt.patrol_role,
+
+
+ spt2.name as patrolTypeName,
u.real_name toUserName,
u2.real_name createUserName,
- arb."res_loc" regionName
+ arb."res_loc" regionName,
+ arb."center_long" lon,
+ arb."center_lat" lat
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
LEFT JOIN blade_user u2 ON u2.id = spt.create_user
LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = spt.project_id
+
+ left join SJZT_MD."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
+ left join SJZT_MD."att_ad_base" aa on aab."p_ad_code" = aa."ad_code"
+ left join SJZT_MD."att_ad_base" ab on aa."p_ad_code" = ab."ad_code"
+ left join SJZT_MD."att_ad_base" ac on ab."p_ad_code" = ac."ad_code"
+
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') >= #{patrolTask.startTime}
+ AND spt.create_time >= #{patrolTask.startTime}
</if>
<if test="patrolTask.endTime !=null and patrolTask.endTime !=''">
- AND DATE_FORMAT(spt.end_time,'%Y-%m-%d') <= #{patrolTask.endTime}
+ AND spt.create_time <= #{patrolTask.endTime}
</if>
<if test="patrolTask.projectId !=null and patrolTask.projectId !='' ">
AND spt.project_id = #{patrolTask.projectId}
@@ -41,7 +64,97 @@
<if test="patrolTask.taskType != null and patrolTask.taskType !='' ">
AND spt.task_type = #{patrolTask.taskType}
</if>
+ <if test="patrolTask.adCode != null and patrolTask.adCode != '' ">
+ and concat(aab."ad_code",aa."ad_code",ab."ad_code",ac."ad_code") like CONCAT('%',#{patrolTask.adCode},'%')
+ </if>
</select>
+
+
+ <select id="selectPatrolTaskPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskVO">
+ select spt.*, spt2.name as patrolTypeName, route.ROUTE_COORDINATES as routeRange, u.real_name as toUserName, u2.real_name as createUserName , arb."res_loc" as regionName
+ from (
+ select * from ywxt.sm_patrol_task spt
+ 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 spt.create_time >= #{patrolTask.startTime}
+ </if>
+ <if test="patrolTask.endTime !=null and patrolTask.endTime !=''">
+ AND spt.create_time <= #{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.taskType != null and patrolTask.taskType !='' ">
+ AND spt.task_type = #{patrolTask.taskType}
+ </if>
+ limit ${current},${size} order by create_time desc
+ ) spt
+ left join ywxt.sm_patrol_type spt2 on spt.task_type = spt2.id
+ left join ywxt.sm_patrol_route route on route.id = spt.route_id
+ left join ywxt.blade_user u on u.id = spt.to_user_id
+ left join ywxt.blade_user u2 on u2.id = spt.create_user
+ left join SJZT_MD."att_res_base" arb on arb."guid" = spt.project_id
+ left join SJZT_MD."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
+ left join SJZT_MD."att_ad_base" aa on aab."p_ad_code" = aa."ad_code"
+ left join SJZT_MD."att_ad_base" ab on aa."p_ad_code" = ab."ad_code"
+ left join SJZT_MD."att_ad_base" ac on ab."p_ad_code" = ac."ad_code"
+ where 1=1
+ <if test="patrolTask.adCode != null and patrolTask.adCode != '' ">
+ and concat(aab."ad_code",aa."ad_code",ab."ad_code",ac."ad_code") like CONCAT('%',#{patrolTask.adCode},'%')
+ </if>
+
+ </select>
+
+ <select id="getPatrolTaskTotal" resultType="java.lang.Long">
+
+ select count(*) from ywxt.sm_patrol_task spt
+ left join SJZT_MD."att_res_base" arb on arb."guid" = spt.project_id
+ left join SJZT_MD."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
+ left join SJZT_MD."att_ad_base" aa on aab."p_ad_code" = aa."ad_code"
+ left join SJZT_MD."att_ad_base" ab on aa."p_ad_code" = ab."ad_code"
+ left join SJZT_MD."att_ad_base" ac on ab."p_ad_code" = ac."ad_code"
+ 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 spt.create_time >= #{patrolTask.startTime}
+ </if>
+ <if test="patrolTask.endTime !=null and patrolTask.endTime !=''">
+ AND spt.create_time <= #{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.taskType != null and patrolTask.taskType !='' ">
+ AND spt.task_type = #{patrolTask.taskType}
+ </if>
+ <if test="patrolTask.adCode != null and patrolTask.adCode != '' ">
+ and concat(aab."ad_code",aa."ad_code",ab."ad_code",ac."ad_code") like CONCAT('%',#{patrolTask.adCode},'%')
+ </if>
+ </select>
+
<!--获取全部-->
<select id="getAll" resultType="cn.gistack.sm.patrol.entity.PatrolTask">
SELECT
@@ -184,231 +297,241 @@
<select id="customizeGetById" resultType="cn.gistack.sm.patrol.vo.PatrolTaskVO">
SELECT
T.*,
- U.REAL_NAME AS toUserIdName
+ SPT.NAME AS taskTypeName,
+ U.REAL_NAME AS toUserIdName,
+ arb."center_long" lon ,arb."center_lat" lat
FROM SM_PATROL_TASK T
LEFT JOIN BLADE_USER U ON U.ID = T.TO_USER_ID
+ LEFT JOIN SM_PATROL_TYPE SPT ON SPT.ID = T.TASK_TYPE
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = T.project_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') >= #{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")
- ORDER BY aab."p_ad_code"
- ) A
- GROUP BY (a."p_ad_code",a."p_ad_name") order by a."p_ad_code"
+ <!--行政区统计分页-->
+ <select id="getRegionReportPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+ select * from (
+ select "ad_name" AS adName ,"guid" AS adCode,"ad_grad","order_id",date_format(#{patrolTaskReport.startTime},'%Y-%m-%d') AS startTime,date_format(#{patrolTaskReport.endTime},'%Y-%m-%d') AS endTime,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ left join SJZT_MD."att_res_base" a on (spt.project_id = a."guid")
+ left join SJZT_MD."att_ad_base" b on a."interior_ad_guid" = b."ad_code"
+ left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code"
+ left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_code"
+ where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
+ and spt.is_deleted = 0
+ <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+ AND spt.start_time >= #{patrolTaskReport.startTime}
+ </if>
+ <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+ AND spt.start_time <= #{patrolTaskReport.endTime}
+ </if>
+ ) need ,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ left join SJZT_MD."att_res_base" a on (spt.project_id = a."guid")
+ left join SJZT_MD."att_ad_base" b on a."interior_ad_guid" = b."ad_code"
+ left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code"
+ left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_code"
+ where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
+ and spt.is_deleted = 0 and spt.state = 3
+ <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+ AND spt.start_time >= #{patrolTaskReport.startTime}
+ </if>
+ <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+ AND spt.start_time <= #{patrolTaskReport.endTime}
+ </if>
+ ) finish ,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ left join SJZT_MD."att_res_base" a on (spt.project_id = a."guid")
+ left join SJZT_MD."att_ad_base" b on a."interior_ad_guid" = b."ad_code"
+ left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code"
+ left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_code"
+ where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
+ and spt.is_deleted = 0 and (spt.state = 1 or spt.state = 2)
+ <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+ AND spt.start_time >= #{patrolTaskReport.startTime}
+ </if>
+ <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+ AND spt.start_time <= #{patrolTaskReport.endTime}
+ </if>
+ ) todo ,
+ (
+ select count(*) from SJZT_MD."att_res_base" a
+ left join SJZT_MD."att_ad_base" b on a."interior_ad_guid" = b."ad_code"
+ left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code"
+ left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_code"
+ where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
+ ) res_count
+ from SJZT_MD."att_ad_base" aab where
+ <choose>
+ <when test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !='' ">
+ "p_ad_code" = #{patrolTaskReport.adCode}
+ </when>
+ <otherwise>
+ "ad_grad" = 2
+ </otherwise>
+ </choose>
+ )
+ where res_count >0 order by "order_id" asc
</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>
+
+ <!--行政区统计列表-->
+ <select id="getRegionReportList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
+ select * from (
+ select "ad_name" AS adName ,"guid" AS adCode,"order_id", #{patrolTaskReport.startTime} AS startTime,#{patrolTaskReport.endTime} AS endTime,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ left join SJZT_MD."att_res_base" a on (spt.project_id = a."guid")
+ left join SJZT_MD."att_ad_base" b on a."interior_ad_guid" = b."ad_code"
+ left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code"
+ left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_code"
+ where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
+ and spt.is_deleted = 0
<if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
- AND DATE_FORMAT(t.start_time,'%Y-%m-%d') >= #{patrolTaskReport.startTime}
+ AND spt.start_time >= #{patrolTaskReport.startTime}
</if>
<if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
- AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime}
+ AND spt.start_time <= #{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>
+ ) need ,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ left join SJZT_MD."att_res_base" a on (spt.project_id = a."guid")
+ left join SJZT_MD."att_ad_base" b on a."interior_ad_guid" = b."ad_code"
+ left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code"
+ left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_code"
+ where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
+ and spt.is_deleted = 0 and spt.state = 3
<if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
- AND DATE_FORMAT(t.start_time,'%Y-%m-%d') >= #{patrolTaskReport.startTime}
+ AND spt.start_time >= #{patrolTaskReport.startTime}
</if>
<if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
- AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime}
+ AND spt.start_time <= #{patrolTaskReport.endTime}
</if>
- GROUP BY (aab."ad_name",aab."guid")
- ORDER BY aab."guid"
+ ) finish ,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ left join SJZT_MD."att_res_base" a on (spt.project_id = a."guid")
+ left join SJZT_MD."att_ad_base" b on a."interior_ad_guid" = b."ad_code"
+ left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code"
+ left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_code"
+ where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
+ and spt.is_deleted = 0 and (spt.state = 1 or spt.state = 2)
+ <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+ AND spt.start_time >= #{patrolTaskReport.startTime}
+ </if>
+ <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+ AND spt.start_time <= #{patrolTaskReport.endTime}
+ </if>
+ ) todo ,
+ (
+ select count(*) from SJZT_MD."att_res_base" a
+ left join SJZT_MD."att_ad_base" b on a."interior_ad_guid" = b."ad_code"
+ left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code"
+ left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_code"
+ where (d."ad_code" = aab."guid" or c."ad_code" = aab."guid" or b."ad_code" = aab."guid" )
+ ) res_count
+ from SJZT_MD."att_ad_base" aab where
+ <choose>
+ <when test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !='' ">
+ "p_ad_code" = #{patrolTaskReport.adCode}
+ </when>
+ <otherwise>
+ "ad_grad" = 2
+ </otherwise>
+ </choose>
+ )
+ where res_count >0 order by "order_id" asc
</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>
+ arb."name" AS reservoirName,
+ arb."guid" AS reservoirId,
+ arb."interior_ad_guid" AS adCode,
+ aab."ad_name" AS adName,
+
+ date_format(#{patrolTaskReport.startTime},'%Y-%m-%d') AS startTime,
+ date_format(#{patrolTaskReport.endTime},'%Y-%m-%d') AS endTime,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ where arb."guid" = spt.project_id
+ and spt.is_deleted = 0
<if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
- AND DATE_FORMAT(t.start_time,'%Y-%m-%d') >= #{patrolTaskReport.startTime}
+ AND spt.start_time >= #{patrolTaskReport.startTime}
</if>
<if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
- AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime}
+ AND spt.start_time <= #{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'
+ ) need,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ where arb."guid" = spt.project_id
+ and spt.is_deleted = 0 and spt.state = 3
<if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
- AND DATE_FORMAT(t.start_time,'%Y-%m-%d') >= #{patrolTaskReport.startTime}
+ AND spt.start_time >= #{patrolTaskReport.startTime}
</if>
<if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
- AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime}
+ AND spt.start_time <= #{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"
+ ) finish,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ where arb."guid" = spt.project_id
+ and spt.is_deleted = 0 and (spt.state = 1 or spt.state =2)
+ <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
+ AND spt.start_time >= #{patrolTaskReport.startTime}
+ </if>
+ <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
+ AND spt.start_time <= #{patrolTaskReport.endTime}
+ </if>
+ ) todo
+ FROM SJZT_MD."att_res_base" arb
+ LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = arb."interior_ad_guid"
+ WHERE "is_deleted" = 0
+ <if test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !='' ">
+ AND arb."interior_ad_guid" = #{patrolTaskReport.adCode}
+ </if>
</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') >= #{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."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') >= #{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."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,
+ arb."guid" AS reservoirId,
+ arb."interior_ad_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}
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ where arb."guid" = spt.project_id
+ and spt.is_deleted = 0
+ ) need,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ where arb."guid" = spt.project_id
+ and spt.is_deleted = 0 and spt.state = 3
+ ) finish,
+ (
+ select count(*) from YWXT.SM_PATROL_TASK spt
+ where arb."guid" = spt.project_id
+ and spt.is_deleted = 0 and (spt.state = 1 or spt.state =2)
+ ) todo
+ FROM SJZT_MD."att_res_base" arb
+ LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = arb."interior_ad_guid"
+ WHERE "is_deleted" = 0
+ <if test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !='' ">
+ AND "interior_ad_guid" = #{patrolTaskReport.adCode}
</if>
<if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
AND DATE_FORMAT(t.start_time,'%Y-%m-%d') >= #{patrolTaskReport.startTime}
@@ -416,8 +539,6 @@
<if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime}
</if>
- GROUP BY (arb."guid",arb."name",aab."guid",aab."ad_name")
- ORDER BY arb."guid"
</select>
@@ -428,40 +549,305 @@
<!--水库巡查-->
<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
+ 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,
+ t.id,
+ (
+ CASE t.state
+ WHEN '1' THEN '未完成'
+ WHEN '2' THEN '进行中'
+ ELSE '已完成'
+ END
+ )stateName
+ FROM YWXT.SM_PATROL_TASK T
+ LEFT JOIN BLADE_USER u ON u.id = t.to_user_id
+ 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"
+ left join SJZT_MD."att_ad_base" aa on aab."p_ad_code" = aa."ad_code"
+ left join SJZT_MD."att_ad_base" ab on aa."p_ad_code" = ab."ad_code"
+ left join SJZT_MD."att_ad_base" ac on ab."p_ad_code" = ac."ad_code"
WHERE T.IS_DELETED = 0
<if test="patrolTaskReport.adCode !=null and patrolTaskReport.adCode !=''">
- AND aab."guid" LIKE CONCAT('%',#{patrolTaskReport.adCode},'%')
+ and (aab."ad_code" =#{patrolTaskReport.adCode} or aa."ad_code" = #{patrolTaskReport.adCode} or ab."ad_code" = #{patrolTaskReport.adCode} or ac."ad_code" = #{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}
+ AND t.start_time >= #{patrolTaskReport.startTime}
</if>
<if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
- AND DATE_FORMAT(t.start_time,'%Y-%m-%d') <= #{patrolTaskReport.endTime}
+ AND t.start_time <= #{patrolTaskReport.endTime}
</if>
<if test="patrolTaskReport.reservoirId !=null and patrolTaskReport.reservoirId !=''">
AND arb."guid" = #{patrolTaskReport.reservoirId}
</if>
+ <if test="patrolTaskReport.state != null and patrolTaskReport.state !='' ">
+ and t.state = #{patrolTaskReport.state}
+ </if>
+ </select>
+
+
+ <select id="getTaskStatusCount" resultType="cn.gistack.sm.patrol.vo.TaskStatusCount">
+
+ SELECT '未完成' AS name,'1' AS value , count(*) as taskCount FROM SM_PATROL_TASK T2
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = T2.project_id
+ LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code"
+ WHERE T2.state = 1 AND T2.IS_DELETED = 0
+ <if test="vo.adCode != null and vo.adCode != '' ">
+ and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
+ </if>
+ <if test="vo.startTime !=null and vo.startTime !=''">
+ AND T2.start_time >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND T2.end_time <= #{vo.endTime}
+ </if>
+ <if test="vo.reservoirName !=null and vo.reservoirName !='' ">
+ AND T2.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%')
+ </if>
+ UNION ALL
+ SELECT '进行中' AS name,'2' AS value , count(*) as taskCount FROM SM_PATROL_TASK T3
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = T3.project_id
+ LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code"
+ WHERE T3.state = 2 AND T3.IS_DELETED = 0
+ <if test="vo.adCode != null and vo.adCode != '' ">
+ and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
+ </if>
+ <if test="vo.startTime !=null and vo.startTime !=''">
+ AND T3.start_time >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND T3.end_time <= #{vo.endTime}
+ </if>
+ <if test="vo.reservoirName !=null and vo.reservoirName !='' ">
+ AND T3.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%')
+ </if>
+ UNION ALL
+ SELECT '已完成' AS name,'3' AS value , count(*) as taskCount FROM SM_PATROL_TASK T4
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = T4.project_id
+ LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code"
+ WHERE T4.state = 3 AND T4.IS_DELETED = 0
+ <if test="vo.adCode != null and vo.adCode != '' ">
+ and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
+ </if>
+ <if test="vo.startTime !=null and vo.startTime !=''">
+ AND T4.start_time >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND T4.end_time <= #{vo.endTime}
+ </if>
+ <if test="vo.reservoirName !=null and vo.reservoirName !='' ">
+ AND T4.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%')
+ </if>
+ UNION ALL
+ SELECT '全部' AS name,'' AS value , count(*) as taskCount
+ FROM SM_PATROL_TASK T1
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = T1.project_id
+ LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code"
+ WHERE T1.IS_DELETED = 0
+ <if test="vo.adCode != null and vo.adCode != '' ">
+ and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
+ </if>
+ <if test="vo.startTime !=null and vo.startTime !=''">
+ AND T1.start_time >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND T1.end_time <= #{vo.endTime}
+ </if>
+ <if test="vo.reservoirName !=null and vo.reservoirName !='' ">
+ AND T1.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%')
+ </if>
+ </select>
+
+ <select id="getTaskStatusCountByType" resultType="cn.gistack.sm.patrol.vo.TaskStatusCount">
+ SELECT
+ case when T.state = '1' then '未完成'
+ when t.state = '2' then '进行中'
+ when t.state = '3' then '已完成'
+ else null end as name,
+ T.STATE AS VALUE ,
+ count(*) as taskCount
+ FROM YWXT.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"
+ LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code"
+ WHERE T.IS_DELETED = '0'
+ <if test="type != null and type !=''">
+ and t.state = #{type}
+ </if>
+ <if test="vo.adCode != null and vo.adCode != '' ">
+ and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
+ </if>
+ <if test="vo.startTime !=null and vo.startTime !=''">
+ AND T.start_time >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND T.end_time <= #{vo.endTime}
+ </if>
+ <if test="vo.reservoirName !=null and vo.reservoirName !='' ">
+ AND T.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%')
+ </if>
+ GROUP BY T.STATE
+ </select>
+
+ <select id="getTaskStatusCountAll" resultType="cn.gistack.sm.patrol.vo.TaskStatusCount">
+ SELECT '全部' AS name,'' AS value , count(*) as taskCount
+ FROM SM_PATROL_TASK T1
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = T1.project_id
+ LEFT JOIN SJZT_MD."att_ad_base" aab ON aab."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code"
+ WHERE T1.IS_DELETED = 0
+ <if test="vo.adCode != null and vo.adCode != '' ">
+ and (aab."ad_code" = #{vo.adCode} or aa."ad_code" = #{vo.adCode} or ab."ad_code" = #{vo.adCode} or ac."ad_code" = #{vo.adCode})
+ </if>
+ <if test="vo.startTime !=null and vo.startTime !=''">
+ AND T1.start_time >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND T1.end_time <= #{vo.endTime}
+ </if>
+ <if test="vo.reservoirName !=null and vo.reservoirName !='' ">
+ AND T1.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%')
+ </if>
+ </select>
+
+
+ <select id="getTaskTypeCount" resultType="cn.gistack.sm.patrol.vo.TaskStatusCount">
+
+ SELECT
+ SPT.NAME AS NAME,SPT.ID AS VALUE, ifnull(A.NUM,0) AS TaskCount
+ FROM SM_PATROL_TYPE SPT
+ LEFT JOIN (
+ SELECT T.TASK_TYPE, COUNT(*) AS NUM 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"
+ LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code"
+ WHERE T.IS_DELETED = 0
+ <if test="vo.adCode != null and vo.adCode != '' ">
+ and concat(aab."ad_code",aa."ad_code",ab."ad_code",ac."ad_code") like CONCAT('%',#{vo.adCode},'%')
+ </if>
+ <if test="vo.startTime !=null and vo.startTime !=''">
+ AND T.create_time >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND T.create_time <= #{vo.endTime}
+ </if>
+ <if test="vo.reservoirName !=null and vo.reservoirName !='' ">
+ AND T.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%')
+ </if>
+ <if test="vo.state != null and vo.state !=''">
+ and T.state = #{vo.state}
+ </if>
+ GROUP BY T.TASK_TYPE
+ ) A ON A.task_type = spt.id
+ WHERE SPT.IS_DELETED = 0
+ </select>
+ <select id="getTaskStatus" resultType="cn.gistack.sm.patrol.vo.TaskStatus">
+ SELECT
+ count(*) as total,
+ sum(case when t.state = '1' then 1 else 0 end) unfinished,
+ sum(case when t.state = '2' then 1 else 0 end) processing,
+ sum(case when t.state = '3' then 1 else 0 end) finished
+ FROM YWXT.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"
+ LEFT JOIN SJZT_MD."att_ad_base" aa ON aab."p_ad_code" = aa."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ab ON aa."p_ad_code" = ab."ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" ac ON ab."p_ad_code" = ac."ad_code"
+ WHERE T.IS_DELETED = 0
+ <if test="vo.adCode != null and vo.adCode != '' ">
+ and concat(aab."ad_code",aa."ad_code",ab."ad_code",ac."ad_code") like CONCAT('%',#{vo.adCode},'%')
+ </if>
+ <if test="vo.startTime !=null and vo.startTime !=''">
+ AND T.create_time >= #{vo.startTime}
+ </if>
+ <if test="vo.endTime !=null and vo.endTime !=''">
+ AND T.create_time <= #{vo.endTime}
+ </if>
+ <if test="vo.reservoirName !=null and vo.reservoirName !='' ">
+ AND T.reservoir_name LIKE CONCAT('%',#{vo.reservoirName},'%')
+ </if>
+ </select>
+
+ <resultMap id="item" type="cn.gistack.sm.patrol.entity.PatrolGroupItem">
+ <result property="id" column="itemId"/>
+ <result property="itemsName" column="itemsName"/>
+ <result property="groupId" column="groupId"/>
+ <result property="description" column="description"/>
+ </resultMap>
+
+ <resultMap id="groupDTO" type="cn.gistack.sm.patrol.dto.PatrolGroupDTOS">
+ <id property="id" column="groupId"/>
+ <result property="name" column="groupName"/>
+ <collection property="itemList" resultMap="item"/>
+ </resultMap>
+
+ <resultMap id="taskDTO" type="cn.gistack.sm.patrol.dto.PatrolTaskDTO">
+ <id property="id" column="taskId"/>
+ <result property="projectId" column="projectId"/>
+ <result property="state" column="state"/>
+ <result property="title" column="title"/>
+ <result property="content" column="content"/>
+ <collection property="groupList" resultMap="groupDTO"/>
+ </resultMap>
+
+ <select id="getTaskDTO" resultMap="taskDTO">
+ SELECT
+ task.id as taskId,
+ task.project_id as projectId,
+ task.state as state,
+ task.title as title,
+ task.content as content,
+
+ spg.id as groupId,
+ spg.name as groupName,
+
+ spgi.id as itemId,
+ spgi.items_name as itemsName,
+ spgi.description as description
+ FROM YWXT.SM_PATROL_TASK TASK
+ LEFT JOIN SM_PATROL_GROUP_ITEM SPGI ON task.patrol_group_item_id like CONCAT('%',spgi.id,'%')
+ LEFT JOIN SM_PATROL_GROUP SPG ON SPG.ID = SPGI.GROUP_ID
+ WHERE task.is_deleted = 0 and TASK.ID = #{taskId}
+ </select>
+
+ <select id="getMyTask" resultType="cn.gistack.sm.patrol.entity.PatrolTask">
+ SELECT
+ id,title,project_id,content,state,to_user_id,real_end_time
+
+ from sm_patrol_task spt
+ where spt.is_deleted = 0
+ <if test="patrolTask.toUserId != null and patrolTask.toUserId != ''">
+ AND spt.to_user_id LIKE CONCAT('%',#{patrolTask.toUserId},'%')
+ </if>
+ <if test="patrolTask.state != null and patrolTask.state != ''">
+ AND spt.state = #{patrolTask.state}
+ </if>
+ order by spt.create_time desc
</select>
--
Gitblit v1.9.3