guoshilong
2023-05-18 6cd2da8eb7d7aefecd96a19ebbfe9caba59ea88c
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
@@ -2,12 +2,16 @@
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;
@@ -60,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);
   }
   /**
@@ -183,13 +187,11 @@
   /**
    * 巡查人员完成任务
    *
    * @param patrolTask 任务
    */
   @PostMapping("patrol-complete-task")
   @ApiOperation(value = "完成任务", notes = "传入流程信息")
   public R completeTask(PatrolTask patrolTask, String currentUserId) {
      return R.status(patrolTaskService.patrolCompleteTask(patrolTask,currentUserId));
   public R completeTask(@RequestBody PatrolTaskVO patrolTaskVO) {
      return R.status(patrolTaskService.patrolCompleteTask(patrolTaskVO,patrolTaskVO.getCurrentUserId(),patrolTaskVO.getTaskUser()));
   }
   /**
@@ -210,26 +212,69 @@
   @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);
      //设置流程类型
      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<BladeFlow> data = res.getData();
         data.forEach(bladeFlow -> {
         List<Object> data = res.getData().getData();
         data.forEach(obj -> {
            BladeFlow bladeFlow = JSON.parseObject(JSON.toJSONString(obj),BladeFlow.class);
            PatrolTask byId = patrolTaskService.customizeGetById(bladeFlow.getBusinessId());
            byId.setFlow(bladeFlow);
            patrolTaskList.add(byId);
            if (byId != null){
               byId.setFlow(bladeFlow);
               patrolTaskList.add(byId);
            }
         });
      }
      //设置数据集
      patrolTaskIPage.setRecords(patrolTaskList);
      //设置当前页
      patrolTaskIPage.setCurrent(query.getCurrent());
      //设置大小
      patrolTaskIPage.setSize(query.getSize());
      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);
   }
}