From 85af821201ec2da71f39cf474995289c82118404 Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期四, 26 十二月 2024 14:27:42 +0800
Subject: [PATCH] feat:增加PAQ后台手动导入功能

---
 src/main/java/com/ots/project/tool/report/LAQ/chart/LAQChart.java |  101 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 77 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/ots/project/tool/report/LAQ/chart/LAQChart.java b/src/main/java/com/ots/project/tool/report/LAQ/chart/LAQChart.java
index 96f6808..404d971 100644
--- a/src/main/java/com/ots/project/tool/report/LAQ/chart/LAQChart.java
+++ b/src/main/java/com/ots/project/tool/report/LAQ/chart/LAQChart.java
@@ -48,7 +48,7 @@
 
 
     public static void main(String[] args) throws Exception {
-        String dataPath = "D:\\娴嬭瘎绯荤粺\\闇�姹俓\2023\\5.棰嗗娼滃姏鎶ュ憡\\report\\LAQ琛ㄥご鏁版嵁鏂囦欢.xlsx";
+        String dataPath = "D:\\娴嬭瘎绯荤粺\\闇�姹俓\LAQ\\report\\LAQ琛ㄥご鏁版嵁鏂囦欢.xlsx";
         // 鑾峰彇瀵煎叆鏁版嵁
         File file = new File(dataPath);
         InputStream in = new FileInputStream(file);
@@ -60,18 +60,30 @@
         for (int i = 0; i < laqTemplateList.size(); i++) {
             LAQTemplate laqTemplate = laqTemplateList.get(i);
             //缁勮鎶ュ憡鎵�鐢ㄦ暟鎹�
-            Map<String, String> textMap = new HashMap<>();
-            textMap.put("sendEmailFileName",laqTemplate.getName());
-            textMap.put("nowDate", DateUtils.getDate());
-            MapDataUtil.objectToMap(laqTemplate,textMap);
+            Map<String, Object> textMap = new HashMap<>();
+//            textMap.put("sendEmailFileName",laqTemplate.getName());
+//            textMap.put("nowDate", DateUtils.getDate());
+//            MapDataUtil.objectToMap(laqTemplate,textMap);
+            textMap.put("olas","50");
+            textMap.put("ca","32");
+            textMap.put("bla","34");
+            textMap.put("nr","3");
+            textMap.put("ar","45");
+            textMap.put("open","67");
+            textMap.put("cons","12");
+            textMap.put("extra","48");
+            textMap.put("agree","90");
+            textMap.put("emosta","23");
+//            textMap.put("perfomance","0");
+
 
             LAQReport report = new LAQReport();
-            ReportResultData resultData = report.getTemplateParameters(textMap, ReportTypeEnum.LAQ, LangTypeEnum.codeOf("English"));
+//            ReportResultData resultData = report.getTemplateParameters(textMap, ReportTypeEnum.LAQ, LangTypeEnum.codeOf("English"));
 //            TReportTemplate template = null;
 //            String zipFileName = WordUtil.makeReportFile("D:\\娴嬭瘎绯荤粺\\闇�姹俓\LAQ\\report\\LAQ鑻辨枃鎶ュ憡-20230926.docx", template, textMap, new HashMap<>(), deleteStrList);
 //            fileNameList.add(zipFileName);
             ZipSecureFile.setMinInflateRatio(0.001);
-            try (OutputStream os = new FileOutputStream("D:\\娴嬭瘎绯荤粺\\闇�姹俓\2023\\5.棰嗗娼滃姏鎶ュ憡\\report\\LAQ.docx");XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage("D:\\娴嬭瘎绯荤粺\\闇�姹俓\2023\\5.棰嗗娼滃姏鎶ュ憡\\report\\LAQ鑻辨枃鎶ュ憡-20230926.docx"))){
+            try (OutputStream os = new FileOutputStream("D:\\娴嬭瘎绯荤粺\\闇�姹俓\LAQ\\report\\LAQ鑻辨枃妯℃澘-wzp-淇敼鐗�-1.docx");XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage("D:\\娴嬭瘎绯荤粺\\闇�姹俓\LAQ\\report\\LAQ鑻辨枃妯℃澘-wzp-淇敼鐗�.docx"))){
                 Map<Integer,List<SeriesData>> seriesDatas = initData(textMap);
                 changeChart(document,seriesDatas,textMap);
                 document.write(os);
@@ -85,23 +97,40 @@
     }
 
     /**
+     * 鏇挎崲LAQ鍥捐〃鏁版嵁
+     * @param document 鏂囨。瀵硅薄
+     * @param textMap 鏁版嵁婧�
+     */
+    public static void changeChart(XWPFDocument document, Map<String, Object> textMap) {
+        Map<Integer,List<SeriesData>> seriesDatas = initData(textMap);
+        changeChart(document,seriesDatas,textMap);
+    }
+
+    /**
      * 鍒濆鍖栨姤鍛婃暟鎹�
      * @param textMap
      * @return
      */
-    public static Map<Integer,List<SeriesData>> initData(Map<String, String> textMap){
+    public static Map<Integer,List<SeriesData>> initData(Map<String, Object> textMap){
         Map<Integer,List<SeriesData>> seriesDataMap = new HashMap<>();
         //鑾峰彇鍛戒腑鏁板��
-        Double olas = Double.valueOf(textMap.get("olas"));
-        Double ca = Double.valueOf(textMap.get("ca"));
-        Double bla = Double.valueOf(textMap.get("bla"));
-        Double nr = Double.valueOf(textMap.get("nr"));
-        Double ar = Double.valueOf(textMap.get("ar"));
-        Double open = Double.valueOf(textMap.get("open"));
-        Double cons = Double.valueOf(textMap.get("cons"));
-        Double extra = Double.valueOf(textMap.get("extra"));
-        Double agree = Double.valueOf(textMap.get("agree"));
-        Double emosta = Double.valueOf(textMap.get("emosta"));
+        Double olas = Double.valueOf((String)textMap.get("olas"));
+        Double ca = Double.valueOf((String)textMap.get("ca"));
+        Double bla = Double.valueOf((String)textMap.get("bla"));
+        Double nr = Double.valueOf((String)textMap.get("nr"));
+        Double ar = Double.valueOf((String)textMap.get("ar"));
+        Double open = Double.valueOf((String)textMap.get("open"));
+        Double cons = Double.valueOf((String)textMap.get("cons"));
+        Double extra = Double.valueOf((String)textMap.get("extra"));
+        Double agree = Double.valueOf((String)textMap.get("agree"));
+        Double emosta = Double.valueOf((String)textMap.get("emosta"));
+        Double perfomance;
+        if(textMap.get("perfomance") != null){
+            perfomance = Double.valueOf((String)textMap.get("perfomance"));
+        }else{
+            perfomance = -1D;
+        }
+
 
         // 鍥捐〃1
         List<SeriesData> seriesDatas = Arrays.asList(
@@ -257,6 +286,17 @@
         );
         seriesDataMap.put(10,seriesDatas);
 
+        // 鍥捐〃11
+        seriesDatas = Arrays.asList(
+                new SeriesData("X 鍊�", Arrays.asList(
+                        new RowData("X 鍊�", perfomance.doubleValue() == -1 ? perfomance.doubleValue() : olas.doubleValue())
+                )),
+                new SeriesData("Y 鍊�", Arrays.asList(
+                        new RowData("Y 鍊�", perfomance.doubleValue())
+                ))
+        );
+        seriesDataMap.put(11,seriesDatas);
+
         return seriesDataMap;
     }
 
@@ -266,7 +306,7 @@
      * @param seriesDataMap
      * @param textMap 鏁版嵁婧�
      */
-    public static void changeChart(XWPFDocument document, Map<Integer,List<SeriesData>> seriesDataMap, Map<String, String> textMap) {
+    public static void changeChart(XWPFDocument document, Map<Integer,List<SeriesData>> seriesDataMap, Map<String, Object> textMap) {
         if(StringUtils.isEmpty(textMap)){
             return;
         }
@@ -308,7 +348,7 @@
 
                     //鏁g偣鍥�
                     if (!plot.getScatterChartList().isEmpty()) {
-                        List<SeriesData> seriesDatas = seriesDataMap.get(10);
+                        List<SeriesData> seriesDatas = seriesDataMap.get(barIndex);
                         CTScatterChart scatterChart = plot.getScatterChartArray(0);
                         //System.out.println("鏁g偣鍥緖"+plot.getScatterChartList().size()+"}");
                         //鍒锋柊鍐呯疆excel鏁版嵁
@@ -325,13 +365,14 @@
                             updateScatterChart(seriesDatas, ser.getXVal(), ser.getYVal());
                             ++i;
                         }
+                        barIndex++;
                     }
                 }
             }
 
         } catch (Exception e) {
             e.printStackTrace();
-            log.error("MAQTR鏇挎崲word鍥捐〃 鏁g偣鍥惧浘褰㈠け璐ワ細{}",e);
+            log.error("LAQ.鏇挎崲word鍥捐〃 鏁g偣鍥惧浘褰㈠け璐ワ細{}",e);
         }
     }
 
