From 15601bee826ae306649c50d88dfa4f8416c8aa94 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 07 Feb 2024 10:19:10 +0800
Subject: [PATCH] 任务列表接口优化

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java |  142 ++++++++++++++++++++++++++++------------------
 1 files changed, 86 insertions(+), 56 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 88cf7bd..0db7c54 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
@@ -5,6 +5,7 @@
 import cn.gistack.flow.core.feign.IFlowClient;
 import cn.gistack.flow.core.utils.FlowUtil;
 import cn.gistack.flow.core.utils.TaskUtil;
+import cn.gistack.nky.fegin.INkyClient;
 import cn.gistack.sm.patrol.entity.PatrolRecord;
 import cn.gistack.sm.patrol.entity.PatrolReport;
 import cn.gistack.sm.patrol.entity.PatrolTask;
@@ -14,9 +15,8 @@
 import cn.gistack.sm.patrol.service.IPatrolTaskService;
 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 cn.gistack.sm.patrol.vo.*;
+import cn.gistack.sm.sjztmd.service.IYwTermitesTaskService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import org.springblade.core.log.exception.ServiceException;
@@ -25,16 +25,12 @@
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.support.Kv;
-import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.StringUtil;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.net.http.HttpRequest;
 import java.util.*;
-import java.util.stream.Collectors;
 
 import static org.springblade.core.launch.constant.FlowConstant.TASK_USR_PREFIX;
 
@@ -45,6 +41,8 @@
 	private final IFlowClient flowClient;
 	private final IPatrolRecordService patrolRecordService;
 	private final IPatrolReportService patrolReportService;
+	private final INkyClient nkyClient;
+	private final IYwTermitesTaskService waterDataTermitesService;
 
 	/**
 	 * 自定义分页查询
@@ -54,8 +52,14 @@
 	 */
 	@Override
 	public IPage<PatrolTaskVO> selectPatrolTask(IPage<PatrolTaskVO> page, PatrolTaskVO patrolTask) {
-		List<PatrolTaskVO> patrolTaskList = baseMapper.selectPatrolTask(page, patrolTask);
-		return page.setRecords(patrolTaskList);
+//		List<PatrolTaskVO> patrolTaskList = baseMapper.selectPatrolTask(page, patrolTask);
+
+		List<PatrolTaskVO> patrolTaskList = baseMapper.selectPatrolTaskPage(page.getCurrent()-1,page.getSize(),patrolTask);
+		long total = baseMapper.getPatrolTaskTotal(patrolTask);
+		page.setRecords(patrolTaskList);
+		page.setTotal(total);
+
+		return page;
 	}
 
 	/**
@@ -112,7 +116,7 @@
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean startProcess(PatrolTask patrolTask) {
+	public PatrolTask startProcess(PatrolTask patrolTask) {
 		String businessTable = FlowUtil.getBusinessTable(ProcessConstant.PATROL_KEY);
 		if (Func.isEmpty(patrolTask.getId())) {
 			save(patrolTask);
@@ -132,7 +136,7 @@
 		} else {
 			updateById(patrolTask);
 		}
-		return true;
+		return patrolTask;
 	}
 
 	@Override
@@ -159,6 +163,15 @@
 			//保存上报
 			//停用
 //			saveReport(patrolTask);
+
+
+			//查监测预警表,看是否有这个任务,有的话修改任务状态
+			Boolean finishDamTask = nkyClient.finishTask(patrolTask.getId().toString());
+			if (!finishDamTask){
+				//查白蚁表,看是否有这个任务,有的话修改任务状态
+				Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTask.getId().toString());
+			}
+
 			return baseMapper.updateById(patrolTask) >0;
 		}else {
 			return  false;
@@ -214,23 +227,14 @@
 
 	@Override
 	public IPage<PatrolTaskReport> getTaskReportPage(IPage<PatrolTaskReport> page,PatrolTaskReport patrolTaskReport) {
-		List<PatrolTaskReport> list = new ArrayList();
+		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;
+		//获取行政区划统计报表
+		if (patrolTaskReport.getRegionFlag().equals("1")){
+			list = baseMapper.getRegionReportPage(page,patrolTaskReport);
+		}else {
+			//获取水库巡查报表
+			list = baseMapper.getReservoirReportPage(page,patrolTaskReport);
 		}
 		return page.setRecords(list);
 	}
@@ -239,43 +243,69 @@
 	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;
+		//获取行政区划统计报表
+		if (patrolTaskReport.getRegionFlag().equals("1")){
+			list = baseMapper.getRegionReportList(patrolTaskReport);
+		}else {
+			//获取水库巡查报表
+			list = baseMapper.getReservoirReportList(patrolTaskReport);
 		}
 		return list;
+	}
+
+	@Override
+	public List<TaskStatusCount> getTaskStatusCount(PatrolTaskVO patrolTaskVO) {
+		return baseMapper.getTaskStatusCount(patrolTaskVO);
+	}
+
+	@Override
+	public List<TaskStatusCount> getTaskStatusCountOptimize(PatrolTaskVO patrolTaskVO) {
+		List<TaskStatusCount> list = new ArrayList<>();
+//		TaskStatusCount all = baseMapper.getTaskStatusCountAll(patrolTaskVO);
+//
+//		TaskStatusCount unfinished = baseMapper.getTaskStatusCountByType(patrolTaskVO,"1");
+//		TaskStatusCount processing = baseMapper.getTaskStatusCountByType(patrolTaskVO,"2");
+//		TaskStatusCount finished = baseMapper.getTaskStatusCountByType(patrolTaskVO,"3");
+//
+//		list.add(unfinished);
+//		list.add(processing);
+//		list.add(finished);
+//		list.add(all);
+
+		TaskStatus taskStatus = baseMapper.getTaskStatus(patrolTaskVO);
+
+		TaskStatusCount unfinished = new TaskStatusCount("未完成","1",taskStatus.getUnfinished());
+		TaskStatusCount processing = new TaskStatusCount("进行中","2",taskStatus.getProcessing());
+		TaskStatusCount finished = new TaskStatusCount("已完成","3",taskStatus.getFinished());
+		TaskStatusCount all = new TaskStatusCount("全部","",taskStatus.getTotal());
+
+		list.add(unfinished);
+		list.add(processing);
+		list.add(finished);
+		list.add(all);
+		return list;
+	}
+
+	@Override
+	public TaskStatus getTaskStatus(PatrolTaskVO patrolTaskVO) {
+
+		TaskStatus taskStatus = baseMapper.getTaskStatus(patrolTaskVO);
+
+		return taskStatus;
+	}
+
+	@Override
+	public List<TaskStatusCount> getTaskTypeCount(PatrolTaskVO patrolTaskVO) {
+		return baseMapper.getTaskTypeCount(patrolTaskVO);
 	}
 
 	@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);
-		}
+
+		list = baseMapper.getTaskReportDetailRegion(page,patrolTaskReport);
+
 		return page.setRecords(list);
 	}
 

--
Gitblit v1.9.3