feat: 集成OnlyOffice转换功能,优化企业标准草稿生成PDF流程

- 新增SysOnlyOfficePdfUtil类,实现文档转PDF功能
- 在ProcessESRevisionEndListener中集成新功能,优化PDF生成逻辑- 添加dom4j依赖,用于解析OnlyOffice返回的XML数据- 修改convertAndSavePdfFile方法,支持从远程URL转换文档为PDF
- 优化docFileTransferPdf方法,提高转换效率并避免重复转换
This commit is contained in:
2024-10-16 15:04:47 +08:00
parent 189c4e4ed8
commit 884527f55b
3 changed files with 254 additions and 5 deletions
@@ -12,10 +12,10 @@ import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionAdvi
import com.jero.modules.activiti.process.esRevisionAdvice.service.EsRevisionService;
import com.jero.modules.laws.common.constant.FieldCommon;
import com.jero.modules.laws.common.service.ILawsCommonService;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardPlanService;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.tag.enums.TableNameEnum;
import com.jero.modules.util.SysOnlyOfficePdfUtil;
import lombok.SneakyThrows;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
@@ -60,12 +60,12 @@ public class ProcessESRevisionEndListener implements ExecutionListener {
@Resource
private EsRevisionAdviceService revisionAdviceService;
@Resource
private SysOnlyOfficePdfUtil sysOnlyOfficePdfUtil;
@Value(value = "${jero.uploadType}")
private String uploadType;
@Resource
private EnterpriseStandardPlanService planService;
@SneakyThrows
@Override
public void notify(DelegateExecution delegateExecution) {
@@ -105,7 +105,12 @@ public class ProcessESRevisionEndListener implements ExecutionListener {
variables.put(FieldCommon.ID, standardId);
String onEditFile = data.getOnEditFile();
// 发布稿
variables.put(FieldCommon.FILE_PUBLISH_OF_ORIGINAL, onEditFile);
List<OSSFile> ossFileList = sysOnlyOfficePdfUtil.docFileTransferPdf(onEditFile);
if (ossFileList != null && !ossFileList.isEmpty()) {
variables.put(FieldCommon.FILE_PUBLISH_OF_ORIGINAL, onEditFile + "," + ossFileList.get(0).getId());
} else {
variables.put(FieldCommon.FILE_PUBLISH_OF_ORIGINAL, onEditFile);
}
return variables;
}