diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/process/FileArchiveProcessEventListener.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/process/FileArchiveProcessEventListener.java index 837ef2d37..7520de611 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/process/FileArchiveProcessEventListener.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/process/FileArchiveProcessEventListener.java @@ -22,6 +22,7 @@ import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent; import org.flowable.common.engine.impl.interceptor.CommandExecutor; import org.flowable.engine.HistoryService; import org.flowable.engine.ProcessEngineConfiguration; +import org.flowable.engine.delegate.event.FlowableProcessStartedEvent; import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl; import org.flowable.engine.impl.util.CommandContextUtil; @@ -30,6 +31,7 @@ import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.context.annotation.Scope; import org.springframework.core.Ordered; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.ArrayList; @@ -64,6 +66,11 @@ public class FileArchiveProcessEventListener extends AbstractBpmnEventListener
docs = commandExecutor.execute(new CustomGetModelDocsCmd(event.getProcessInstanceId(), extAxModelDocMapper));
+ List archives = new ArrayList<>();
+ processSign.getDocTemplate().forEach(template -> {
+ SignFileDTO signFileDTO = new SignFileDTO();
+ signFileDTO.setId(template.getId());
+ signFileDTO.setFileTag(template.getFileTag());
+ signFileDTO.setFileType(template.getFileType());
+ // TODO 替换变量后,获得新生成的文档code
+ signFileDTO.setFileCode("");
+ archives.add(signFileDTO);
+ });
+
+ processSign.setFileArchive(archives);
+ extAxProcessSignService.updateById(processSign);
+
+ }
+
@Override
public void onCompleted(FlowableEngineEntityEvent event) {
// TODO 将该模型关联的文档统一进行归档, 加载变量, 并发送业务待办
@@ -127,18 +166,20 @@ public class FileArchiveProcessEventListener extends AbstractBpmnEventListener processVariables = instance.getProcessVariables();
// 文件归档,将审批过程中产生的数据全部替换文档模板变量
- archiveEnableDocs(processVariables, instance);
+ archiveFinalDocs(processVariables, instance);
// 发送业务待办
sendSignPending(signConfig.get(), processVariables);
}
- private void archiveEnableDocs(Map