diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java index fa9ba9bde..0c606bdc8 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessInstanceServiceImpl.java @@ -1922,8 +1922,9 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic } else { tenantId = docs.get(0).getTenantId(); } - List bizCustomDocs = Optional.ofNullable( - runtimeService.getVariable(processInstanceId, SIGN_BIZ_CUSTOM_DOCS, List.class)) + HistoricVariableInstance historicVariableInstance = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstanceId) + .variableName(SIGN_BIZ_CUSTOM_DOCS).singleResult(); + List bizCustomDocs = Optional.ofNullable((List) historicVariableInstance.getValue()) .orElse(Collections.emptyList()); // 业务自定义文档 @@ -1936,7 +1937,8 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic t.setFileRelationId(s.getFileKey()); }); - List basedFileTagOrder = runtimeService.getVariable(processInstanceId, SIGN_BIZ_BASED_FILE_TAG_ORDER, List.class); + HistoricVariableInstance signBizOrder = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).variableName(SIGN_BIZ_BASED_FILE_TAG_ORDER).singleResult(); + List basedFileTagOrder = Optional.ofNullable((List) signBizOrder.getValue()).orElse(Collections.emptyList()); if (!CollectionUtils.isEmpty(basedFileTagOrder)) { docs.addAll(customBizDocs); // 基于 fileTag 排序 @@ -1948,7 +1950,8 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic docs = docs.stream().sorted(Comparator.comparingInt(d -> fileTagOrderMap.getOrDefault(d.getTag(), Integer.MAX_VALUE))) .collect(Collectors.toList()); } else { - String customAddType = runtimeService.getVariable(processInstanceId, SIGN_BIZ_CUSTOM_DOC_ADD_ORDER_TYPE, String.class); + HistoricVariableInstance bizDocOrderType = historyService.createHistoricVariableInstanceQuery().processInstanceId(processInstanceId).variableName(SIGN_BIZ_CUSTOM_DOC_ADD_ORDER_TYPE).singleResult(); + String customAddType = String.valueOf(bizDocOrderType.getValue()); if ("last".equals(customAddType)) { docs.addAll(customBizDocs); } else {