From b176ddd3a9acdd1eef2e7eb9c0cef5fa620334b4 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 12 Jul 2023 16:03:53 +0800
Subject: [PATCH] 巡查逻辑修改

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java |   83 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 77 insertions(+), 6 deletions(-)

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 00a5245..88cf7bd 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
@@ -15,6 +15,7 @@
 import cn.gistack.sm.patrol.util.EnhancementServicesTool;
 import cn.gistack.sm.patrol.util.IdWorker;
 import cn.gistack.sm.patrol.vo.BladeFlowTask;
+import cn.gistack.sm.patrol.vo.PatrolTaskReport;
 import cn.gistack.sm.patrol.vo.PatrolTaskVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
@@ -32,16 +33,14 @@
 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;
 
 @Service
 @AllArgsConstructor
+@Transactional(rollbackFor = Exception.class)
 public class PatrolTaskServiceImpl extends BaseServiceImpl<PatrolTaskMapper, PatrolTask> implements IPatrolTaskService {
 	private final IFlowClient flowClient;
 	private final IPatrolRecordService patrolRecordService;
@@ -155,8 +154,11 @@
 			variables.put("taskUser",StringUtil.format("{}{}", TASK_USR_PREFIX, taskUser));
 			// 完成任务
 			flowClient.completeTask(taskId,processInstanceId,comment,variables);
-			saveReport(patrolTask);
+			//保存巡查记录
 			patrolRecordService.saveBatch(patrolTask.getPatrolRecordList());
+			//保存上报
+			//停用
+//			saveReport(patrolTask);
 			return baseMapper.updateById(patrolTask) >0;
 		}else {
 			return  false;
@@ -201,7 +203,7 @@
 	}
 
 	@Override
-	public PatrolTask customizeGetById(String businessId) {
+	public PatrolTaskVO customizeGetById(String businessId) {
 		return baseMapper.customizeGetById(businessId);
 	}
 
@@ -210,6 +212,75 @@
 		return baseMapper.getAll(patrolTaskVO);
 	}
 
+	@Override
+	public IPage<PatrolTaskReport> getTaskReportPage(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport) {
+		List<PatrolTaskReport> list = new ArrayList();
+
+		switch (patrolTaskReport.getRegionFlag()){
+			case "1": //省  获取市级数据
+				list = baseMapper.getCityReportPage(page,patrolTaskReport);
+				break;
+			case "2"://市   获取区县级数据
+				list = baseMapper.getCountyReportPage(page,patrolTaskReport);
+				break;
+			case "3"://区县 获取乡镇级数据
+				list = baseMapper.getTownReportPage(page,patrolTaskReport);
+				break;
+			case "4"://乡镇  获取水库数据
+				list = baseMapper.getReservoirReportPage(page,patrolTaskReport);
+				break;
+			default:
+				break;
+		}
+		return page.setRecords(list);
+	}
+
+	@Override
+	public List<PatrolTaskReport> getTaskReportList(PatrolTaskReport patrolTaskReport) {
+		List<PatrolTaskReport> list = new ArrayList();
+
+		switch (patrolTaskReport.getRegionFlag()){
+			case "1": //省  获取市级数据
+				list = baseMapper.getCityReportList(patrolTaskReport);
+				break;
+			case "2"://市   获取区县级数据
+				list = baseMapper.getCountyReportList(patrolTaskReport);
+				break;
+			case "3"://区县 获取乡镇级数据
+				list = baseMapper.getTownReportList(patrolTaskReport);
+				break;
+			case "4"://乡镇  获取水库数据
+				list = baseMapper.getReservoirReportList(patrolTaskReport);
+				break;
+			default:
+				break;
+		}
+		return 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);
+	}
+
+
+	@Transactional(rollbackFor = Exception.class)
 	public void saveReport(PatrolTask patrolTask){
 		//拿到当前任务下的异常巡查记录
 		PatrolRecord patrolRecord = new PatrolRecord();

--
Gitblit v1.9.3