feat(REQ-2616) - 完善Activity 节点的回调时,参数缺失的问题

This commit is contained in:
wangli 2024-09-03 18:54:07 +08:00
parent 280e8f0de2
commit 89c82ab9b3

View File

@ -18,6 +18,7 @@ import org.flowable.job.service.impl.persistence.entity.JobEntity;
import org.flowable.task.api.Task;
import org.flowable.variable.api.delegate.VariableScope;
import java.util.Map;
import java.util.Objects;
import static cn.axzo.workflow.core.common.code.BpmnInstanceRespCode.PROCESS_INSTANCE_ID_NOT_EXISTS;
@ -48,18 +49,20 @@ public class AsyncActivityCallbackJobHandler extends AbstractJobHandler implemen
HistoryService historyService = processEngineConfiguration.getHistoryService();
HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().includeProcessVariables()
.processInstanceId(task.getProcessInstanceId()).singleResult();
.processInstanceId(task.getProcessInstanceId()).singleResult();
if (Objects.isNull(processInstance)) {
throw new WorkflowEngineException(PROCESS_INSTANCE_ID_NOT_EXISTS, task.getProcessInstanceId());
}
RuntimeService runtimeService = processEngineConfiguration.getRuntimeService();
runtimeService.setVariables(processInstance.getId(), dto.getVariables());
Map<String, Object> processVariables = processInstance.getProcessVariables();
processVariables.putAll(dto.getVariables());
eventDispatcher.dispatchEvent(new BizCallbackEventImpl(BizCallbackEventImpl.BizCallbackEventType.CALLBACK,
task.getTaskDefinitionKey(), task.getName(),
task.getProcessInstanceId(), task.getProcessDefinitionId(),
processInstance.getBusinessKey(), dto.getTriggerId(),
processInstance.getProcessVariables()),
processEngineConfiguration.getEngineCfgKey());
task.getTaskDefinitionKey(), task.getName(),
task.getProcessInstanceId(), task.getProcessDefinitionId(),
processInstance.getBusinessKey(), dto.getTriggerId(),
processVariables),
processEngineConfiguration.getEngineCfgKey());
}
}