From f04487fef5ac47380dfa9670156743c9d273966b Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Sat, 23 Mar 2024 15:54:40 +0800
Subject: [PATCH] 巡查修改

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java |  403 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 262 insertions(+), 141 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 870636e..e64da81 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
@@ -1,174 +1,169 @@
 package cn.gistack.sm.patrol.controller;
 
-import cn.gistack.flow.core.entity.BladeFlow;
 import cn.gistack.flow.core.feign.IFlowClient;
 import cn.gistack.flow.core.vo.BladeFlowVO;
-import cn.gistack.sm.patrol.entity.PatrolReport;
-import cn.gistack.sm.patrol.entity.PatrolTask;
+import cn.gistack.sm.patrol.params.PersonHandleParams;
+import cn.gistack.sm.patrol.dto.PatrolTaskDTO;
 import cn.gistack.sm.patrol.entity.PatrolTask;
 import cn.gistack.sm.patrol.service.IPatrolTaskService;
-import cn.gistack.sm.patrol.vo.BladeFlowPage;
-import cn.gistack.sm.patrol.vo.BladeFlowTask;
-import cn.gistack.sm.patrol.vo.PatrolTaskVO;
+import cn.gistack.sm.patrol.vo.*;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.ibatis.annotations.Param;
-import org.redisson.executor.TasksService;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
-import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.*;
 
-import javax.sound.midi.Soundbank;
-import java.net.http.HttpRequest;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
 /**
-* @Description: 巡查任务
-*/
+ * @Description: 巡查任务
+ */
 @Slf4j
