update - 调整审批日志中的审批人最终为空时,节点模式的赋值

This commit is contained in:
wangli 2024-01-08 17:47:05 +08:00
parent bef73216d3
commit 9c7bbe864a

View File

@ -17,6 +17,7 @@ import cn.axzo.workflow.common.model.response.bpmn.process.HistoricProcessInstan
import cn.axzo.workflow.common.model.response.bpmn.process.ProcessNodeDetailVO;
import cn.axzo.workflow.core.common.exception.WorkflowEngineException;
import cn.axzo.workflow.core.common.utils.BpmnCollectionUtils;
import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper;
import cn.axzo.workflow.core.engine.cmd.CustomAbortProcessInstanceCmd;
import cn.axzo.workflow.core.engine.cmd.CustomCancelProcessInstanceCmd;
import cn.axzo.workflow.core.engine.cmd.CustomForecastUserTaskAssigneeCmd;
@ -608,12 +609,21 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
List<BpmnTaskDelegateAssigner> forecastAssigners =
springProcessEngineConfiguration.getCommandExecutor()
.execute(new CustomForecastUserTaskAssigneeCmd(processInstanceId,
userTask,
engineExecutionStartListener));
userTask, engineExecutionStartListener));
node.setForecastAssigners(forecastAssigners);
if (CollectionUtils.isEmpty(forecastAssigners)) {
node.setNodeMode(EXCEPTIONAL);
}
BpmnMetaParserHelper.getApproverEmptyHandleType(userTask).ifPresent(emptyHandleType -> {
switch (emptyHandleType) {
case autoPassed:
node.setNodeMode(AUTO_PASSED);
break;
case autoRejection:
node.setNodeMode(AUTO_REJECTED);
break;
default:
node.setNodeMode(EXCEPTIONAL);
break;
}
});
break;
}
});