diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java index 7afe5cde2..337dbb2d8 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomApproveTaskCmd.java @@ -85,9 +85,6 @@ public class CustomApproveTaskCmd implements Command, Serializable { HistoricTaskInstance historicTaskInstance = taskQuery.taskId(taskId).singleResult(); Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); - if (Objects.isNull(task)) { - log.info("任务不存在: {}", taskId); - } validTask(historicTaskInstance, (TaskEntity) task, approver); if (StringUtils.hasLength(advice)) { diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/helper/CustomTaskHelper.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/helper/CustomTaskHelper.java index 8c8f6b63d..8aaa69247 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/helper/CustomTaskHelper.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/helper/CustomTaskHelper.java @@ -100,7 +100,8 @@ public class CustomTaskHelper { */ public static void validTask(HistoricTaskInstance historicTaskInstance, TaskEntity taskEntity, BpmnTaskDelegateAssigner originTaskAssigner) { - if (Objects.nonNull(historicTaskInstance) && Objects.nonNull(historicTaskInstance.getEndTime())) { + if (Objects.nonNull(historicTaskInstance) && + (Objects.nonNull(historicTaskInstance.getEndTime()) || Objects.isNull(taskEntity))) { throw new WorkflowEngineException(TASK_HAS_BEEN_COMPLETE); } @@ -194,6 +195,7 @@ public class CustomTaskHelper { task.setProcessInstanceId(processInstanceId); return addComment(commandContext, task, type, message); } + public static Comment addComment(CommandContext commandContext, Task task, String type, String message) { ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration(commandContext);