From 07b356ba6331e4a0be8558d64bb3b5db804c4389 Mon Sep 17 00:00:00 2001
From: linzhijie <1003392067@qq.com>
Date: 星期二, 14 二月 2023 10:12:18 +0800
Subject: [PATCH] 多线程导出临时去除

---
 src/main/java/com/ots/common/utils/poi/WordUtil.java |   50 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 31 insertions(+), 19 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 a31f833..c3b47de 100644
--- a/src/main/java/com/ots/common/utils/poi/WordUtil.java
+++ b/src/main/java/com/ots/common/utils/poi/WordUtil.java
@@ -17,6 +17,7 @@
 import com.ots.project.tool.exam.ExamUtil;
 import com.ots.project.tool.exam.ImageUtil;
 import com.ots.project.tool.exam.ZipUtil;
+import com.ots.project.tool.libreoffice.LibreOfficeUtil;
 import com.ots.project.tool.report.MAQTR.chart.MAQTRChart;
 import com.ots.project.tool.report.PAQ.chart.PAQChart;
 import org.apache.commons.collections.map.HashedMap;
@@ -1167,21 +1168,27 @@
             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());
+            //妯℃澘鏂囦欢闇�瑕佸姞閿�
+            out = getDownLoadFileOutputStream(reportName);
+            //synchronized (fileName.intern()){
+                //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 shellTool = ShellTool.builder();
+                // shellTool.execNewLibreofficeCommand("pdf", EssConfig.getProfile() + "/" + reportName, EssConfig.getProfile() + "/" + reportName.replace("docx","pdf"));
 
+                //鏂版柟娉曟祴璇�
+                //LibreOfficeUtil.convertOffice2PDFSyncIsSuccess(new File(EssConfig.getProfile() + "/" + reportName),new File(EssConfig.getProfile() + "/" + reportName.replace("docx","pdf")));
             }
             zipFilePath = getPdfPath(reportName);
 
@@ -1390,19 +1397,24 @@
         if (ExamUtil.isListEmpty(charts)) {
             return;
         }
-        if (StringUtils.equals(reportType, ReportTypeEnum.MAQ.getCode())) {
-            setMAQCompleteChars(textMap, charts);
-        } else if (StringUtils.equals(reportType, ReportTypeEnum.MAQV2.getCode()) || StringUtils.equals(reportType, ReportTypeEnum.MAQIAR.getCode())) {
-            setMAQ_V2CompleteChars(textMap, charts);
-        } else if (StringUtils.equals(reportType, ReportTypeEnum.RuiLin.getCode())) {
-            setRuiLinChar(textMap, charts);
-        } else if (StringUtils.equals(reportType, ReportTypeEnum.PAQ.getCode())) {
-            PAQChart.changeChart(document, textMap);
-        } else if (StringUtils.equals(reportType, ReportTypeEnum.MAQTR.getCode())) {
-            MAQTRChart.changeMAQTRChart(document, dataPath);
-        } else {
-            return;
+        try{
+            if (StringUtils.equals(reportType, ReportTypeEnum.MAQ.getCode())) {
+                setMAQCompleteChars(textMap, charts);
+            } else if (StringUtils.equals(reportType, ReportTypeEnum.MAQV2.getCode()) || StringUtils.equals(reportType, ReportTypeEnum.MAQIAR.getCode())) {
+                setMAQ_V2CompleteChars(textMap, charts);
+            } else if (StringUtils.equals(reportType, ReportTypeEnum.RuiLin.getCode())) {
+                setRuiLinChar(textMap, charts);
+            } else if (StringUtils.equals(reportType, ReportTypeEnum.PAQ.getCode())) {
+                PAQChart.changeChart(document, textMap);
+            } else if (StringUtils.equals(reportType, ReportTypeEnum.MAQTR.getCode())) {
+                MAQTRChart.changeMAQTRChart(document, dataPath);
+            } else {
+                return;
+            }
+        }catch (Exception e){
+            e.printStackTrace();
         }
+
     }
     private static void setMAQ_V2CompleteChars(Map<String, Object> textMap, List<XWPFChart> charts) {
         String p_Task31 = textMap.get("P_Task31").toString();

--
Gitblit v1.9.1