From 6cd2da8eb7d7aefecd96a19ebbfe9caba59ea88c Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 18 May 2023 14:25:58 +0800
Subject: [PATCH] 巡查任务巡查责任人完成任务逻辑修改

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java |  180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 175 insertions(+), 5 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 6812782..870636e 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,19 +1,37 @@
 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.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 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;
 
@@ -27,6 +45,7 @@
 @AllArgsConstructor
 public class PatrolTaskController extends BladeController {
    private IPatrolTaskService patrolTaskService;
+   private IFlowClient flowClient;
 
    /**
     * 分页列表查询
@@ -34,8 +53,8 @@
     */
    @ApiOperation(value="巡查任务-分页列表查询", notes="巡查任务-分页列表查询")
    @GetMapping(value = "/list")
-   public R queryPageList(PatrolTask patrolTask, Query query) {
-       IPage<PatrolTask> pageList = patrolTaskService.selectPatrolTask(Condition.getPage(query),patrolTask);
+   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);
    }
@@ -45,9 +64,9 @@
      */
     @ApiOperation(value="获取所有巡查任务", notes="获取所有巡查任务")
     @GetMapping(value = "/all")
-   public R getAll(){
-       List<PatrolTask> list = patrolTaskService.list();
-       return R.data(list);
+   public R getAll(PatrolTaskVO patrolTaskVO){
+       List<PatrolTask> list = patrolTaskService.getAll(patrolTaskVO);
+		return R.data(list);
    }
 
    /**
@@ -59,6 +78,18 @@
        return R.data(patrolTaskService.save(patrolTask));
    }
 
+
+	/**
+	 * 自定义添加
+	 * @param patrolTask
+	 * @return
+	 */
+	@ApiOperation(value="巡查任务-自定义添加", notes="巡查任务-自定义添加")
+	@PostMapping(value = "/save")
+	public R save(@RequestBody PatrolTask patrolTask) {
+		return R.data(patrolTaskService.savePatrolTask(patrolTask));
+	}
+
    /**
     * 编辑
     * @return
@@ -67,6 +98,18 @@
    @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));
    }
 
    /**
@@ -107,4 +150,131 @@
    }
 
 
+	/**
+	 * 自定义通过id查询
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="巡查任务-自定义通过id查询", notes="巡查任务-自定义通过id查询")
+	@GetMapping(value = "/getPatrolTaskById")
+	public R getPatrolTaskById(@RequestParam(name="id",required=true) String id) {
+		PatrolTask PatrolTask = patrolTaskService.getPatrolTaskById(id);
+		return R.data(PatrolTask);
+	}
+
+
+	/**
+	 * 查询巡查人员统计数据信息
+	 * @param patrolTask
+	 * @return
+	 */
+	@ApiOperation(value="查询巡查人员统计数据信息", notes="查询巡查人员统计数据信息")
+	@GetMapping(value = "/getPatrolTaskStatistic")
+	public R getPatrolTaskStatistic(PatrolTaskVO patrolTask) {
+		return R.data(patrolTaskService.getPatrolTaskStatistic(patrolTask));
+	}
+
+	/**====================工作流==========================**/
+	/**
+	 * 新增或修改
+	 *
+	 * @param patrolTask 任务
+	 */
+	@PostMapping("start-process")
+	public R startProcess(@RequestBody PatrolTask patrolTask) {
+		return R.status(patrolTaskService.startProcess(patrolTask));
+	}
+
+	/**
+	 * 巡查人员完成任务
+	 */
+	@PostMapping("patrol-complete-task")
+	@ApiOperation(value = "完成任务", notes = "传入流程信息")
+	public R completeTask(@RequestBody PatrolTaskVO patrolTaskVO) {
+		return R.status(patrolTaskService.patrolCompleteTask(patrolTaskVO,patrolTaskVO.getCurrentUserId(),patrolTaskVO.getTaskUser()));
+	}
+
+	/**
+	 * 责任人完成任务
+	 */
+	@PostMapping("charge-complete-task")
+	@ApiOperation(value = "完成任务", notes = "传入流程信息")
+	public R chargeCompletePerson(@RequestBody BladeFlowTask bladeFlowTask) {
+		return R.status(patrolTaskService.chargeCompletePerson(bladeFlowTask));
+	}
+
+	/**
+	 * 查询待办
+	 *
+	 * @param patrolTask 任务
+	 */
+	@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);
+	}
+
+	/**
+	 * 查询已办
+	 *
+	 * @param patrolTask 任务
+	 */
+	@PostMapping("patrol-done-list")
+	@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);
+		IPage<BladeFlowVO> bladeFlowVOIPage = new Page<>();
+		List<BladeFlowVO> bladeFlowVOList = new ArrayList<>();
+
+		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());
+
+				bladeFlow.setDetail(byId);
+				bladeFlowVOList.add(bladeFlow);
+			});
+		}
+		//设置数据集
+		bladeFlowVOIPage.setRecords(bladeFlowVOList);
+		//设置当前页
+		bladeFlowVOIPage.setCurrent(res.getData().getCurrent());
+		//设置页数
+		bladeFlowVOIPage.setSize(res.getData().getSize());
+		//设置总数
+		bladeFlowVOIPage.setTotal(res.getData().getTotal());
+
+		return R.data(bladeFlowVOIPage);
+	}
 }

--
Gitblit v1.9.3