diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/code/BpmnTaskRespCode.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/code/BpmnTaskRespCode.java index 318cfb774..c8abcf322 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/code/BpmnTaskRespCode.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/code/BpmnTaskRespCode.java @@ -28,6 +28,7 @@ public enum BpmnTaskRespCode implements IModuleRespCode { DUMMY_TASK_CANT_CREATED("013", "当前流程状态下, 不允许创建新的机器人节点, 实例 ID: 【{}】"), DUMMY_TASK_CANT_REPEAT_CREATE("014", "已存在运行中的机器人节点, 不允许重复创建!"), ACTIVITY_BIZ_SET_ASSIGNEE_HAS_REPEAT("015", "业务传入的指定审批人存在重复, 请主动根据 personId 去重! "), + DUMMY_TASK_CREATED_ERROR("016", "流程实例 ID【{}】: 不存在, 不允许创建机器人节点"), ; private String code; diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCreateDummyTaskCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCreateDummyTaskCmd.java index 5ea618443..dc6fff091 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCreateDummyTaskCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCreateDummyTaskCmd.java @@ -31,6 +31,7 @@ import static cn.axzo.workflow.common.constant.BpmnConstants.TASK_ASSIGNEE_SKIP_ import static cn.axzo.workflow.common.enums.BpmnFlowNodeType.NODE_ROBOT; import static cn.axzo.workflow.core.common.code.BpmnTaskRespCode.DUMMY_TASK_CANT_CREATED; import static cn.axzo.workflow.core.common.code.BpmnTaskRespCode.DUMMY_TASK_CANT_REPEAT_CREATE; +import static cn.axzo.workflow.core.common.code.BpmnTaskRespCode.DUMMY_TASK_CREATED_ERROR; import static cn.axzo.workflow.core.common.code.BpmnTaskRespCode.DUMMY_TASK_CREATED_NOT_SUPPORT; import static org.flowable.task.api.Task.DEFAULT_PRIORITY; @@ -71,6 +72,9 @@ public class CustomCreateDummyTaskCmd implements Command, Serializable { HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); + if (Objects.isNull(processInstance)) { + throw new WorkflowEngineException(DUMMY_TASK_CREATED_ERROR, processInstanceId); + } if (!Objects.equals(processInstance.getBusinessStatus(), BpmnProcessInstanceResultEnum.PROCESSING.getStatus())) { throw new WorkflowEngineException(DUMMY_TASK_CREATED_NOT_SUPPORT, processInstanceId);