From e7e00697a78ed7a5aa295d0104c89329eb2739c0 Mon Sep 17 00:00:00 2001
From: linzhijie <1003392067@qq.com>
Date: 星期五, 21 十月 2022 08:50:43 +0800
Subject: [PATCH] 线程更改

---
 src/main/java/com/ots/common/utils/poi/WordUtil.java |   36 +++++++++++++++++++++++++-----------
 1 files changed, 25 insertions(+), 11 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 4363b87..95c4305 100644
--- a/src/main/java/com/ots/common/utils/poi/WordUtil.java
+++ b/src/main/java/com/ots/common/utils/poi/WordUtil.java
@@ -407,6 +407,9 @@
             if(tableEnum == TableEnum.table4){
                 if(tableNum != null && tableNum != 8){
                     for (int i = tableNum; i <= tableNum + 4; i++) {
+                        if(i+2 > table.getRows().size()){
+                            continue;
+                        }
                         XWPFTableRow row = table.getRows().get(i+2);
                         List<XWPFTableCell> cells = row.getTableCells();
                         changeText(cells.get(0).getParagraphs().get(0),"#"+(i+1)+".");
@@ -1119,7 +1122,7 @@
             if(StringUtils.contains(keyValue, "%table-line-feed%")){
                 String[] keyValues = keyValue.split("%table-line-feed%");
                 runValue = delDynList(keyTemp, Arrays.asList(keyValues), paragraph, document,1);
-            }else{
+            }else if(StringUtils.contains(keyValue, "%line-feed%")){
                 String[] keyValues = keyValue.split("%line-feed%");
                 runValue = delDynList(keyTemp, Arrays.asList(keyValues), paragraph, document,0);
             }
@@ -1164,21 +1167,24 @@
             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.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);
 
@@ -1325,7 +1331,7 @@
 
             String key = "%" + textSet.getKey() + "%";
             if (text.indexOf(key) != -1) {
-                text = text.replaceAll(key, (String) textMap.get(textSet.getKey()));
+                text = text.replaceAll(key, String.valueOf(textMap.get(textSet.getKey())));
                 repText = text;
                 if (checkText(text)) {
                     continue;
@@ -1773,7 +1779,15 @@
 
             //鏇存敼琛ㄦ牸鐨勫��
             textMap.put("sendEmailFileName", "JAQ");
+            textMap.put("SelectUsers",8);
+            //changeTable(document, textMap);
+
+
+            changeText(document, textMap);
+            changeTextBox(document, textMap);
+            addTableValue(document, null);
             changeTable(document, textMap);
+            //changChart(textMap, document, reportType, dataPath);
 
             //寤虹珛鏂囦欢瀵硅薄
             File file = new File("C:\\Users\\Administrator\\Desktop\\JAQ涓枃鐗�1.docx");

--
Gitblit v1.9.1