【代码优化】BPM:增加 return 驳回的注释

This commit is contained in:
YunaiV 2024-12-07 09:25:51 +08:00
parent 0523a441de
commit de9dc24523
1 changed files with 7 additions and 8 deletions

View File

@ -739,27 +739,26 @@ public class BpmTaskServiceImpl implements BpmTaskService {
return; return;
} }
if (isAssignUserTask(userId, task)) { // 判断是否分配给自己任务因为会签任务一个节点会有多个任务 // 判断是否分配给自己任务因为会签任务一个节点会有多个任务
// 2.1 添加评论 if (isAssignUserTask(userId, task)) { // 情况一自己的任务进行 RETURN 标记
// 2.1.1 添加评论
taskService.addComment(task.getId(), currentTask.getProcessInstanceId(), BpmCommentTypeEnum.RETURN.getType(), taskService.addComment(task.getId(), currentTask.getProcessInstanceId(), BpmCommentTypeEnum.RETURN.getType(),
BpmCommentTypeEnum.RETURN.formatComment(reqVO.getReason())); BpmCommentTypeEnum.RETURN.formatComment(reqVO.getReason()));
// 2.2 更新 task 状态 + 原因 // 2.1.2 更新 task 状态 + 原因
updateTaskStatusAndReason(task.getId(), BpmTaskStatusEnum.RETURN.getStatus(), reqVO.getReason()); updateTaskStatusAndReason(task.getId(), BpmTaskStatusEnum.RETURN.getStatus(), reqVO.getReason());
} else { } else { // 情况二别人的任务进行 CANCEL 标记
// 2.3 取消不是分配给自己的任务
processTaskCanceled(task.getId()); processTaskCanceled(task.getId());
} }
}); });
// 3. 设置流程变量节点驳回标记用于驳回到节点不执行 BpmUserTaskAssignStartUserHandlerTypeEnum 策略导致自动通过 // 3. 设置流程变量节点驳回标记用于驳回到节点不执行 BpmUserTaskAssignStartUserHandlerTypeEnum 策略导致自动通过
runtimeService.setVariable(currentTask.getProcessInstanceId(), runtimeService.setVariable(currentTask.getProcessInstanceId(),
String.format(PROCESS_INSTANCE_VARIABLE_RETURN_FLAG, reqVO.getTargetTaskDefinitionKey()), Boolean.TRUE); String.format(PROCESS_INSTANCE_VARIABLE_RETURN_FLAG, reqVO.getTargetTaskDefinitionKey()), Boolean.TRUE);
// 4. 执行驳回 // 4. 执行驳回
List<String> runExecutionIdList = convertList(taskList, Task::getExecutionId); List<String> runExecutionIds = convertList(taskList, Task::getExecutionId);
runtimeService.createChangeActivityStateBuilder() runtimeService.createChangeActivityStateBuilder()
.processInstanceId(currentTask.getProcessInstanceId()) .processInstanceId(currentTask.getProcessInstanceId())
.moveExecutionsToSingleActivityId(runExecutionIdList, reqVO.getTargetTaskDefinitionKey()) .moveExecutionsToSingleActivityId(runExecutionIds, reqVO.getTargetTaskDefinitionKey())
.changeState(); .changeState();
} }