-@Api(tags="巡查任务")
+@Api(tags = "巡查任务")
 @RestController
 @RequestMapping("/patrol/patrolTask")
 @AllArgsConstructor
 public class PatrolTaskController extends BladeController {
-   private IPatrolTaskService patrolTaskService;
-   private IFlowClient flowClient;
+	private IPatrolTaskService patrolTaskService;
+	private IFlowClient flowClient;
 
-   /**
-    * 分页列表查询
-    * @return
-    */
-   @ApiOperation(value="巡查任务-分页列表查询", notes="巡查任务-分页列表查询")
-   @GetMapping(value = "/list")
-   public R queryPageList(PatrolTaskVO patrolTask, Query query) {
-       IPage<PatrolTaskVO> pageList = patrolTaskService.selectPatrolTask(Condition.getPage(query),patrolTask);
+	/**
+	 * 分页列表查询
+	 *
+	 * @return
+	 */
+	@ApiOperation(value = "巡查任务-分页列表查询", notes = "巡查任务-分页列表查询")
+	@GetMapping(value = "/list")
+	public R queryPageList(PatrolTaskVO patrolTask, Query query) {
+		IPage<PatrolTaskVO> pageList = patrolTaskService.selectPatrolTask(Condition.getPage(query), patrolTask);
 //		IPage<PatrolTask> pageList = patrolTaskService.page(Condition.getPage(query), Condition.getQueryWrapper(PatrolTask));
-       return R.data(pageList);
-   }
+		return R.data(pageList);
+	}
 
-    /**
-     * 获取所有巡查任务
-     */
-    @ApiOperation(value="获取所有巡查任务", notes="获取所有巡查任务")
-    @GetMapping(value = "/all")
-   public R getAll(PatrolTaskVO patrolTaskVO){
-       List<PatrolTask> list = patrolTaskService.getAll(patrolTaskVO);
+	/**
+	 * 获取所有巡查任务
+	 */
+	@ApiOperation(value = "获取所有巡查任务", notes = "获取所有巡查任务")
+	@GetMapping(value = "/all")
+	public R getAll(PatrolTaskVO patrolTaskVO) {
+		List<PatrolTask> list = patrolTaskService.getAll(patrolTaskVO);
 		return R.data(list);
-   }
+	}
 
-   /**
-    * 添加
-    */
-   @ApiOperation(value="巡查任务-添加", notes="巡查任务-添加")
-   @PostMapping(value = "/add")
-   public R add(@RequestBody PatrolTask patrolTask) {
-       return R.data(patrolTaskService.save(patrolTask));
-   }
+	/**
+	 * 添加
+	 */
+	@ApiOperation(value = "巡查任务-添加", notes = "巡查任务-添加")
+	@PostMapping(value = "/add")
+	public R add(@RequestBody PatrolTask patrolTask) {
+		return R.data(patrolTaskService.save(patrolTask));
+	}
 
 
 	/**
 	 * 自定义添加
+	 *
 	 * @param patrolTask
 	 * @return
 	 */
-	@ApiOperation(value="巡查任务-自定义添加", notes="巡查任务-自定义添加")
+	@ApiOperation(value = "巡查任务-自定义添加", notes = "巡查任务-自定义添加")
 	@PostMapping(value = "/save")
 	public R save(@RequestBody PatrolTask patrolTask) {
 		return R.data(patrolTaskService.savePatrolTask(patrolTask));
 	}
 
-   /**
-    * 编辑
-    * @return
-    */
-   @ApiOperation(value="巡查任务-编辑", notes="巡查任务-编辑")
-   @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-   public R edit(@RequestBody PatrolTask patrolTask) {
-       return R.data(patrolTaskService.updateById(patrolTask));
-   }
+	/**
+	 * 编辑
+	 *
+	 * @return
+	 */
+	@ApiOperation(value = "巡查任务-编辑", notes = "巡查任务-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+	public R edit(@RequestBody PatrolTask patrolTask) {
+		return R.data(patrolTaskService.updateById(patrolTask));
+	}
 
 
-   /**
-    * 自定义编辑(空间坐标编辑)
-	* @param patrolTask
-    * @return
-    */
-   @ApiOperation(value="巡查任务-自定义编辑", notes="巡查任务-自定义编辑")
-   @RequestMapping(value = "/update", method = {RequestMethod.PUT,RequestMethod.POST})
-   public R update(@RequestBody PatrolTask patrolTask) {
-       return R.data(patrolTaskService.updatePatrolTask(patrolTask));
-   }
+	/**
+	 * 自定义编辑(空间坐标编辑)
+	 *
+	 * @param patrolTask
+	 * @return
+	 */
+	@ApiOperation(value = "巡查任务-自定义编辑", notes = "巡查任务-自定义编辑")
+	@RequestMapping(value = "/update", method = {RequestMethod.PUT, RequestMethod.POST})
+	public R update(@RequestBody PatrolTask patrolTask) {
+		return R.data(patrolTaskService.updatePatrolTask(patrolTask));
+	}
 
-   /**
-    * 通过id删除
-    *
-    * @param id
-    * @return
-    */
-   @ApiOperation(value="巡查任务-通过id删除", notes="巡查任务-通过id删除")
-   @DeleteMapping(value = "/delete")
-   public R delete(@RequestParam(name="id",required=true) String id) {
-       return R.data(patrolTaskService.removeById(id));
-   }
+	/**
+	 * 通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value = "巡查任务-通过id删除", notes = "巡查任务-通过id删除")
+	@PostMapping(value = "/delete")
+	public R delete(@RequestParam(name = "id", required = true) String id) {
+		return R.data(patrolTaskService.removeById(id));
+	}
 
-   /**
-    * 批量删除
-    *
-    * @param ids
-    * @return
-    */
-   @ApiOperation(value="巡查任务-批量删除", notes="巡查任务-批量删除")
-   @DeleteMapping(value = "/deleteBatch")
-   public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-       return R.data(patrolTaskService.removeByIds(Arrays.asList(ids.split(","))));
-   }
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@ApiOperation(value = "巡查任务-批量删除", notes = "巡查任务-批量删除")
+	@PostMapping(value = "/deleteBatch")
+	public R deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+		return R.data(patrolTaskService.removeByIds(Arrays.asList(ids.split(","))));
+	}
 
-   /**
-    * 通过id查询
-    *
-    * @param id
-    * @return
-    */
-   @ApiOperation(value="巡查任务-通过id查询", notes="巡查任务-通过id查询")
-   @GetMapping(value = "/queryById")
-   public R queryById(@RequestParam(name="id",required=true) String id) {
-       PatrolTask PatrolTask = patrolTaskService.getById(id);
-       return R.data(PatrolTask);
-   }
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value = "巡查任务-通过id查询", notes = "巡查任务-通过id查询")
+	@GetMapping(value = "/queryById")
+	public R queryById(@RequestParam(name = "id", required = true) String id) {
+		PatrolTask PatrolTask = patrolTaskService.getById(id);
+		return R.data(PatrolTask);
+	}
 
 
 	/**
 	 * 自定义通过id查询
+	 *
 	 * @param id
 	 * @return
 	 */
