guoshilong
2024-03-04 27b27564be25fd92edfe328a0e989ee8f4c4e7d3
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -145,7 +145,8 @@
            //设置创建人
            .set(ProcessConstant.TASK_VARIABLE_CREATE_USER, AuthUtil.getUserId())
            //指定巡查责任人
            .set(PATROL_USER, TaskUtil.getTaskUser(patrolTask.getToUserId()));
            .set(PATROL_USER, TaskUtil.getTaskUser(patrolTask.getToUserId()))
            .set("taskUser", TaskUtil.getTaskUser(patrolTask.getToUserId()));
         R<BladeFlow> result = flowClient.startProcessInstanceById(patrolTask.getProcessDefinitionId(), FlowUtil.getBusinessKey(businessTable, String.valueOf(patrolTask.getId())), variables);
         if (result.isSuccess()) {
@@ -161,6 +162,50 @@
      }
      return patrolTask;
   }
   @Override
   public boolean personCompleteTask(PatrolTaskVO patrolTaskVO, String currentUserId, String taskUser) {
      String taskId = patrolTaskVO.getFlowTaskId();
      String processInstanceId = patrolTaskVO.getProcessInstanceId();
      String comment = patrolTaskVO.getComment();
      //保存巡查记录
      if (patrolTaskVO.getPatrolRecordList() != null && patrolTaskVO.getPatrolRecordList().size()>0){
         patrolRecordService.saveBatch(patrolTaskVO.getPatrolRecordList());
      }
      // 创建变量
      Map<String, Object> variables = new HashMap<>();
      if (variables == null) {
         variables = Kv.create();
      }
      //指定了人就是上报,没指定就表示已经处理了
      if (StringUtil.isNotBlank(taskUser)){
         variables.put("taskUser",TaskUtil.getTaskUser(taskUser));
         variables.put(ProcessConstant.REPORT_KEY,true);
      }else{
         variables.put(ProcessConstant.REPORT_KEY,false);
         //查监测预警表,看是否有这个任务,有的话修改任务状态
         Boolean finishDamTask = nkyClient.finishTask(patrolTaskVO.getId().toString());
         if (!finishDamTask){
            //查白蚁表,看是否有这个任务,有的话修改任务状态
            Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTaskVO.getId().toString());
         }
      }
      flowClient.completeTask(taskId, processInstanceId, comment, variables);
      return updateById(patrolTaskVO);
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
@@ -188,12 +233,7 @@
            patrolRecordService.saveBatch(patrolTask.getPatrolRecordList());
         }
//         //查监测预警表,看是否有这个任务,有的话修改任务状态
//         Boolean finishDamTask = nkyClient.finishTask(patrolTask.getId().toString());
//         if (!finishDamTask){
//            //查白蚁表,看是否有这个任务,有的话修改任务状态
//            Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTask.getId().toString());
//         }
         return baseMapper.updateById(patrolTask) > 0;
      } else {
@@ -388,6 +428,7 @@
      return taskStatus;
   }
   @Override
   public List<TaskStatusCount> getTaskTypeCount(PatrolTaskVO patrolTaskVO) {
      return baseMapper.getTaskTypeCount(patrolTaskVO);