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/service/IPatrolTaskService.java | 4
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java | 24 +++++-
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskReport.java | 17 ++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml | 119 ++++++++++++++++++++++++-----
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java | 45 ++++++++--
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java | 16 +++
6 files changed, 183 insertions(+), 42 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
index 4418e5e..4e14d8e 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
@@ -290,9 +290,19 @@
*/
@PostMapping("getTaskReport")
@ApiOperation(value = "巡查任务报表")
- public R getTaskReport(@RequestBody PatrolTaskReport patrolTaskReport) {
- List<PatrolTaskReport> list = patrolTaskService.getTaskReport(patrolTaskReport);
- return R.data(list);
+ public R getTaskReport( PatrolTaskReport patrolTaskReport , Query query) {
+ IPage<PatrolTaskReport> pageList = patrolTaskService.getTaskReport(Condition.getPage(query),patrolTaskReport);
+ return R.data(pageList);
+ }
+
+ /**
+ * 巡查任务报表
+ */
+ @PostMapping("getTaskReportDetail")
+ @ApiOperation(value = "巡查任务报表")
+ public R getTaskReportDetail( PatrolTaskReport patrolTaskReport , Query query) {
+ IPage<PatrolTaskReport> pageList = patrolTaskService.getTaskReportDetail(Condition.getPage(query),patrolTaskReport);
+ return R.data(pageList);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java
index 7d250fb..5866db7 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java
@@ -58,16 +58,32 @@
PatrolTask customizeGetById(@Param("id") String id);
/**
- * 巡查报表,获取区域
+ * 巡查报表,市拿区
* @param patrolTaskReport
* @return
*/
- List<PatrolTaskReport> getTaskReportRegion(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
+ List<PatrolTaskReport> getTaskReportRegion(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
/**
- * 巡查报表,获取水库
+ * 巡查报表,区拿水库
* @param patrolTaskReport
* @return
*/
- List<PatrolTaskReport> getTaskReportReservoir(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
+ List<PatrolTaskReport> getTaskReportReservoir(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
+
+ /**
+ * 巡查报表,省拿市
+ * @param page
+ * @param patrolTaskReport
+ * @return
+ */
+ List<PatrolTaskReport> getTaskReportProvince(IPage<PatrolTaskReport> page,@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
+
+ /**
+ * 巡查报表详情 获取行政区下的水库
+ * @param page
+ * @param patrolTaskReport
+ * @return
+ */
+ List<PatrolTaskReport> getTaskReportDetailRegion(IPage<PatrolTaskReport> page,@Param("patrolTaskReport")PatrolTaskReport patrolTaskReport);
}
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>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java
index 58d2216..9f74dee 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java
@@ -71,5 +71,7 @@
* @param patrolTaskReport
* @return
*/
- List<PatrolTaskReport> getTaskReport(PatrolTaskReport patrolTaskReport);
+ IPage<PatrolTaskReport> getTaskReport(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport);
+
+ IPage<PatrolTaskReport> getTaskReportDetail(IPage<PatrolTaskReport> page, PatrolTaskReport patrolTaskReport);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
index c25a0bd..ff86cf0 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -33,10 +33,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.net.http.HttpRequest;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX;
@@ -212,14 +209,40 @@
}
@Override
- public List<PatrolTaskReport> getTaskReport(PatrolTaskReport patrolTaskReport) {
-
- if (Func.equals(patrolTaskReport.getRegionFlag(),"2")){
- return baseMapper.getTaskReportReservoir(patrolTaskReport);
- }else {
- return baseMapper.getTaskReportRegion(patrolTaskReport);
-
+ public IPage<PatrolTaskReport> getTaskReport(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport) {
+ List<PatrolTaskReport> list = new ArrayList();
+ if (Func.equals(patrolTaskReport.getRegionFlag(),"0")){
+ //省 返回市
+ list = baseMapper.getTaskReportProvince(page,patrolTaskReport);
+ }else if (Func.equals(patrolTaskReport.getRegionFlag(),"1")){
+ //市 返回区
+ list = baseMapper.getTaskReportRegion(page,patrolTaskReport);
+ }else if (Func.equals(patrolTaskReport.getRegionFlag(),"2")){
+ //区 返回水库
+ list = baseMapper.getTaskReportReservoir(page,patrolTaskReport);
}
+ return page.setRecords(list);
+ }
+
+ @Override
+ public IPage<PatrolTaskReport> getTaskReportDetail(IPage<PatrolTaskReport> page, PatrolTaskReport patrolTaskReport) {
+
+ List<PatrolTaskReport> list = new ArrayList();
+ if (Func.isNotEmpty(patrolTaskReport.getReservoirId())){
+ //获取该水库的巡查
+ list = baseMapper.getTaskReportDetailRegion(page,patrolTaskReport);
+ }else {
+ String code = patrolTaskReport.getAdCode();
+ if (code.substring(0,4).indexOf("00") > -1) {
+ //前4位包含00 =》省
+ patrolTaskReport.setAdCode(code.substring(0,2));
+ } else if (code.substring(0,6).indexOf("00") > -1) {
+ //前六位包含00 =》市
+ patrolTaskReport.setAdCode(code.substring(0,4));
+ }
+ list = baseMapper.getTaskReportDetailRegion(page,patrolTaskReport);
+ }
+ return page.setRecords(list);
}
public void saveReport(PatrolTask patrolTask){
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskReport.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskReport.java
index 6b1eb7d..34dfd80 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskReport.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskReport.java
@@ -59,7 +59,7 @@
private String todo;
/**
- * 0、省;1、市;2、区
+ * 0、省;1、市;2、区 3、水库
*/
private String regionFlag;
@@ -72,4 +72,19 @@
* 结束时间
*/
private String endTime;
+
+ /**
+ * 巡查责任人名字
+ */
+ private String patrolUserName;
+
+ /**
+ * 任务状态名
+ */
+ private String stateName;
+ /**
+ * 任务状态
+ */
+ private String state;
+
}
--
Gitblit v1.9.3