Merge branch 'feature/REQ-5965' into test
This commit is contained in:
commit
68f7da71d2
@ -58,4 +58,11 @@ public class CustomDocDTO implements Serializable {
|
||||
@NotNull(message = "业务自定义文件的类型不能为空")
|
||||
private FileTypeEnum fileType;
|
||||
|
||||
/**
|
||||
* 文件是否需要变量替换,默认不替换
|
||||
* <p>
|
||||
* 不建议无脑设置为 true,否则可能会影响性能
|
||||
*/
|
||||
private Boolean needReplaceVariables = false;
|
||||
|
||||
}
|
||||
|
||||
@ -57,4 +57,9 @@ public class SignFileDTO implements Serializable {
|
||||
* 替换变量后的文件 fileKey
|
||||
*/
|
||||
private String fileKey;
|
||||
|
||||
/**
|
||||
* 是否需要替换变量
|
||||
*/
|
||||
private Boolean needReplaceVariables;
|
||||
}
|
||||
|
||||
@ -63,6 +63,7 @@ public class OperationFileArchiveActivityEvent_101_Listener extends AbstractBpmn
|
||||
List<VariableObjectDTO> wpsReplaceVariables = wpsUtil.getWpsReplaceVariables(processEngineConfiguration, execution.getProcessInstanceId());
|
||||
processSign.getFileArchive().stream().filter(i -> Objects.equals(i.getFileType(), FileTypeEnum.WORD)
|
||||
|| Objects.equals(i.getFileType(), FileTypeEnum.EXCEL))
|
||||
.filter(i -> Boolean.TRUE.equals(i.getNeedReplaceVariables()))
|
||||
.forEach(docBaseVO -> {
|
||||
String newFileKey = wpsUtil.wpsFileVariableReplace(wpsReplaceVariables, null, docBaseVO.getFileKey(), docBaseVO.getTemplateName() + docBaseVO.getFileType().getSuffix());
|
||||
docBaseVO.setFileKey(newFileKey);
|
||||
|
||||
@ -81,6 +81,7 @@ public class FileArchiveProcessEventListener extends AbstractBpmnEventListener<P
|
||||
List<VariableObjectDTO> wpsReplaceVariables = wpsUtil.getWpsReplaceVariables(processEngineConfiguration, instance.getId());
|
||||
processSign.getFileArchive().stream().filter(i -> Objects.equals(i.getFileType(), FileTypeEnum.WORD)
|
||||
|| Objects.equals(i.getFileType(), FileTypeEnum.EXCEL))
|
||||
.filter(i -> Boolean.TRUE.equals(i.getNeedReplaceVariables()))
|
||||
.forEach(docBaseVO -> {
|
||||
String newFileKey = wpsUtil.wpsFileVariableReplace(wpsReplaceVariables, null, docBaseVO.getFileKey(), docBaseVO.getTemplateName() + docBaseVO.getFileType().getSuffix());
|
||||
docBaseVO.setFileKey(newFileKey);
|
||||
|
||||
@ -125,6 +125,7 @@ public class FirstCopyTemplateFileTaskEvent_105_Listener extends AbstractBpmnEve
|
||||
.fileCode(customDoc.getFileCode())
|
||||
.fileKey(customDoc.getFileKey())
|
||||
.fileType(customDoc.getFileType())
|
||||
.needReplaceVariables(Boolean.TRUE.equals(customDoc.getNeedReplaceVariables()))
|
||||
.build());
|
||||
}
|
||||
List<String> basedFileTagOrder = runtimeService.getVariable(processInstanceId, SIGN_BIZ_BASED_FILE_TAG_ORDER, List.class);
|
||||
@ -158,20 +159,21 @@ public class FirstCopyTemplateFileTaskEvent_105_Listener extends AbstractBpmnEve
|
||||
private List<SignFileDTO> replaceTemplateVariable(List<SignFileDTO> docTemplates, ProcessEngineConfigurationImpl processEngineConfiguration, String processInstanceId) {
|
||||
List<SignFileDTO> archives = new ArrayList<>();
|
||||
List<VariableObjectDTO> wpsReplaceVariables = wpsUtil.getWpsReplaceVariables(processEngineConfiguration, processInstanceId);
|
||||
docTemplates.forEach(template -> {
|
||||
SignFileDTO signFileDTO = new SignFileDTO();
|
||||
signFileDTO.setId(template.getId());
|
||||
signFileDTO.setFileName(template.getFileName());
|
||||
signFileDTO.setTemplateName(template.getTemplateName());
|
||||
signFileDTO.setFileTag(template.getFileTag());
|
||||
signFileDTO.setFileType(template.getFileType());
|
||||
signFileDTO.setFileCode(template.getFileCode());
|
||||
if (Objects.equals(template.getFileType(), FileTypeEnum.WORD) || Objects.equals(template.getFileType(), FileTypeEnum.EXCEL)) {
|
||||
String fileKey = wpsUtil.wpsFileVariableReplace(wpsReplaceVariables, template.getFileCode(), template.getFileKey(), template.getTemplateName() + template.getFileType().getSuffix());
|
||||
signFileDTO.setFileKey(fileKey);
|
||||
}
|
||||
archives.add(signFileDTO);
|
||||
});
|
||||
docTemplates.stream().filter(i -> Boolean.TRUE.equals(i.getNeedReplaceVariables()))
|
||||
.forEach(template -> {
|
||||
SignFileDTO signFileDTO = new SignFileDTO();
|
||||
signFileDTO.setId(template.getId());
|
||||
signFileDTO.setFileName(template.getFileName());
|
||||
signFileDTO.setTemplateName(template.getTemplateName());
|
||||
signFileDTO.setFileTag(template.getFileTag());
|
||||
signFileDTO.setFileType(template.getFileType());
|
||||
signFileDTO.setFileCode(template.getFileCode());
|
||||
if (Objects.equals(template.getFileType(), FileTypeEnum.WORD) || Objects.equals(template.getFileType(), FileTypeEnum.EXCEL)) {
|
||||
String fileKey = wpsUtil.wpsFileVariableReplace(wpsReplaceVariables, template.getFileCode(), template.getFileKey(), template.getTemplateName() + template.getFileType().getSuffix());
|
||||
signFileDTO.setFileKey(fileKey);
|
||||
}
|
||||
archives.add(signFileDTO);
|
||||
});
|
||||
return archives;
|
||||
}
|
||||
|
||||
@ -202,6 +204,7 @@ public class FirstCopyTemplateFileTaskEvent_105_Listener extends AbstractBpmnEve
|
||||
default:
|
||||
break;
|
||||
}
|
||||
signFileDTO.setNeedReplaceVariables(true);
|
||||
files.add(signFileDTO);
|
||||
});
|
||||
return files;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user