diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomActivityTriggerAsyncCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomActivityTriggerAsyncCmd.java index 98e4209ba..81a172c82 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomActivityTriggerAsyncCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomActivityTriggerAsyncCmd.java @@ -12,6 +12,7 @@ import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl; import org.flowable.engine.impl.util.CommandContextUtil; import org.flowable.job.service.JobService; import org.flowable.job.service.impl.persistence.entity.JobEntity; +import org.flowable.task.api.TaskQuery; import org.flowable.task.service.impl.persistence.entity.TaskEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,10 +48,12 @@ public class CustomActivityTriggerAsyncCmd extends AbstractCommand imple public String execute(CommandContext commandContext) { ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration(commandContext); - TaskEntity task = (TaskEntity) processEngineConfiguration.getTaskService().createTaskQuery() - .executionId(dto.getTriggerId()) - .taskDefinitionKey(StringUtils.isBlank(dto.getActivityId()) ? null : dto.getActivityId()) - .singleResult(); + TaskQuery taskQuery = processEngineConfiguration.getTaskService().createTaskQuery() + .executionId(dto.getTriggerId()); + if (StringUtils.isNotBlank(dto.getActivityId())) { + taskQuery.taskDefinitionKey(dto.getActivityId()); + } + TaskEntity task = (TaskEntity) taskQuery.singleResult(); if (Objects.isNull(task)) { throw new WorkflowEngineException(ACTIVITY_TRIGGER_NOT_EXISTS, dto.getTriggerId()); }