From 56c8bc18def3992259da50948119259f571d04ee Mon Sep 17 00:00:00 2001 From: zhijie <1003392067@qq.com> Date: 星期二, 08 六月 2021 23:25:39 +0800 Subject: [PATCH] MAQ简易版泰文支持,SAQ简易版支持 --- src/main/java/com/ots/common/utils/poi/WordUtil.java | 56 ++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 40 insertions(+), 16 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 6de620f..2e97d4a 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.report.JAQ.condition.Table2; import com.ots.project.tool.report.JAQ.condition.Table3; import com.ots.project.tool.report.JAQ.condition.Table4; +import com.ots.project.tool.report.SAQ.chart.SAQChart; import org.apache.commons.collections.map.HashedMap; import org.apache.poi.ooxml.POIXMLDocument; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; @@ -177,6 +178,9 @@ if (run.toString().indexOf("%TTime%") != -1) { run.setText(textMap.get("reportGenerationDate").toString(), 0); } + if (run.toString().indexOf("%LIBSAQGS0018%") != -1) { + run.setText(textMap.get("LIBSAQGS0018").toString(), 0); + } } } } @@ -254,7 +258,7 @@ public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind, int topPosition) { - long relativeHeight = 251649024l + topPosition; + long relativeHeight = 251649024L + topPosition; String anchorXML = "<wp:anchor xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" " + "simplePos=\"0\" relativeHeight=\"" + relativeHeight + "\" behindDoc=\"" + ((behind) ? 1 : 0) + "\" locked=\"0\" layoutInCell=\"1\" allowOverlap=\"1\">" @@ -369,17 +373,19 @@ List<XWPFTableCell> cells = row.getTableCells(); for (XWPFTableCell cell : cells) { - + //濡傛灉褰撳墠琛ㄦ牸鍖呭惈%灏变唬琛ㄩ渶瑕佹浛鎹� if (checkText(cell.getText())) { List<XWPFParagraph> paragraphs = cell.getParagraphs(); for (XWPFParagraph paragraph : paragraphs) { - + //鑾峰彇鎵�鏈夎 List<IRunElement> iRunElements = paragraph.getIRuns(); List<XWPFRun> runs = new ArrayList<>(); + //閬嶅巻鎵�鏈夎 for (IRunElement iRunElement : iRunElements) { runs.add((XWPFRun) iRunElement); } int runPosition = 0; + //鏇挎崲鎵�鏈夎〃鏍肩殑鏂囧瓧 for (XWPFRun run : runs) { setTextValue(textMap, document, paragraph, runPosition, run); } @@ -428,7 +434,7 @@ } public static String changeValue(String runValue, Map<String, Object> textMap, XWPFRun run, XWPFParagraph paragraph, XWPFDocument document, int runPosition) throws IOException, org.apache.poi.openxml4j.exceptions.InvalidFormatException { - + log.debug("changeText:{}",runValue); Set<Map.Entry<String, Object>> textSets = textMap.entrySet(); for (Map.Entry<String, Object> textSet : textSets) { @@ -835,15 +841,25 @@ String filePath = getTemplateDownLoadPathByUpLoad(fileName); XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage(getTemplateDownLoadPathByUpLoad(fileName))); - + + //璁剧疆鏂囨湰 changeText(document, textMap); - + + //璁剧疆鏂囨湰妗� changeTextBox(document, textMap); - + + //璁剧疆鍥捐〃 + if (Objects.equals(reportType, ReportTypeEnum.SAQ.getCode())) { + SAQChart.changeChart(document, textMap); + } + + //鎻掑叆琛ㄦ牸 addTableValue(document, autoTableMap); - + + //鏇存敼琛ㄦ牸鐨勫�� changeTable(document, textMap); - + + //璁剧疆鍥捐〃鎺т欢 changChar(textMap, document, reportType, templateType); document.write(out); } @@ -872,6 +888,7 @@ } } private static String getValByKey(String text, Map<String, Object> textMap) { + log.debug("changeTextBox:{}",text); if (!checkText(text)) { return text; } @@ -927,6 +944,14 @@ document.write(out); out.flush(); } + + /** + * 璁剧疆鍥炬爣鎺т欢 + * @param textMap + * @param document + * @param reportType + * @param templateType + */ private static void changChar(Map<String, Object> textMap, XWPFDocument document, String reportType, String templateType) { if (StringUtils.isEmpty(reportType) || StringUtils.isEmpty(templateType)) { return; @@ -935,20 +960,19 @@ if (ExamUtil.isListEmpty(charts)) { return; } - if (StringUtils.equals(reportType, "MAQ")) { - + if (StringUtils.equals(reportType, ReportTypeEnum.MAQ.getCode())) { setMAQCompleteChars(textMap, charts); } else if (StringUtils.equals(reportType, ReportTypeEnum.MAQV2.getCode())) { setMAQ_V2CompleteChars(textMap, charts); - } else if (StringUtils.equals(reportType, "RuiLin")) { + } else if (StringUtils.equals(reportType, ReportTypeEnum.RuiLin.getCode())) { setRuiLinChar(textMap, charts); } else { return; } } private static void setMAQ_V2CompleteChars(Map<String, Object> textMap, List<XWPFChart> charts) { - String p_People32 = textMap.get("P_Task31").toString(); - String p_Task31 = textMap.get("P_People32").toString(); + String p_Task31 = textMap.get("P_Task31").toString(); + String p_People32 = textMap.get("P_People32").toString(); String P_INCON25 = textMap.get("P_INCON25").toString(); String P_IM24 = textMap.get("P_IM24").toString(); String P_SDE23 = textMap.get("P_SDE23").toString(); @@ -979,8 +1003,8 @@ List<CTBarSer> serList = ctBarChart.getSerList(); CTBarSer ctBarSer = serList.get(0); CTNumDataSource val = ctBarSer.getVal(); - val.getNumRef().getNumCache().getPtList().get(0).setV(p_Task31); - val.getNumRef().getNumCache().getPtList().get(1).setV(p_People32); + val.getNumRef().getNumCache().getPtList().get(0).setV(p_People32); + val.getNumRef().getNumCache().getPtList().get(1).setV(p_Task31); } } catch (Exception e) { e.printStackTrace(); -- Gitblit v1.9.1