feat(REQ-4418) - 添加推测未来节点日志时的抄送节点配置内容

This commit is contained in:
wangli 2025-08-25 17:00:37 +08:00
parent 65a9aead8f
commit d84b055d46
2 changed files with 7 additions and 3 deletions

View File

@ -38,18 +38,22 @@ public class CustomForecastUserTaskAssigneeCmd extends AbstractCommand<List<Bpmn
private final String processInstanceId; private final String processInstanceId;
private final UserTask userTask; private final UserTask userTask;
private final EngineExecutionStartListener engineExecutionStartListener; private final EngineExecutionStartListener engineExecutionStartListener;
private final Integer categoryVersion;
public CustomForecastUserTaskAssigneeCmd(String processInstanceId, UserTask userTask, public CustomForecastUserTaskAssigneeCmd(String processInstanceId, UserTask userTask,
EngineExecutionStartListener engineExecutionStartListener) { EngineExecutionStartListener engineExecutionStartListener,
Integer categoryVersion) {
this.processInstanceId = processInstanceId; this.processInstanceId = processInstanceId;
this.userTask = userTask; this.userTask = userTask;
this.engineExecutionStartListener = engineExecutionStartListener; this.engineExecutionStartListener = engineExecutionStartListener;
this.categoryVersion = categoryVersion;
} }
@Override @Override
public String paramToJsonString() { public String paramToJsonString() {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params.put("processInstanceId", processInstanceId); params.put("processInstanceId", processInstanceId);
params.put("categoryVersion", categoryVersion);
return JSON.toJSONString(params); return JSON.toJSONString(params);
} }
@ -67,7 +71,7 @@ public class CustomForecastUserTaskAssigneeCmd extends AbstractCommand<List<Bpmn
(DelegateExecution) list.get(0), false))); (DelegateExecution) list.get(0), false)));
// 如果没找到审批人,加载管理员 // 如果没找到审批人,加载管理员
if (CollectionUtils.isEmpty(forecastAssigners)) { if (CollectionUtils.isEmpty(forecastAssigners) && categoryVersion < 2) {
log.info("流程实例: {} 推测审批人时, UserTask{}: 未找到审批人, 开始根据'审批人为空'时的兜底配置进行计算!", processInstanceId, log.info("流程实例: {} 推测审批人时, UserTask{}: 未找到审批人, 开始根据'审批人为空'时的兜底配置进行计算!", processInstanceId,
userTask.getId()); userTask.getId());
BpmnMetaParserHelper.getApproverEmptyHandleType(userTask).ifPresent(type -> { BpmnMetaParserHelper.getApproverEmptyHandleType(userTask).ifPresent(type -> {

View File

@ -1125,7 +1125,7 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
List<BpmnTaskDelegateAssigner> forecastAssigners = List<BpmnTaskDelegateAssigner> forecastAssigners =
springProcessEngineConfiguration.getCommandExecutor() springProcessEngineConfiguration.getCommandExecutor()
.execute(new CustomForecastUserTaskAssigneeCmd(processInstanceId, .execute(new CustomForecastUserTaskAssigneeCmd(processInstanceId,
i, engineExecutionStartListener)); i, engineExecutionStartListener, categoryVersion));
node.setForecastAssigners(forecastAssigners); node.setForecastAssigners(forecastAssigners);
if (CollectionUtils.isEmpty(forecastAssigners) && categoryVersion < 2) { if (CollectionUtils.isEmpty(forecastAssigners) && categoryVersion < 2) {
getApproverEmptyHandleType(i).ifPresent(emptyHandleType -> { getApproverEmptyHandleType(i).ifPresent(emptyHandleType -> {