From e3f8089c830d5c6e7477090cf447bed65e80be9f Mon Sep 17 00:00:00 2001
From: zhijie <1003392067@qq.com>
Date: 星期一, 19 九月 2022 00:38:39 +0800
Subject: [PATCH] 优化导出报告

---
 src/main/java/com/ots/common/utils/poi/WordUtil.java |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/ots/common/utils/poi/WordUtil.java b/src/main/java/com/ots/common/utils/poi/WordUtil.java
index 5407cd4..cbb70c2 100644
--- a/src/main/java/com/ots/common/utils/poi/WordUtil.java
+++ b/src/main/java/com/ots/common/utils/poi/WordUtil.java
@@ -1163,21 +1163,25 @@
             reportType = getTypeIfIsSAQ(tReportTemplate, reportType);
             reportType = getPositionIfJAQ(textMap, reportType);
             reportName = textMap.get("sendEmailFileName") + "_" + reportType + "_" + ReportTypeNameEnum.valueOf(tReportTemplate.getTemplateType()).getCode() + "_" + ReportTypeNameEnum.valueOf(tReportTemplate.getLangType()).getCode() + ".docx";
-
             reportName = reportName.replaceAll(" ", "_");
-            out = getDownLoadFileOutputStream(reportName);
 
-            log.info("reportTemplate:" + fileName);
-            //String templateType = tReportTemplate.getTemplateType();
-            setChageWord(fileName, out, textMap, tReportTemplate.getReportType(),tReportTemplate.getDataPath(), autoTableMap);
-            out.flush();
-            changColorIfJAQ(textMap, out, reportName, tReportTemplate.getReportType());
+            //妯℃澘鏂囦欢闇�瑕佸姞閿�
+            synchronized (reportName.intern()){
+                out = getDownLoadFileOutputStream(reportName);
+                log.info("reportTemplate:" + fileName);
+                //String templateType = tReportTemplate.getTemplateType();
+                setChageWord(fileName, out, textMap, tReportTemplate.getReportType(),tReportTemplate.getDataPath(), autoTableMap);
+                out.flush();
+                changColorIfJAQ(textMap, out, reportName, tReportTemplate.getReportType());
+            }
+
             //PAQ銆丮AQTR閲囩敤鏂扮殑doc杞琾df
             if(ReportTypeEnum.PAQ.getCode().equals(reportType) || ReportTypeEnum.MAQTR.getCode().equals(reportType)){
                 PdfUtil.convertPDF(EssConfig.getProfile() + "/" + reportName);
             }else{
-                ShellTool.execLibreofficeCommand("pdf", EssConfig.getProfile() + "/" + reportName, EssConfig.getProfile() + "/");
-
+                //ShellTool.execLibreofficeCommand("pdf", EssConfig.getProfile() + "/" + reportName, EssConfig.getProfile() + "/");
+                ShellTool shellTool = ShellTool.builder();
+                shellTool.execNewLibreofficeCommand("pdf", EssConfig.getProfile() + "/" + reportName, EssConfig.getProfile() + "/" + reportName.replace("docx","pdf"));
             }
             zipFilePath = getPdfPath(reportName);
 

--
Gitblit v1.9.1