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/project/tool/report/APIFan/chart/APIFanChart.java |   30 ++++++++++++++++++------------
 src/main/java/com/ots/common/utils/poi/WordUtil.java                    |    7 ++++++-
 2 files changed, 24 insertions(+), 13 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 c5010c7..549121a 100644
--- a/src/main/java/com/ots/common/utils/poi/WordUtil.java
+++ b/src/main/java/com/ots/common/utils/poi/WordUtil.java
@@ -18,6 +18,7 @@
 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;
@@ -1434,7 +1435,11 @@
                 CIAQChart.changeChart(document, textMap);
             } else if (StringUtils.equals(reportType, ReportTypeEnum.LAQ.getCode())) {
                 LAQChart.changeChart(document, textMap);
-            } else {
+            } else if(StringUtils.equals(reportType, ReportTypeEnum.APIFan.getCode()))
+            {
+                APIFanChart.changeChart(document,textMap);
+            }
+            else {
                 return;
             }
         }catch (Exception e){
diff --git a/src/main/java/com/ots/project/tool/report/APIFan/chart/APIFanChart.java b/src/main/java/com/ots/project/tool/report/APIFan/chart/APIFanChart.java
index 46fdc78..53d0875 100644
--- a/src/main/java/com/ots/project/tool/report/APIFan/chart/APIFanChart.java
+++ b/src/main/java/com/ots/project/tool/report/APIFan/chart/APIFanChart.java
@@ -40,7 +40,7 @@
 
     //鑷垜璁ょ煡鍑嗙‘搴�
     private static String p_sdecepT1;
-    private static String p_sdecept10;
+    private static String p_sdecep10;
     //鑷垜闃愯堪鐨勭湡瀹炲害
     private static String p_impmgT1;
     private static String p_impmg11;
@@ -66,7 +66,7 @@
             textMap.put("P_Emotct07","60");
             textMap.put("P_Stress08","61");
             textMap.put("P_SdecepT1","62");
-            textMap.put("P_Sdecept10","63");
+            textMap.put("P_Sdecep10","63");
             textMap.put("P_ImpmgT1","64");
             textMap.put("P_Impmg11","65");
             textMap.put("BST1","66");
@@ -91,7 +91,7 @@
             return false;
         }
         //鍥捐〃鏁版嵁
-        changePAQChart(document,seriesDatas);
+        changeAPIFanChart(document,seriesDatas);
         return true;
     }
 
@@ -129,14 +129,14 @@
         p_stress08 = (String) textMap.get("P_Stress08");
 
         p_sdecepT1 = (String) textMap.get("P_SdecepT1");
-        p_sdecept10 = (String) textMap.get("P_Sdecept10");
+        p_sdecep10 = (String) textMap.get("P_Sdecep10");
         p_impmgT1 = (String) textMap.get("P_ImpmgT1");
         p_impmg11 = (String) textMap.get("P_Impmg11");
         bst1 = (String) textMap.get("BST1");
         bst2 = (String) textMap.get("BST2");
 
         String[]  paramValue = new String[]{p_total, p_retent09, p_social01,p_cooper02,p_analth03,p_initia04,
-                p_persis05,p_depend06,p_emotct07,p_stress08,p_sdecepT1, p_sdecept10,p_impmgT1,p_impmg11,bst1,bst2};
+                p_persis05,p_depend06,p_emotct07,p_stress08,p_sdecepT1, p_sdecep10,p_impmgT1,p_impmg11,bst1,bst2};
 
         //鍒ゆ柇鏄惁涓虹┖
         if (checkParamsIsNull(paramValue))
@@ -157,7 +157,7 @@
         Double P_Emotct07 = Double.valueOf(p_emotct07);
         Double P_Stress08 = Double.valueOf(p_stress08);
         Double P_SdecepT1 = Double.valueOf(p_sdecepT1);
-        Double P_Sdecept10 = Double.valueOf(p_sdecept10);
+        Double P_Sdecep10 = Double.valueOf(p_sdecep10);
         Double P_ImpmgT1 = Double.valueOf(p_impmgT1);
         Double P_Impmg11 = Double.valueOf(p_impmg11);
         Double BST1 = Double.valueOf(bst1);
@@ -179,7 +179,7 @@
 
                 )),
                 new SeriesData("鑷垜璁ょ煡鐨勫噯纭害", Arrays.asList(
-                        new RowData("鑷垜璁ょ煡鐨勫噯纭害", P_Sdecept10),//椤哄簭瑕佸�掔疆
+                        new RowData("鑷垜璁ょ煡鐨勫噯纭害", P_Sdecep10),//椤哄簭瑕佸�掔疆
                         new RowData("鑷垜璁ょ煡鐨勫噯纭害", P_SdecepT1)//椤哄簭瑕佸�掔疆
 
                 )),
@@ -204,7 +204,7 @@
      * @param doc
      * @param seriesDatas
      */
-    public static void changePAQChart(XWPFDocument doc,List<SeriesData> seriesDatas) {
+    public static void changeAPIFanChart(XWPFDocument doc,List<SeriesData> seriesDatas) {
         try {
             //鍔ㄦ�佸埛鏂板浘琛�
             List<POIXMLDocumentPart> relations = doc.getRelations();
@@ -219,24 +219,30 @@
                     // excel鍐呯疆琛ㄦ牸
                     XSSFWorkbook workbook = chart.getWorkbook();
                     XSSFSheet sheet = workbook.getSheetAt(0);
-
+                    String sheetName =  sheet.getSheetName();
 
                     //鏌卞舰鍥�
                     if (!plot.getBarChartList().isEmpty()) {
                         CTBarChart barChart = plot.getBarChartArray(0);
                         //鍒锋柊鍐呯疆excel鏁版嵁
                         List<SeriesData> excelData = new ArrayList<>();
-                        excelData.add(seriesDatas.get(k));
+                        //excelData.add(seriesDatas.get(k));
 
+                        //閫氳繃sheetName鏉ヨВ鍐冲尮閰嶅琛ㄧ殑闂
+                        SeriesData seriesData = seriesDatas.stream()
+                                .filter(item -> item.getName().equals(sheetName))
+                                .findFirst()
+                                .orElse(null);
+                        excelData.add(seriesData);
                         refreshExcel(excelData, workbook, sheet);
                         workbook.write(chart.getPackagePart().getOutputStream());
 
                         //鏌卞舰鍥炬暟鎹簮
-                        List<SeriesData> barDatas = seriesDatas;
+//                        List<SeriesData> barDatas = seriesDatas;
                         int i = 0;
                         for (CTBarSer ser : barChart.getSerList()) {
                             //鏇存柊鏌卞舰鍥炬暟鎹紦瀛�
-                            updateBarChart(barDatas.get(k), ser.getVal());
+                            updateBarChart(seriesData, ser.getVal());
                             ++i;
                         }
 

--
Gitblit v1.9.1