@@ -411,7 +452,11 @@
                 if(StringUtils.isNotEmpty(cellValu.valueStr)){
                     cell.setCellValue(cellValu.valueStr);
                 }else{
-                    cell.setCellValue(cellValu.value);
+                    if(cellValu.value != -1){
+                        cell.setCellValue(cellValu.value);
+                    }else{
+                        cell.setCellValue((String) null);
+                    }
                 }
 
             }
@@ -456,7 +501,11 @@
             CTNumVal val = xNumCnt > i ? xDataSource.getNumRef().getNumCache().getPtArray(i)
                     : xDataSource.getNumRef().getNumCache().addNewPt();
             val.setIdx(i);
-            val.setV(String.format("%.0f", cellValu.value));
+            if(cellValu.value == -1){
+                val.setV(null);
+            }else {
+                val.setV(String.format("%.0f", cellValu.value));
+            }
         }
 
         //鏇存柊Y鍧愭爣缂撳瓨
@@ -465,7 +514,11 @@
             CTNumVal val = yNumCnt > i ? yDataSource.getNumRef().getNumCache().getPtArray(i)
                     : yDataSource.getNumRef().getNumCache().addNewPt();
             val.setIdx(i);
-            val.setV(String.format("%.0f", cellValu.value));
+            if(cellValu.value == -1){
+                val.setV(null);
+            }else {
+                val.setV(String.format("%.0f", cellValu.value));
+            }
         }
 
         // 鏇存柊瀵瑰簲excel鐨勮寖鍥�

--
Gitblit v1.9.1