-	@ApiOperation(value="巡查任务-自定义通过id查询", notes="巡查任务-自定义通过id查询")
+	@ApiOperation(value = "巡查任务-自定义通过id查询", notes = "巡查任务-自定义通过id查询")
 	@GetMapping(value = "/getPatrolTaskById")
-	public R getPatrolTaskById(@RequestParam(name="id",required=true) String id) {
-		PatrolTask PatrolTask = patrolTaskService.getPatrolTaskById(id);
+	public R getPatrolTaskById(@RequestParam(name = "id", required = true) String id) {
+		PatrolTask PatrolTask = patrolTaskService.customizeGetById(id);
 		return R.data(PatrolTask);
 	}
 
 
 	/**
 	 * 查询巡查人员统计数据信息
+	 *
 	 * @param patrolTask
 	 * @return
 	 */
-	@ApiOperation(value="查询巡查人员统计数据信息", notes="查询巡查人员统计数据信息")
+	@ApiOperation(value = "查询巡查人员统计数据信息", notes = "查询巡查人员统计数据信息")
 	@GetMapping(value = "/getPatrolTaskStatistic")
 	public R getPatrolTaskStatistic(PatrolTaskVO patrolTask) {
 		return R.data(patrolTaskService.getPatrolTaskStatistic(patrolTask));
@@ -182,7 +177,7 @@
 	 */
 	@PostMapping("start-process")
 	public R startProcess(@RequestBody PatrolTask patrolTask) {
-		return R.status(patrolTaskService.startProcess(patrolTask));
+		return R.data(patrolTaskService.startProcess(patrolTask));
 	}
 
 	/**
@@ -191,7 +186,7 @@
 	@PostMapping("patrol-complete-task")
 	@ApiOperation(value = "完成任务", notes = "传入流程信息")
 	public R completeTask(@RequestBody PatrolTaskVO patrolTaskVO) {
-		return R.status(patrolTaskService.patrolCompleteTask(patrolTaskVO,patrolTaskVO.getCurrentUserId(),patrolTaskVO.getTaskUser()));
+		return R.status(patrolTaskService.patrolCompleteTask(patrolTaskVO, patrolTaskVO.getCurrentUserId(), patrolTaskVO.getTaskUser()));
 	}
 
 	/**
@@ -204,6 +199,18 @@
 	}
 
 	/**
+	 * 汛期、白蚁、大坝 责任人完成任务
+	 */
+	@PostMapping("person-complete-task")
+	@ApiOperation(value = "完成任务", notes = "传入流程信息")
+	public R personCompleteTask(@RequestBody PatrolTaskVO patrolTaskVO) {
+		return R.status(patrolTaskService.personCompleteTask(patrolTaskVO, patrolTaskVO.getCurrentUserId(), patrolTaskVO.getTaskUser()));
+	}
+
+
+
+
+	/**
 	 * 查询待办
 	 *
 	 * @param patrolTask 任务
@@ -211,34 +218,35 @@
 	@PostMapping("patrol-todo-list")
 	@ApiOperation(value = "查询待办")
 	public R patrolTodoList(PatrolTaskVO patrolTask, Query query) {
-		BladeFlow bladeFlow2 = new BladeFlow();
-		//设置流程类型
-		bladeFlow2.setCategory("flow_3");
-		R<BladeFlowPage> res = flowClient.getTodoBladeFlowList(query.getSize(),query.getCurrent(),patrolTask.getCurrentUserId(), bladeFlow2);
-		IPage<PatrolTask> patrolTaskIPage = new Page<>();
-		List<PatrolTask> patrolTaskList = new ArrayList<>();
-
-		if (res.isSuccess()){
-			List<Object> data = res.getData().getData();
-			data.forEach(obj -> {
-				BladeFlow bladeFlow = JSON.parseObject(JSON.toJSONString(obj),BladeFlow.class);
-				PatrolTask byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
-				if (byId != null){
-					byId.setFlow(bladeFlow);
-					patrolTaskList.add(byId);
-				}
-			});
-		}
-		//设置数据集
-		patrolTaskIPage.setRecords(patrolTaskList);
-		//设置当前页
-		patrolTaskIPage.setCurrent(res.getData().getCurrent());
-		//设置页数
-		patrolTaskIPage.setSize(res.getData().getSize());
-		//设置总数
-		patrolTaskIPage.setTotal(res.getData().getTotal());
-
-		return R.data(patrolTaskIPage);
+//		BladeFlow bladeFlow2 = new BladeFlow();
+//		//设置流程类型
+//		bladeFlow2.setCategory("flow_3");
+//		R<BladeFlowPage> res = flowClient.getTodoBladeFlowList(query.getSize(), query.getCurrent(), patrolTask.getCurrentUserId(), bladeFlow2);
+//		IPage<PatrolTask> patrolTaskIPage = new Page<>();
+//		List<PatrolTask> patrolTaskList = new ArrayList<>();
+//
+//		if (res.isSuccess()) {
+//			List<Object> data = res.getData().getData();
+//			data.forEach(obj -> {
+//				BladeFlow bladeFlow = JSON.parseObject(JSON.toJSONString(obj), BladeFlow.class);
+//				PatrolTaskVO byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
+//				if (byId != null) {
+//					byId.setFlow(bladeFlow);
+//					patrolTaskList.add(byId);
+//				}
+//			});
+//		}
+//		//设置数据集
+//		patrolTaskIPage.setRecords(patrolTaskList);
+//		//设置当前页
+//		patrolTaskIPage.setCurrent(res.getData().getCurrent());
+//		//设置页数
+//		patrolTaskIPage.setSize(res.getData().getSize());
+//		//设置总数
+//		patrolTaskIPage.setTotal(res.getData().getTotal());
+//
+//		return R.data(patrolTaskIPage);
+		return null;
 	}
 
 	/**
@@ -247,23 +255,25 @@
 	 * @param patrolTask 任务
 	 */
 	@PostMapping("patrol-done-list")
-	@ApiOperation(value = "查询待办")
-	public R patrolDoneList(PatrolTaskVO patrolTask, Query query){
+	@ApiOperation(value = "查询已办")
+	public R patrolDoneList(PatrolTaskVO patrolTask, Query query) {
 		BladeFlowVO bladeFlow2 = new BladeFlowVO();
 		//设置流程类型
 		bladeFlow2.setCategory("flow_3");
-		R<BladeFlowPage> res = flowClient.getDoneBladeFlowList(query.getSize(),query.getCurrent(),patrolTask.getCurrentUserId(), bladeFlow2);
+		R<BladeFlowPage> res = flowClient.getDoneBladeFlowList(query.getSize(), query.getCurrent(), patrolTask.getCurrentUserId(), bladeFlow2);
 		IPage<BladeFlowVO> bladeFlowVOIPage = new Page<>();
 		List<BladeFlowVO> bladeFlowVOList = new ArrayList<>();
 
-		if (res.isSuccess()){
+		if (res.isSuccess()) {
 			List<Object> data = res.getData().getData();
 			data.forEach(obj -> {
-				BladeFlowVO<PatrolTask> bladeFlow = JSON.parseObject(JSON.toJSONString(obj),BladeFlowVO.class);
-				PatrolTask byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
+				BladeFlowVO<PatrolTask> bladeFlow = JSON.parseObject(JSON.toJSONString(obj), BladeFlowVO.class);
+				PatrolTaskVO byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
 
-				bladeFlow.setDetail(byId);
-				bladeFlowVOList.add(bladeFlow);
+				if (byId != null){
+					bladeFlow.setDetail(byId);
+					bladeFlowVOList.add(bladeFlow);
+				}
 			});
 		}
 		//设置数据集
@@ -277,4 +287,115 @@
 
 		return R.data(bladeFlowVOIPage);
 	}
+
+	/**
+	 * 巡查任务报表 分页
+	 */
+	@GetMapping("getTaskReportPage")
+	@ApiOperation(value = "巡查任务报表")
+	public R getTaskReportPage( PatrolTaskReport patrolTaskReport , Query query) {
+		IPage<PatrolTaskReport> pageList = patrolTaskService.getTaskReportPage(Condition.getPage(query),patrolTaskReport);
+		return R.data(pageList);
+	}
+
+	/**
+	 * 巡查任务报表列表
+	 */
+	@GetMapping("getTaskReportList")
+	@ApiOperation(value = "巡查任务报表")
+	public R getTaskReportList( PatrolTaskReport patrolTaskReport ) {
+		List<PatrolTaskReport> list = patrolTaskService.getTaskReportList(patrolTaskReport);
+		return R.data(list);
+	}
+
+	/**
+	 * 巡查任务报表详情
+	 */
+	@GetMapping("getTaskReportDetail")
+	@ApiOperation(value = "巡查任务详情")
+	public R getTaskReportDetail( PatrolTaskReport patrolTaskReport , Query query) {
+		IPage<PatrolTaskReport> pageList = patrolTaskService.getTaskReportDetail(Condition.getPage(query),patrolTaskReport);
+		return R.data(pageList);
+	}
+
+	@GetMapping("getTaskStatusCount")
+	public R getTaskStatusCount(PatrolTaskVO patrolTaskVO){
+//		List<TaskStatusCount> list = patrolTaskService.getTaskStatusCount(patrolTaskVO);
+		List<TaskStatusCount> list = patrolTaskService.getTaskStatusCountOptimize(patrolTaskVO);
+		return R.data(list);
+	}
+
+	@GetMapping("getTaskStatus")
+	public R getTaskStatus(PatrolTaskVO patrolTaskVO){
+		TaskStatus taskStatus = patrolTaskService.getTaskStatus(patrolTaskVO);
+		return R.data(taskStatus);
+	}
+
+	@GetMapping("getTaskStatusCountOptimize")
+	public R getTaskStatusCountOptimize(PatrolTaskVO patrolTaskVO){
+		List<TaskStatusCount> list = patrolTaskService.getTaskStatusCountOptimize(patrolTaskVO);
+		return R.data(list);
+	}
+
+	@GetMapping("getTaskTypeCount")
+	public R getTaskTypeCount(PatrolTaskVO patrolTaskVO){
+		List<TaskStatusCount> list = patrolTaskService.getTaskTypeCount(patrolTaskVO);
+		return R.data(list);
+	}
+
+
+	/**
+	 * 下发任务
+	 * @param patrolTask
+	 * @return
+	 */
+	@PostMapping("deliverTask")
+	public R deliverTask(@RequestBody PatrolTask patrolTask){
+		List<PatrolTask> saveList = patrolTaskService.deliverTask(patrolTask);
+		return R.data(saveList);
+	}
+
+	/**
+	 * 获取巡查项
+	 * @param taskId
+	 * @return
+	 */
+	@GetMapping("getTaskDTO")
+	public R getTaskDTO(String taskId){
+		PatrolTaskDTO result =  patrolTaskService.getTaskDTO(taskId);
+		return R.data(result);
+	}
+
+	/**
+	 * 获取我的巡查任务
+	 * @param patrolTask
+	 * @return
+	 */
+	@GetMapping("getMyTask")
+	public R getMyTask(PatrolTaskVO patrolTask,Query query){
+
+		Object result = patrolTaskService.getMyTask(patrolTask,Condition.getPage(query));
+		return R.data(result);
+	}
+
+	/**
+	 * 结束任务
+	 * @param patrolTaskVO
+	 * @return
+	 */
+	@PostMapping("finishPatrolTask")
+	public R finishPatrolTask(@RequestBody PatrolTaskVO patrolTaskVO){
+		Boolean result = patrolTaskService.finishPatrolTask(patrolTaskVO);
+		return R.data(result);
+	}
+
+	/**
+	 * 处理
+	 */
+	@PostMapping("personHandle")
+	public R personHandle(@RequestBody PersonHandleParams personHandleParams){
+		Boolean res = patrolTaskService.personHandle(personHandleParams);
+		return R.data(res);
+	}
+
 }

--
Gitblit v1.9.3