feat:新增自选节点审批人参数,由前端传递下个节点选择的审批人

This commit is contained in:
lizhixian 2025-02-25 16:27:05 +08:00
parent e11529375e
commit f2909d6bb6
1 changed files with 5 additions and 3 deletions

View File

@ -519,10 +519,12 @@ public class BpmTaskServiceImpl implements BpmTaskService {
// 其中variables 是存储动态表单到 local 任务级别过滤一下避免 ProcessInstance 系统级的变量被占用
if (CollUtil.isNotEmpty(reqVO.getVariables())) {
Map<String, Object> variables = FlowableUtils.filterTaskFormVariable(reqVO.getVariables());
// 修改表单的值需要存储到 ProcessInstance 变量
// 下个节点审批人如果不存在则由前端传递
if (CollUtil.isNotEmpty(reqVO.getStartUserSelectAssignees())) {
variables.put(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_START_USER_SELECT_ASSIGNEES,
reqVO.getStartUserSelectAssignees());
// 获取实例中的全部节点数据避免后续节点的审批人被覆盖
Map<String, List<Long>> startUserSelectAssignees = FlowableUtils.getStartUserSelectAssignees(instance.getProcessVariables());
startUserSelectAssignees.putAll(reqVO.getStartUserSelectAssignees());
variables.put(BpmnVariableConstants.PROCESS_INSTANCE_VARIABLE_START_USER_SELECT_ASSIGNEES, startUserSelectAssignees);
}
runtimeService.setVariables(task.getProcessInstanceId(), variables);
taskService.complete(task.getId(), variables, true);