guoshilong
2023-04-24 fc030d197a869d5fecab582d36ff17be7e67cc3f
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
@@ -1,20 +1,33 @@
package cn.gistack.sm.patrol.controller;
import cn.gistack.flow.core.entity.BladeFlow;
import cn.gistack.flow.core.feign.IFlowClient;
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.BladeFlowTask;
import cn.gistack.sm.patrol.vo.PatrolTaskVO;
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;
@@ -28,6 +41,7 @@
@AllArgsConstructor
public class PatrolTaskController extends BladeController {
   private IPatrolTaskService patrolTaskService;
   private IFlowClient flowClient;
   /**
    * 分页列表查询
@@ -60,6 +74,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
@@ -68,6 +94,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));
   }
   /**
@@ -109,6 +147,19 @@
   /**
    * 自定义通过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
@@ -119,5 +170,66 @@
      return R.data(patrolTaskService.getPatrolTaskStatistic(patrolTask));
   }
   /**====================工作流==========================**/
   /**
    * 新增或修改
    *
    * @param patrolTask 任务
    */
   @PostMapping("start-process")
   public R startProcess(@RequestBody PatrolTask patrolTask) {
      return R.status(patrolTaskService.startProcess(patrolTask));
   }
   /**
    * 巡查人员完成任务
    *
    * @param patrolTask 任务
    */
   @PostMapping("patrol-complete-task")
   @ApiOperation(value = "完成任务", notes = "传入流程信息")
   public R completeTask(PatrolTask patrolTask, String currentUserId) {
      return R.status(patrolTaskService.patrolCompleteTask(patrolTask,currentUserId));
   }
   /**
    * 责任人完成任务
    */
   @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();
      R<List<BladeFlow>> res = flowClient.getTodoBladeFlowList(query.getSize(),query.getCurrent(),patrolTask.getCurrentUserId(), bladeFlow2);
      IPage<PatrolTask> patrolTaskIPage = new Page<>();
      List<PatrolTask> patrolTaskList = new ArrayList<>();
      if (res.isSuccess()){
         List<BladeFlow> data = res.getData();
         data.forEach(bladeFlow -> {
            PatrolTask byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
            byId.setFlow(bladeFlow);
            patrolTaskList.add(byId);
         });
      }
      //设置数据集
      patrolTaskIPage.setRecords(patrolTaskList);
      //设置当前页
      patrolTaskIPage.setCurrent(query.getCurrent());
      //设置大小
      patrolTaskIPage.setSize(query.getSize());
      return R.data(patrolTaskIPage);
   }
}