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 | 39 +++++++++++++++++++++------------------ 1 files changed, 21 insertions(+), 18 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 a394a0f..cbb70c2 100644 --- a/src/main/java/com/ots/common/utils/poi/WordUtil.java +++ b/src/main/java/com/ots/common/utils/poi/WordUtil.java @@ -1113,17 +1113,16 @@ } else { String keyTemp = textSet.getKey(); String keyValue = Objects.isNull(textSet.getValue()) ? "" : textSet.getValue().toString(); - if (StringUtils.contains(keyValue, "%line-feed%") || StringUtils.contains(keyValue, "%table-line-feed%")) { - //琛ㄦ牸閲岀殑鎹㈣ 鐗规畩澶勭悊 鍥犱负娌℃湁娈佃惤 - if(StringUtils.contains(keyValue, "table")){ - String[] keyValues = keyValue.split("%table-line-feed%"); - runValue = delDynList(keyTemp, Arrays.asList(keyValues), paragraph, document,1); - }else{ - String[] keyValues = keyValue.split("%line-feed%"); - runValue = delDynList(keyTemp, Arrays.asList(keyValues), paragraph, document,0); - } + //琛ㄦ牸閲岀殑鎹㈣ 鐗规畩澶勭悊 鍥犱负娌℃湁娈佃惤 + if(StringUtils.contains(keyValue, "%table-line-feed%")){ + String[] keyValues = keyValue.split("%table-line-feed%"); + runValue = delDynList(keyTemp, Arrays.asList(keyValues), paragraph, document,1); + }else{ + String[] keyValues = keyValue.split("%line-feed%"); + runValue = delDynList(keyTemp, Arrays.asList(keyValues), paragraph, document,0); } + log.info("ChangeValue鐨刱ey鍊硷細" + key + " ChangeValue鐨剉alue鍊硷細" + keyValue); runValue = runValue.replaceAll(key, keyValue); } @@ -1164,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