From ad58ba3d20b080ef113cbd196000028f83308bb3 Mon Sep 17 00:00:00 2001 From: wzp <2040239371@qq.com> Date: 星期三, 31 一月 2024 11:59:09 +0800 Subject: [PATCH] 多表要按sheet名获取数据,多表每次读取随机修正 --- src/main/java/com/ots/common/utils/poi/WordUtil.java | 94 +++++++++++++++++++++++++++++++++------------- 1 files changed, 67 insertions(+), 27 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 95c4305..549121a 100644 --- a/src/main/java/com/ots/common/utils/poi/WordUtil.java +++ b/src/main/java/com/ots/common/utils/poi/WordUtil.java @@ -17,11 +17,16 @@ 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.APIFan.chart.APIFanChart; +import com.ots.project.tool.report.CIAQ.chart.CIAQChart; +import com.ots.project.tool.report.LAQ.chart.LAQChart; 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; import org.apache.poi.ooxml.POIXMLDocument; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.apache.poi.openxml4j.util.ZipSecureFile; import org.apache.poi.util.Units; import org.apache.poi.xwpf.usermodel.*; import org.apache.xmlbeans.XmlCursor; @@ -902,9 +907,8 @@ if (checkText(runValue)) { runValue = runValue.replaceAll("%.*%", ""); - runValue = runValue.replaceAll("N/A NONE", ""); - } + runValue = runValue.replaceAll("N/A NONE", ""); return runValue; } @@ -1171,20 +1175,26 @@ //妯℃澘鏂囦欢闇�瑕佸姞閿� out = getDownLoadFileOutputStream(reportName); - synchronized (fileName.intern()){ + //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)){ + //PAQ銆丮AQTR閲囩敤銆丆IAQ銆丄PIFan鏂扮殑doc杞琾df + if(ReportTypeEnum.PAQ.getCode().equals(reportType) || ReportTypeEnum.MAQTR.getCode().equals(reportType) + || ReportTypeEnum.CIAQ.getCode().equals(reportType) ||ReportTypeEnum.APIFan.getCode().equals(reportType)){ PdfUtil.convertPDF(EssConfig.getProfile() + "/" + reportName); + }else if(ReportTypeEnum.LAQ.getCode().equals(reportType)){ + PdfUtil.dockerConvertPDF(EssConfig.getProfile(),EssConfig.getDocx2pdfPath(),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")); + 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); @@ -1277,14 +1287,31 @@ */ private static void setChageWord(String fileName, OutputStream out, Map<String, Object> textMap, String reportType,String dataPath, Map<Integer, Map<Integer, List<String[]>>> autoTableMap) throws IOException, InvalidFormatException, DocumentException { //String filePath = getTemplateDownLoadPathByUpLoad(fileName); + ZipSecureFile.setMinInflateRatio(0.001); XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage(getTemplateDownLoadPathByUpLoad(fileName))); - //璁剧疆鏂囨湰 - changeText(document, textMap); + if (StringUtils.equals(reportType, ReportTypeEnum.JAQ.getCode())) { + //璁剧疆鏂囨湰妗� + changeTextBox(document, textMap); - //璁剧疆鏂囨湰妗� - changeTextBox(document, textMap); + //璁剧疆鏂囨湰 + changeText(document, textMap); + }else { + //璁剧疆鏂囨湰 + changeText(document, textMap); + + //璁剧疆鏂囨湰妗� + changeTextBox(document, textMap); + } + +// //璁剧疆鏂囨湰妗� +// changeTextBox(document, textMap); +// +// //璁剧疆鏂囨湰 +// changeText(document, textMap); + + //鎻掑叆琛ㄦ牸 addTableValue(document, autoTableMap); @@ -1344,9 +1371,9 @@ repText = repText.replaceAll("<BoldText>", ""); repText = repText.replaceAll("</BoldText>", ""); } - if (repText.indexOf("N/A NONE") != -1) { +/* if (repText.indexOf("N/A NONE") != -1) { repText = repText.replaceAll("N/A NONE", ""); - } + }*/ return repText; } public static void changTableColor(String fileName, OutputStream out, List<JAQTableStyle> jaqTableStyleList) throws IOException { @@ -1393,19 +1420,32 @@ 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 if (StringUtils.equals(reportType, ReportTypeEnum.CIAQ.getCode())) { + CIAQChart.changeChart(document, textMap); + } else if (StringUtils.equals(reportType, ReportTypeEnum.LAQ.getCode())) { + LAQChart.changeChart(document, textMap); + } else if(StringUtils.equals(reportType, ReportTypeEnum.APIFan.getCode())) + { + APIFanChart.changeChart(document,textMap); + } + 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