From 1b95f852d2aed044cc28e72f23fecb4da1994e0c Mon Sep 17 00:00:00 2001 From: linzhijie <1003392067@qq.com> Date: 星期二, 20 九月 2022 16:04:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/framework-v10-20220422' into framework-v11-20220919 --- 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