Переглянути джерело

质量月报
- 乙烯/丙烯主产品质量
- 急冷系统关键控制指标
- DS系统关键控制指标
- 碱洗处理系统关键指标
- 废碱处理系统关键指标
- 循环乙烷关键组份含量指标
- 循环丙烷关键含量指标
- 碳二反应器性能指标
- 碳三反应器性能指标
- 裂解C5相关指标
- RPG原料规格
- 一段加氢反应器性能
- 二段加氢反应器性能
以上趋势图的最大值、最小值、平均值计算

wangggziwen 1 рік тому
батько
коміт
8b90b0c49e
18 змінених файлів з 871 додано та 106 видалено
  1. 84 4
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportController.java
  2. 6 6
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS0501Controller.java
  3. 69 3
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS1301Controller.java
  4. 45 4
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS2002Controller.java
  5. 77 3
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS2007Controller.java
  6. 45 3
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS2400Controller.java
  7. 33 3
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS3004Controller.java
  8. 45 1
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS4012Controller.java
  9. 32 2
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS4013Controller.java
  10. 82 3
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS4501Controller.java
  11. 55 1
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS5001Controller.java
  12. 33 3
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS5003Controller.java
  13. 58 3
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS6101Controller.java
  14. 46 3
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS6107Controller.java
  15. 72 3
      master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS6301Controller.java
  16. 3 3
      master/src/main/java/com/ruoyi/project/production/controller/vo/QualityAnalysisVO.java
  17. 47 30
      ui/src/views/production/quality/index.vue
  18. 39 28
      ui/src/views/production/quality/report.vue

+ 84 - 4
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportController.java

@@ -130,7 +130,7 @@ public class TMonthlyQualityReportController extends BaseController
         int endMonth = endDate.getMonth() + 1;
         Map<String, C2ReactorAnalysisVO> dataMap = new HashMap<>();
         do {
-//1st inlet
+            //1st inlet
             TMonthlyQualityReportS3009 tMonthlyQualityReportS3009 = new TMonthlyQualityReportS3009();
             tMonthlyQualityReportS3009.setStartDate(startDate);
             tMonthlyQualityReportS3009.setEndDate(endDate);
@@ -511,7 +511,47 @@ public class TMonthlyQualityReportController extends BaseController
                 startMonth++;
             }
         } while (startYear != endYear || startMonth != endMonth + 1);
-        return AjaxResult.success(dataMap);
+        // 获取map第一个元素
+        List<String> keys = new ArrayList<>(dataMap.keySet());
+        String firstKey = keys.get(0);
+        C2ReactorAnalysisVO firstValue = dataMap.get(firstKey);
+        // 最大值
+        BigDecimal ethyleneSelectivity3rdOutMax = firstValue.getEthyleneSelectivity3rdOut();
+        BigDecimal mapdConversion3rdOutMax = firstValue.getMapdConversion3rdOut();
+        // 最小值
+        BigDecimal ethyleneSelectivity3rdOutMin = firstValue.getEthyleneSelectivity3rdOut();
+        BigDecimal mapdConversion3rdOutMin = firstValue.getMapdConversion3rdOut();
+        // 平均值
+        BigDecimal ethyleneSelectivity3rdOutAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal mapdConversion3rdOutAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal ethyleneSelectivity3rdOutSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal mapdConversion3rdOutSum = new BigDecimal(BigInteger.ZERO);
+        for(Map.Entry entry : dataMap.entrySet()) {
+            C2ReactorAnalysisVO mapValue = (C2ReactorAnalysisVO) entry.getValue();
+            BigDecimal ethyleneSelectivity3rdOut = mapValue.getEthyleneSelectivity3rdOut();
+            BigDecimal mapdConversion3rdOut = mapValue.getMapdConversion3rdOut();
+            if (ethyleneSelectivity3rdOut.compareTo(ethyleneSelectivity3rdOutMax) > 0) { ethyleneSelectivity3rdOutMax = ethyleneSelectivity3rdOut; }
+            if (mapdConversion3rdOut.compareTo(mapdConversion3rdOutMax) > 0) { mapdConversion3rdOutMax = mapdConversion3rdOut; }
+            if (ethyleneSelectivity3rdOut.compareTo(ethyleneSelectivity3rdOutMin) < 0) { ethyleneSelectivity3rdOutMin = ethyleneSelectivity3rdOut; }
+            if (mapdConversion3rdOut.compareTo(mapdConversion3rdOutMin) < 0) { mapdConversion3rdOutMin = mapdConversion3rdOut; }
+            ethyleneSelectivity3rdOutSum = ethyleneSelectivity3rdOutSum.add(ethyleneSelectivity3rdOut);
+            mapdConversion3rdOutSum = mapdConversion3rdOutSum.add(mapdConversion3rdOut);
+        }
+        BigDecimal count = new BigDecimal(dataMap.size());
+        ethyleneSelectivity3rdOutAvg = ethyleneSelectivity3rdOutSum.divide(count, 2, RoundingMode.HALF_UP);
+        mapdConversion3rdOutAvg = mapdConversion3rdOutSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("Ethylene Selectivity(max)="+ ethyleneSelectivity3rdOutMax.toString() + "\t");
+        description.append("MAPD Conversion(max)="+ mapdConversion3rdOutMax.toString() + "\n");
+        description.append("Ethylene Selectivity(min)="+ ethyleneSelectivity3rdOutMin.toString() + "\t");
+        description.append("MAPD Conversion(min)="+ mapdConversion3rdOutMin.toString() + "\n");
+        description.append("Ethylene Selectivity(avg)="+ ethyleneSelectivity3rdOutAvg.toString() + "\t");
+        description.append("MAPD Conversion(avg)="+ mapdConversion3rdOutAvg.toString() + "\n");
+        QualityAnalysisVO qualityVO = new QualityAnalysisVO();
+        qualityVO.setDataMap(dataMap);
+        qualityVO.setDescription(description.toString());
+        return AjaxResult.success(qualityVO);
     }
 
     /**
@@ -1060,7 +1100,47 @@ public class TMonthlyQualityReportController extends BaseController
                 startMonth++;
             }
         } while (startYear != endYear || startMonth != endMonth + 1);
-        return AjaxResult.success(dataMap);
+        // 获取map第一个元素
+        List<String> keys = new ArrayList<>(dataMap.keySet());
+        String firstKey = keys.get(0);
+        C3ReactorAnalysisVO firstValue = dataMap.get(firstKey);
+        // 最大值
+        BigDecimal conversionMax = firstValue.getConversion();
+        BigDecimal propyleneSelectivityMax = firstValue.getPropyleneSelectivity();
+        // 最小值
+        BigDecimal conversionMin = firstValue.getConversion();
+        BigDecimal propyleneSelectivityMin = firstValue.getPropyleneSelectivity();
+        // 平均值
+        BigDecimal conversionAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal propyleneSelectivityAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal conversionSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal propyleneSelectivitySum = new BigDecimal(BigInteger.ZERO);
+        for(Map.Entry entry : dataMap.entrySet()) {
+            C3ReactorAnalysisVO mapValue = (C3ReactorAnalysisVO) entry.getValue();
+            BigDecimal conversion = mapValue.getConversion();
+            BigDecimal propyleneSelectivity = mapValue.getPropyleneSelectivity();
+            if (conversion.compareTo(conversionMax) > 0) { conversionMax = conversion; }
+            if (propyleneSelectivity.compareTo(propyleneSelectivityMax) > 0) { propyleneSelectivityMax = propyleneSelectivity; }
+            if (conversion.compareTo(conversionMin) < 0) { conversionMin = conversion; }
+            if (propyleneSelectivity.compareTo(propyleneSelectivityMin) < 0) { propyleneSelectivityMin = propyleneSelectivity; }
+            conversionSum = conversionSum.add(conversion);
+            propyleneSelectivitySum = propyleneSelectivitySum.add(propyleneSelectivity);
+        }
+        BigDecimal count = new BigDecimal(dataMap.size());
+        conversionAvg = conversionSum.divide(count, 2, RoundingMode.HALF_UP);
+        propyleneSelectivityAvg = propyleneSelectivitySum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("conversion(max)="+ conversionMax.toString() + "\t");
+        description.append("Selectivity(max)="+ propyleneSelectivityMax.toString() + "\n");
+        description.append("conversion(min)="+ conversionMin.toString() + "\t");
+        description.append("Selectivity(min)="+ propyleneSelectivityMin.toString() + "\n");
+        description.append("conversion(avg)="+ conversionAvg.toString() + "\t");
+        description.append("Selectivity(avg)="+ propyleneSelectivityAvg.toString() + "\n");
+        QualityAnalysisVO qualityVO = new QualityAnalysisVO();
+        qualityVO.setDataMap(dataMap);
+        qualityVO.setDescription(description.toString());
+        return AjaxResult.success(qualityVO);
     }
 
     /**
@@ -2349,6 +2429,6 @@ public class TMonthlyQualityReportController extends BaseController
             }
         }
         logger.info("successNumber:" +String.valueOf(successNumber));
-        return AjaxResult.success(String.valueOf(successNumber));
+        return AjaxResult.success("成功导入: " + String.valueOf(successNumber) + " 条");
     }
 }

+ 6 - 6
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS0501Controller.java

@@ -129,17 +129,17 @@ public class TMonthlyQualityReportS0501Controller extends BaseController
         description.append("异构烷烃(max)="+ iMax.toString() + "\t");
         description.append("芳烃(max)="+ oMax.toString() + "\t");
         description.append("烷烃(max)="+ nMax.toString() + "\t");
-        description.append("50%BP(max)="+ fiftyMax.toString() + "\t\n");
+        description.append("50%BP(max)="+ fiftyMax.toString() + "\n");
         description.append("正构烷烃(min)="+ pMin.toString() + "\t");
         description.append("异构烷烃(min)="+ iMin.toString() + "\t");
         description.append("芳烃(min)="+ oMin.toString() + "\t");
         description.append("烷烃(min)="+ nMin.toString() + "\t");
-        description.append("50%BP(min)="+ fiftyMin.toString() + "\t\n");
+        description.append("50%BP(min)="+ fiftyMin.toString() + "\n");
         description.append("正构烷烃(avg)="+ pAvg.toString() + "\t");
         description.append("异构烷烃(avg)="+ iAvg.toString() + "\t");
         description.append("芳烃(avg)="+ oAvg.toString() + "\t");
         description.append("烷烃(avg)="+ nAvg.toString() + "\t");
-        description.append("50%BP(avg)="+ fiftyAvg.toString() + "\t");
+        description.append("50%BP(avg)="+ fiftyAvg.toString() + "\n");
         QualityAnalysisVO vo = new QualityAnalysisVO();
         vo.setDataMap(dataMap);
         vo.setDescription(description.toString());
@@ -213,17 +213,17 @@ public class TMonthlyQualityReportS0501Controller extends BaseController
         description.append("异构烷烃(max)="+ iMax.toString() + "\t");
         description.append("芳烃(max)="+ oMax.toString() + "\t");
         description.append("烷烃(max)="+ nMax.toString() + "\t");
-        description.append("50%BP(max)="+ fiftyMax.toString() + "\t\n");
+        description.append("50%BP(max)="+ fiftyMax.toString() + "\n");
         description.append("正构烷烃(min)="+ pMin.toString() + "\t");
         description.append("异构烷烃(min)="+ iMin.toString() + "\t");
         description.append("芳烃(min)="+ oMin.toString() + "\t");
         description.append("烷烃(min)="+ nMin.toString() + "\t");
-        description.append("50%BP(min)="+ fiftyMin.toString() + "\t\n");
+        description.append("50%BP(min)="+ fiftyMin.toString() + "\n");
         description.append("正构烷烃(avg)="+ pAvg.toString() + "\t");
         description.append("异构烷烃(avg)="+ iAvg.toString() + "\t");
         description.append("芳烃(avg)="+ oAvg.toString() + "\t");
         description.append("烷烃(avg)="+ nAvg.toString() + "\t");
-        description.append("50%BP(avg)="+ fiftyAvg.toString() + "\t");
+        description.append("50%BP(avg)="+ fiftyAvg.toString() + "\n");
         QualityAnalysisVO vo = new QualityAnalysisVO();
         vo.setDataList(tMonthlyQualityReportS0501s);
         vo.setDescription(description.toString());

+ 69 - 3
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS1301Controller.java

@@ -1,6 +1,12 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS1301;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,12 +19,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.production.domain.TMonthlyQualityReportS1301;
 import com.ruoyi.project.production.service.ITMonthlyQualityReportS1301Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S1301Controller
@@ -40,7 +44,69 @@ public class TMonthlyQualityReportS1301Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS1301 tMonthlyQualityReportS1301)
     {
-        return AjaxResult.success(tMonthlyQualityReportS1301Service.selectTMonthlyQualityReportS1301List(tMonthlyQualityReportS1301));
+        List<TMonthlyQualityReportS1301> tMonthlyQualityReportS1301s = tMonthlyQualityReportS1301Service.selectTMonthlyQualityReportS1301List(tMonthlyQualityReportS1301);
+        // 获取list第一个元素
+        TMonthlyQualityReportS1301 firstValue = tMonthlyQualityReportS1301s.get(0);
+        // 最大值
+        BigDecimal temperatureInMax = new BigDecimal(firstValue.getTemperatureIn());
+        BigDecimal temperatureRaiseMax = new BigDecimal(firstValue.getTemperatureRaise());
+        BigDecimal styreneMax = new BigDecimal(firstValue.getStyrene());
+        BigDecimal dieneValueMax = new BigDecimal(firstValue.getDieneValue());
+        // 最小值
+        BigDecimal temperatureInMin = new BigDecimal(firstValue.getTemperatureIn());
+        BigDecimal temperatureRaiseMin = new BigDecimal(firstValue.getTemperatureRaise());
+        BigDecimal styreneMin = new BigDecimal(firstValue.getStyrene());
+        BigDecimal dieneValueMin = new BigDecimal(firstValue.getDieneValue());
+        // 平均值
+        BigDecimal temperatureInAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal temperatureRaiseAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal styreneAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal dieneValueAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal temperatureInSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal temperatureRaiseSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal styreneSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal dieneValueSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS1301 monthlyQualityReportS1301 : tMonthlyQualityReportS1301s) {
+            BigDecimal temperatureIn = new BigDecimal(monthlyQualityReportS1301.getTemperatureIn());
+            BigDecimal temperatureRaise = new BigDecimal(monthlyQualityReportS1301.getTemperatureRaise());
+            BigDecimal styrene = new BigDecimal(monthlyQualityReportS1301.getStyrene());
+            BigDecimal dieneValue = new BigDecimal(monthlyQualityReportS1301.getDieneValue());
+            if (temperatureIn.compareTo(temperatureInMax) > 0) { temperatureInMax = temperatureIn; }
+            if (temperatureRaise.compareTo(temperatureRaiseMax) > 0) { temperatureRaiseMax = temperatureRaise; }
+            if (styrene.compareTo(styreneMax) > 0) { styreneMax = styrene; }
+            if (dieneValue.compareTo(dieneValueMax) > 0) { dieneValueMax = dieneValue; }
+            if (temperatureIn.compareTo(temperatureInMin) < 0) { temperatureInMin = temperatureIn; }
+            if (temperatureRaise.compareTo(temperatureRaiseMin) < 0) { temperatureRaiseMin = temperatureRaise; }
+            if (styrene.compareTo(styreneMin) < 0) { styreneMin = styrene; }
+            if (dieneValue.compareTo(dieneValueMin) < 0) { dieneValueMin = dieneValue; }
+            temperatureInSum = temperatureInSum.add(temperatureIn);
+            temperatureRaiseSum = temperatureRaiseSum.add(temperatureRaise);
+            styreneSum = styreneSum.add(styrene);
+            dieneValueSum = dieneValueSum.add(dieneValue);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS1301s.size());
+        temperatureInAvg = temperatureInSum.divide(count, 2, RoundingMode.HALF_UP);
+        temperatureRaiseAvg = temperatureRaiseSum.divide(count, 2, RoundingMode.HALF_UP);
+        styreneAvg = styreneSum.divide(count, 2, RoundingMode.HALF_UP);
+        dieneValueAvg = dieneValueSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("temperatureIn(max)="+ temperatureInMax.toString() + "\t");
+        description.append("temperatureRaise(max)="+ temperatureRaiseMax.toString() + "\t");
+        description.append("styrene(max)="+ styreneMax.toString() + "\t");
+        description.append("dieneValue(max)="+ dieneValueMax.toString() + "\n");
+        description.append("temperatureIn(min)="+ temperatureInMin.toString() + "\t");
+        description.append("temperatureRaise(min)="+ temperatureRaiseMin.toString() + "\t");
+        description.append("styrene(min)="+ styreneMin.toString() + "\t");
+        description.append("dieneValue(min)="+ dieneValueMin.toString() + "\n");
+        description.append("temperatureIn(avg)="+ temperatureInAvg.toString() + "\t");
+        description.append("temperatureRaise(avg)="+ temperatureRaiseAvg.toString() + "\t");
+        description.append("styrene(avg)="+ styreneAvg.toString() + "\t");
+        description.append("dieneValue(avg)="+ dieneValueAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS1301s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 45 - 4
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS2002Controller.java

@@ -1,6 +1,12 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS2002;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,12 +19,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.production.domain.TMonthlyQualityReportS2002;
 import com.ruoyi.project.production.service.ITMonthlyQualityReportS2002Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S2002Controller
@@ -40,8 +44,45 @@ public class TMonthlyQualityReportS2002Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS2002 tMonthlyQualityReportS2002)
     {
-
-        return AjaxResult.success(tMonthlyQualityReportS2002Service.selectTMonthlyQualityReportS2002List(tMonthlyQualityReportS2002));
+        List<TMonthlyQualityReportS2002> tMonthlyQualityReportS2002s = tMonthlyQualityReportS2002Service.selectTMonthlyQualityReportS2002List(tMonthlyQualityReportS2002);
+        // 获取list第一个元素
+        TMonthlyQualityReportS2002 firstValue = tMonthlyQualityReportS2002s.get(0);
+        // 最大值
+        BigDecimal codMax = new BigDecimal(firstValue.getCod());
+        BigDecimal phMax = new BigDecimal(firstValue.getPh());
+        // 最小值
+        BigDecimal codMin = new BigDecimal(firstValue.getCod());
+        BigDecimal phMin = new BigDecimal(firstValue.getPh());
+        // 平均值
+        BigDecimal codAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal phAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal codSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal phSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS2002 monthlyQualityReportS2002 : tMonthlyQualityReportS2002s) {
+            BigDecimal cod = new BigDecimal(monthlyQualityReportS2002.getCod());
+            BigDecimal ph = new BigDecimal(monthlyQualityReportS2002.getPh());
+            if (cod.compareTo(codMax) > 0) { codMax = cod; }
+            if (ph.compareTo(phMax) > 0) { phMax = ph; }
+            if (cod.compareTo(codMin) < 0) { codMin = cod; }
+            if (ph.compareTo(phMin) < 0) { phMin = ph; }
+            codSum = codSum.add(cod);
+            phSum = phSum.add(ph);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS2002s.size());
+        codAvg = codSum.divide(count, 2, RoundingMode.HALF_UP);
+        phAvg = phSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("cod(max)="+ codMax.toString() + "\t");
+        description.append("ph(max)="+ phMax.toString() + "\t");
+        description.append("cod(min)="+ codMin.toString() + "\t");
+        description.append("ph(min)="+ phMin.toString() + "\t");
+        description.append("cod(avg)="+ codAvg.toString() + "\t");
+        description.append("ph(avg)="+ phAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS2002s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 77 - 3
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS2007Controller.java

@@ -1,6 +1,12 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS2007;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,12 +19,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.production.domain.TMonthlyQualityReportS2007;
 import com.ruoyi.project.production.service.ITMonthlyQualityReportS2007Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S2007Controller
@@ -40,7 +44,77 @@ public class TMonthlyQualityReportS2007Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS2007 tMonthlyQualityReportS2007)
     {
-        return AjaxResult.success(tMonthlyQualityReportS2007Service.selectTMonthlyQualityReportS2007List(tMonthlyQualityReportS2007));
+        List<TMonthlyQualityReportS2007> tMonthlyQualityReportS2007s = tMonthlyQualityReportS2007Service.selectTMonthlyQualityReportS2007List(tMonthlyQualityReportS2007);
+        // 获取list第一个元素
+        TMonthlyQualityReportS2007 firstValue = tMonthlyQualityReportS2007s.get(0);
+        String firstProductionString = firstValue.getProduction();
+        if (firstProductionString.indexOf("/") != -1) {
+            firstProductionString = firstProductionString.substring(1, firstProductionString.indexOf("/"));
+        }
+        // 最大值
+        BigDecimal viscosityMax = new BigDecimal(firstValue.getViscosity());
+        BigDecimal endPointMax = new BigDecimal(firstValue.getEndPoint());
+        BigDecimal pressureDifferenceMax = new BigDecimal(firstValue.getPressureDifference());
+        BigDecimal productionMax = new BigDecimal(firstProductionString);
+        // 最小值
+        BigDecimal viscosityMin = new BigDecimal(firstValue.getViscosity());
+        BigDecimal endPointMin = new BigDecimal(firstValue.getEndPoint());
+        BigDecimal pressureDifferenceMin = new BigDecimal(firstValue.getPressureDifference());
+        BigDecimal productionMin = new BigDecimal(firstProductionString);
+        // 平均值
+        BigDecimal viscosityAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal endPointAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal pressureDifferenceAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal productionAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal viscositySum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal endPointSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal pressureDifferenceSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal productionSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS2007 monthlyQualityReportS2007 : tMonthlyQualityReportS2007s) {
+            BigDecimal viscosity = new BigDecimal(monthlyQualityReportS2007.getViscosity());
+            BigDecimal endPoint = new BigDecimal(monthlyQualityReportS2007.getEndPoint());
+            BigDecimal pressureDifference = new BigDecimal(monthlyQualityReportS2007.getPressureDifference());
+            String productionString = firstValue.getProduction();
+            if (productionString.indexOf("/") != -1) {
+                productionString = productionString.substring(1, productionString.indexOf("/"));
+            }
+            BigDecimal production = new BigDecimal(productionString);
+            if (viscosity.compareTo(viscosityMax) > 0) { viscosityMax = viscosity; }
+            if (endPoint.compareTo(endPointMax) > 0) { endPointMax = endPoint; }
+            if (pressureDifference.compareTo(pressureDifferenceMax) > 0) { pressureDifferenceMax = pressureDifference; }
+            if (production.compareTo(productionMax) > 0) { productionMax = production; }
+            if (viscosity.compareTo(viscosityMin) < 0) { viscosityMin = viscosity; }
+            if (endPoint.compareTo(endPointMin) < 0) { endPointMin = endPoint; }
+            if (pressureDifference.compareTo(pressureDifferenceMin) < 0) { pressureDifferenceMin = pressureDifference; }
+            if (production.compareTo(productionMin) < 0) { productionMin = production; }
+            viscositySum = viscositySum.add(viscosity);
+            endPointSum = endPointSum.add(endPoint);
+            pressureDifferenceSum = pressureDifferenceSum.add(pressureDifference);
+            productionSum = productionSum.add(production);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS2007s.size());
+        viscosityAvg = viscositySum.divide(count, 2, RoundingMode.HALF_UP);
+        endPointAvg = endPointSum.divide(count, 2, RoundingMode.HALF_UP);
+        pressureDifferenceAvg = pressureDifferenceSum.divide(count, 2, RoundingMode.HALF_UP);
+        productionAvg = productionSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("QO粘度(max)="+ viscosityMax.toString() + "\t");
+        description.append("汽油终馏点(max)="+ endPointMax.toString() + "\t");
+        description.append("汽油段压差(max)="+ pressureDifferenceMax.toString() + "\t");
+        description.append("HVGO产量(max)=I"+ productionMax.toString() + "/1000\n");
+        description.append("QO粘度(min)="+ viscosityMin.toString() + "\t");
+        description.append("汽油终馏点(min)="+ endPointMin.toString() + "\t");
+        description.append("汽油段压差(min)="+ pressureDifferenceMin.toString() + "\t");
+        description.append("HVGO产量(min)=I"+ productionMin.toString() + "/1000\n");
+        description.append("QO粘度(avg)="+ viscosityAvg.toString() + "\t");
+        description.append("汽油终馏点(avg)="+ endPointAvg.toString() + "\t");
+        description.append("汽油段压差(avg)="+ pressureDifferenceAvg.toString() + "\t");
+        description.append("HVGO产量(avg)=I"+ productionAvg.toString() + "/1000\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS2007s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 45 - 3
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS2400Controller.java

@@ -1,6 +1,12 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS2400;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,12 +19,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.production.domain.TMonthlyQualityReportS2400;
 import com.ruoyi.project.production.service.ITMonthlyQualityReportS2400Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S2400Controller
@@ -40,7 +44,45 @@ public class TMonthlyQualityReportS2400Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS2400 tMonthlyQualityReportS2400)
     {
-        return AjaxResult.success(tMonthlyQualityReportS2400Service.selectTMonthlyQualityReportS2400List(tMonthlyQualityReportS2400));
+        List<TMonthlyQualityReportS2400> tMonthlyQualityReportS2400s = tMonthlyQualityReportS2400Service.selectTMonthlyQualityReportS2400List(tMonthlyQualityReportS2400);
+        // 获取list第一个元素
+        TMonthlyQualityReportS2400 firstValue = tMonthlyQualityReportS2400s.get(0);
+        // 最大值
+        BigDecimal codMax = new BigDecimal(firstValue.getCod());
+        BigDecimal phMax = new BigDecimal(firstValue.getPh());
+        // 最小值
+        BigDecimal codMin = new BigDecimal(firstValue.getCod());
+        BigDecimal phMin = new BigDecimal(firstValue.getPh());
+        // 平均值
+        BigDecimal codAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal phAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal codSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal phSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS2400 monthlyQualityReportS2400 : tMonthlyQualityReportS2400s) {
+            BigDecimal cod = new BigDecimal(monthlyQualityReportS2400.getCod());
+            BigDecimal ph = new BigDecimal(monthlyQualityReportS2400.getPh());
+            if (cod.compareTo(codMax) > 0) { codMax = cod; }
+            if (ph.compareTo(phMax) > 0) { phMax = ph; }
+            if (cod.compareTo(codMin) < 0) { codMin = cod; }
+            if (ph.compareTo(phMin) < 0) { phMin = ph; }
+            codSum = codSum.add(cod);
+            phSum = phSum.add(ph);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS2400s.size());
+        codAvg = codSum.divide(count, 2, RoundingMode.HALF_UP);
+        phAvg = phSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("cod(max)="+ codMax.toString() + "\t");
+        description.append("ph(max)="+ phMax.toString() + "\t");
+        description.append("cod(min)="+ codMin.toString() + "\t");
+        description.append("ph(min)="+ phMin.toString() + "\t");
+        description.append("cod(avg)="+ codAvg.toString() + "\t");
+        description.append("ph(avg)="+ phAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS2400s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 33 - 3
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS3004Controller.java

@@ -1,6 +1,12 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS3004;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,12 +19,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.production.domain.TMonthlyQualityReportS3004;
 import com.ruoyi.project.production.service.ITMonthlyQualityReportS3004Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S3004Controller
@@ -40,7 +44,33 @@ public class TMonthlyQualityReportS3004Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS3004 tMonthlyQualityReportS3004)
     {
-        return AjaxResult.success(tMonthlyQualityReportS3004Service.selectTMonthlyQualityReportS3004List(tMonthlyQualityReportS3004));
+        List<TMonthlyQualityReportS3004> tMonthlyQualityReportS3004s = tMonthlyQualityReportS3004Service.selectTMonthlyQualityReportS3004List(tMonthlyQualityReportS3004);
+        // 获取list第一个元素
+        TMonthlyQualityReportS3004 firstValue = tMonthlyQualityReportS3004s.get(0);
+        // 最大值
+        BigDecimal naOhMax = new BigDecimal(firstValue.getNaOh());
+        // 最小值
+        BigDecimal naOhMin = new BigDecimal(firstValue.getNaOh());
+        // 平均值
+        BigDecimal naOhAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal naOhSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS3004 monthlyQualityReportS3004 : tMonthlyQualityReportS3004s) {
+            BigDecimal naOh = new BigDecimal(monthlyQualityReportS3004.getNaOh());
+            if (naOh.compareTo(naOhMax) > 0) { naOhMax = naOh; }
+            if (naOh.compareTo(naOhMin) < 0) { naOhMin = naOh; }
+            naOhSum = naOhSum.add(naOh);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS3004s.size());
+        naOhAvg = naOhSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("naOh(max)="+ naOhMax.toString() + "\t");
+        description.append("naOh(min)="+ naOhMin.toString() + "\t");
+        description.append("naOh(avg)="+ naOhAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS3004s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 45 - 1
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS4012Controller.java

@@ -1,6 +1,12 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS4012;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -40,7 +46,45 @@ public class TMonthlyQualityReportS4012Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS4012 tMonthlyQualityReportS4012)
     {
-        return AjaxResult.success(tMonthlyQualityReportS4012Service.selectTMonthlyQualityReportS4012List(tMonthlyQualityReportS4012));
+        List<TMonthlyQualityReportS4012> tMonthlyQualityReportS4012s = tMonthlyQualityReportS4012Service.selectTMonthlyQualityReportS4012List(tMonthlyQualityReportS4012);
+        // 获取list第一个元素
+        TMonthlyQualityReportS4012 firstValue = tMonthlyQualityReportS4012s.get(0);
+        // 最大值
+        BigDecimal ethyleneMax = new BigDecimal(firstValue.getEthylene());
+        BigDecimal propyleneMax = new BigDecimal(firstValue.getPropylene());
+        // 最小值
+        BigDecimal ethyleneMin = new BigDecimal(firstValue.getEthylene());
+        BigDecimal propyleneMin = new BigDecimal(firstValue.getPropylene());
+        // 平均值
+        BigDecimal ethyleneAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal propyleneAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal ethyleneSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal propyleneSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS4012 monthlyQualityReportS4012 : tMonthlyQualityReportS4012s) {
+            BigDecimal ethylene = new BigDecimal(monthlyQualityReportS4012.getEthylene());
+            BigDecimal propylene = new BigDecimal(monthlyQualityReportS4012.getPropylene());
+            if (ethylene.compareTo(ethyleneMax) > 0) { ethyleneMax = ethylene; }
+            if (propylene.compareTo(propyleneMax) > 0) { propyleneMax = propylene; }
+            if (ethylene.compareTo(ethyleneMin) < 0) { ethyleneMin = ethylene; }
+            if (propylene.compareTo(propyleneMin) < 0) { propyleneMin = propylene; }
+            ethyleneSum = ethyleneSum.add(ethylene);
+            propyleneSum = propyleneSum.add(propylene);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS4012s.size());
+        ethyleneAvg = ethyleneSum.divide(count, 2, RoundingMode.HALF_UP);
+        propyleneAvg = propyleneSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("ethylene(max)="+ ethyleneMax.toString() + "\t");
+        description.append("propylene(max)="+ propyleneMax.toString() + "\n");
+        description.append("ethylene(min)="+ ethyleneMin.toString() + "\t");
+        description.append("propylene(min)="+ propyleneMin.toString() + "\n");
+        description.append("ethylene(avg)="+ ethyleneAvg.toString() + "\t");
+        description.append("propylene(avg)="+ propyleneAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS4012s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 32 - 2
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS4013Controller.java

@@ -1,6 +1,11 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -18,7 +23,6 @@ import com.ruoyi.project.production.service.ITMonthlyQualityReportS4013Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S4013Controller
@@ -40,7 +44,33 @@ public class TMonthlyQualityReportS4013Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS4013 tMonthlyQualityReportS4013)
     {
-        return AjaxResult.success(tMonthlyQualityReportS4013Service.selectTMonthlyQualityReportS4013List(tMonthlyQualityReportS4013));
+        List<TMonthlyQualityReportS4013> tMonthlyQualityReportS4013s = tMonthlyQualityReportS4013Service.selectTMonthlyQualityReportS4013List(tMonthlyQualityReportS4013);
+        // 获取list第一个元素
+        TMonthlyQualityReportS4013 firstValue = tMonthlyQualityReportS4013s.get(0);
+        // 最大值
+        BigDecimal ethyleneMax = new BigDecimal(firstValue.getEthylene());
+        // 最小值
+        BigDecimal ethyleneMin = new BigDecimal(firstValue.getEthylene());
+        // 平均值
+        BigDecimal ethyleneAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal ethyleneSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS4013 monthlyQualityReportS4013 : tMonthlyQualityReportS4013s) {
+            BigDecimal ethylene = new BigDecimal(monthlyQualityReportS4013.getEthylene());
+            if (ethylene.compareTo(ethyleneMax) > 0) { ethyleneMax = ethylene; }
+            if (ethylene.compareTo(ethyleneMin) < 0) { ethyleneMin = ethylene; }
+            ethyleneSum = ethyleneSum.add(ethylene);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS4013s.size());
+        ethyleneAvg = ethyleneSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("ethylene(max)="+ ethyleneMax.toString() + "\t");
+        description.append("ethylene(min)="+ ethyleneMin.toString() + "\t");
+        description.append("ethylene(avg)="+ ethyleneAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS4013s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 82 - 3
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS4501Controller.java

@@ -1,6 +1,12 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS4501;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,12 +19,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.production.domain.TMonthlyQualityReportS4501;
 import com.ruoyi.project.production.service.ITMonthlyQualityReportS4501Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S4501Controller
@@ -40,7 +44,82 @@ public class TMonthlyQualityReportS4501Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS4501 tMonthlyQualityReportS4501)
     {
-        return AjaxResult.success(tMonthlyQualityReportS4501Service.selectTMonthlyQualityReportS4501List(tMonthlyQualityReportS4501));
+
+        List<TMonthlyQualityReportS4501> tMonthlyQualityReportS4501s = tMonthlyQualityReportS4501Service.selectTMonthlyQualityReportS4501List(tMonthlyQualityReportS4501);
+        // 获取list第一个元素
+        TMonthlyQualityReportS4501 firstValue = tMonthlyQualityReportS4501s.get(0);
+        // 最大值
+        BigDecimal temperatureInMax = new BigDecimal(firstValue.getTemperatureIn());
+        BigDecimal temperatureRaiseMax = new BigDecimal(firstValue.getTemperatureRaise());
+        BigDecimal pressureDiffMax = new BigDecimal(firstValue.getPressureDiff());
+        BigDecimal c6C8NaMax = new BigDecimal(firstValue.getC6C8Na());
+        BigDecimal brNumberMax = new BigDecimal(firstValue.getBrIndex());
+        // 最小值
+        BigDecimal temperatureInMin = new BigDecimal(firstValue.getTemperatureIn());
+        BigDecimal temperatureRaiseMin = new BigDecimal(firstValue.getTemperatureRaise());
+        BigDecimal pressureDiffMin = new BigDecimal(firstValue.getPressureDiff());
+        BigDecimal c6C8NaMin = new BigDecimal(firstValue.getC6C8Na());
+        BigDecimal brNumberMin = new BigDecimal(firstValue.getBrIndex());
+        // 平均值
+        BigDecimal temperatureInAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal temperatureRaiseAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal pressureDiffAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal c6C8NaAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal brNumberAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal temperatureInSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal temperatureRaiseSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal pressureDiffSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal c6C8NaSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal brNumberSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS4501 monthlyQualityReportS4501 : tMonthlyQualityReportS4501s) {
+            BigDecimal temperatureIn = new BigDecimal(monthlyQualityReportS4501.getTemperatureIn());
+            BigDecimal temperatureRaise = new BigDecimal(monthlyQualityReportS4501.getTemperatureRaise());
+            BigDecimal pressureDiff = new BigDecimal(monthlyQualityReportS4501.getPressureDiff());
+            BigDecimal c6C8Na = new BigDecimal(monthlyQualityReportS4501.getC6C8Na());
+            BigDecimal brNumber = new BigDecimal(monthlyQualityReportS4501.getBrIndex());
+            if (temperatureIn.compareTo(temperatureInMax) > 0) { temperatureInMax = temperatureIn; }
+            if (temperatureRaise.compareTo(temperatureRaiseMax) > 0) { temperatureRaiseMax = temperatureRaise; }
+            if (pressureDiff.compareTo(pressureDiffMax) > 0) { pressureDiffMax = pressureDiff; }
+            if (c6C8Na.compareTo(c6C8NaMax) > 0) { c6C8NaMax = c6C8Na; }
+            if (brNumber.compareTo(brNumberMax) > 0) { brNumberMax = brNumber; }
+            if (temperatureIn.compareTo(temperatureInMin) < 0) { temperatureInMin = temperatureIn; }
+            if (temperatureRaise.compareTo(temperatureRaiseMin) < 0) { temperatureRaiseMin = temperatureRaise; }
+            if (pressureDiff.compareTo(pressureDiffMin) < 0) { pressureDiffMin = pressureDiff; }
+            if (c6C8Na.compareTo(c6C8NaMin) < 0) { c6C8NaMin = c6C8Na; }
+            if (brNumber.compareTo(brNumberMin) < 0) { brNumberMin = brNumber; }
+            temperatureInSum = temperatureInSum.add(temperatureIn);
+            temperatureRaiseSum = temperatureRaiseSum.add(temperatureRaise);
+            pressureDiffSum = pressureDiffSum.add(pressureDiff);
+            c6C8NaSum = c6C8NaSum.add(c6C8Na);
+            brNumberSum = brNumberSum.add(brNumber);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS4501s.size());
+        temperatureInAvg = temperatureInSum.divide(count, 2, RoundingMode.HALF_UP);
+        temperatureRaiseAvg = temperatureRaiseSum.divide(count, 2, RoundingMode.HALF_UP);
+        pressureDiffAvg = pressureDiffSum.divide(count, 2, RoundingMode.HALF_UP);
+        c6C8NaAvg = c6C8NaSum.divide(count, 2, RoundingMode.HALF_UP);
+        brNumberAvg = brNumberSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("temperatureIn(max)="+ temperatureInMax.toString() + "\t");
+        description.append("temperatureRaise(max)="+ temperatureRaiseMax.toString() + "\t");
+        description.append("pressureDiff(max)="+ pressureDiffMax.toString() + "\t");
+        description.append("c6C8Na(max)="+ c6C8NaMax.toString() + "\t");
+        description.append("brNumber(max)="+ brNumberMax.toString() + "\n");
+        description.append("temperatureIn(min)="+ temperatureInMin.toString() + "\t");
+        description.append("temperatureRaise(min)="+ temperatureRaiseMin.toString() + "\t");
+        description.append("pressureDiff(min)="+ pressureDiffMin.toString() + "\t");
+        description.append("c6C8Na(min)="+ c6C8NaMin.toString() + "\t");
+        description.append("brNumber(min)="+ brNumberMin.toString() + "\n");
+        description.append("temperatureIn(avg)="+ temperatureInAvg.toString() + "\t");
+        description.append("temperatureRaise(avg)="+ temperatureRaiseAvg.toString() + "\t");
+        description.append("pressureDiff(avg)="+ pressureDiffAvg.toString() + "\t");
+        description.append("c6C8Na(avg)="+ c6C8NaAvg.toString() + "\t");
+        description.append("brNumber(avg)="+ brNumberAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS4501s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 55 - 1
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS5001Controller.java

@@ -1,7 +1,12 @@
 package com.ruoyi.project.production.controller;
 
 import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS5001;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -50,7 +55,56 @@ public class TMonthlyQualityReportS5001Controller extends BaseController
             BigDecimal mapd = propadiene.add(methylacetylene);
             monthlyQualityReportS5001.setMapd(mapd.toString());
         }
-        return AjaxResult.success(tMonthlyQualityReportS5001s);
+        // 获取list第一个元素
+        TMonthlyQualityReportS5001 firstValue = tMonthlyQualityReportS5001s.get(0);
+        // 最大值
+        BigDecimal buteneMax = new BigDecimal(firstValue.getButene());
+        BigDecimal propyleneMax = new BigDecimal(firstValue.getPropylene());
+        BigDecimal mapdMax = new BigDecimal(firstValue.getMapd());
+        // 最小值
+        BigDecimal buteneMin = new BigDecimal(firstValue.getButene());
+        BigDecimal propyleneMin = new BigDecimal(firstValue.getPropylene());
+        BigDecimal mapdMin = new BigDecimal(firstValue.getMapd());
+        // 平均值
+        BigDecimal buteneAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal propyleneAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal mapdAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal buteneSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal propyleneSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal mapdSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS5001 monthlyQualityReportS5001 : tMonthlyQualityReportS5001s) {
+            BigDecimal butene = new BigDecimal(monthlyQualityReportS5001.getButene());
+            BigDecimal propylene = new BigDecimal(monthlyQualityReportS5001.getPropylene());
+            BigDecimal mapd = new BigDecimal(monthlyQualityReportS5001.getMapd());
+            if (butene.compareTo(buteneMax) > 0) { buteneMax = butene; }
+            if (propylene.compareTo(propyleneMax) > 0) { propyleneMax = propylene; }
+            if (mapd.compareTo(mapdMax) > 0) { mapdMax = mapd; }
+            if (butene.compareTo(buteneMin) < 0) { buteneMin = butene; }
+            if (propylene.compareTo(propyleneMin) < 0) { propyleneMin = propylene; }
+            if (mapd.compareTo(mapdMin) < 0) { mapdMin = mapd; }
+            buteneSum = buteneSum.add(butene);
+            propyleneSum = propyleneSum.add(propylene);
+            mapdSum = mapdSum.add(mapd);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS5001s.size());
+        buteneAvg = buteneSum.divide(count, 2, RoundingMode.HALF_UP);
+        propyleneAvg = propyleneSum.divide(count, 2, RoundingMode.HALF_UP);
+        mapdAvg = mapdSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("butene(max)="+ buteneMax.toString() + "\t");
+        description.append("propylene(max)="+ propyleneMax.toString() + "\t");
+        description.append("mapd(max)="+ mapdMax.toString() + "\n");
+        description.append("butene(min)="+ buteneMin.toString() + "\t");
+        description.append("propylene(min)="+ propyleneMin.toString() + "\t");
+        description.append("mapd(min)="+ mapdMin.toString() + "\n");
+        description.append("butene(avg)="+ buteneAvg.toString() + "\t");
+        description.append("propylene(avg)="+ propyleneAvg.toString() + "\t");
+        description.append("mapd(avg)="+ mapdAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS5001s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 33 - 3
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS5003Controller.java

@@ -1,6 +1,12 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS5003;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,12 +19,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.production.domain.TMonthlyQualityReportS5003;
 import com.ruoyi.project.production.service.ITMonthlyQualityReportS5003Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S5003Controller
@@ -40,7 +44,33 @@ public class TMonthlyQualityReportS5003Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS5003 tMonthlyQualityReportS5003)
     {
-        return AjaxResult.success(tMonthlyQualityReportS5003Service.selectTMonthlyQualityReportS5003List(tMonthlyQualityReportS5003));
+        List<TMonthlyQualityReportS5003> tMonthlyQualityReportS5003s = tMonthlyQualityReportS5003Service.selectTMonthlyQualityReportS5003List(tMonthlyQualityReportS5003);
+        // 获取list第一个元素
+        TMonthlyQualityReportS5003 firstValue = tMonthlyQualityReportS5003s.get(0);
+        // 最大值
+        BigDecimal propyleneMax = new BigDecimal(firstValue.getPropylene());
+        // 最小值
+        BigDecimal propyleneMin = new BigDecimal(firstValue.getPropylene());
+        // 平均值
+        BigDecimal propyleneAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal propyleneSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS5003 monthlyQualityReportS5003 : tMonthlyQualityReportS5003s) {
+            BigDecimal propylene = new BigDecimal(monthlyQualityReportS5003.getPropylene());
+            if (propylene.compareTo(propyleneMax) > 0) { propyleneMax = propylene; }
+            if (propylene.compareTo(propyleneMin) < 0) { propyleneMin = propylene; }
+            propyleneSum = propyleneSum.add(propylene);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS5003s.size());
+        propyleneAvg = propyleneSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("propylene(max)="+ propyleneMax.toString() + "\t");
+        description.append("propylene(min)="+ propyleneMin.toString() + "\t");
+        description.append("propylene(avg)="+ propyleneAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS5003s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 58 - 3
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS6101Controller.java

@@ -1,6 +1,13 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS6101;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,12 +20,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.production.domain.TMonthlyQualityReportS6101;
 import com.ruoyi.project.production.service.ITMonthlyQualityReportS6101Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S6101Controller
@@ -40,7 +45,57 @@ public class TMonthlyQualityReportS6101Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS6101 tMonthlyQualityReportS6101)
     {
-        return AjaxResult.success(tMonthlyQualityReportS6101Service.selectTMonthlyQualityReportS6101List(tMonthlyQualityReportS6101));
+        List<TMonthlyQualityReportS6101> tMonthlyQualityReportS6101s = tMonthlyQualityReportS6101Service.selectTMonthlyQualityReportS6101List(tMonthlyQualityReportS6101);
+        // 获取list第一个元素
+        TMonthlyQualityReportS6101 firstValue = tMonthlyQualityReportS6101s.get(0);
+        // 最大值
+        BigDecimal brNumberMax = new BigDecimal(StringUtils.isNull(firstValue.getBrNumber()) ? "0" : firstValue.getBrNumber());
+        BigDecimal totalSulfurMax = new BigDecimal(StringUtils.isNull(firstValue.getTotalSulfur()) ? "0" : firstValue.getTotalSulfur());
+        BigDecimal totalNitrogenMax = new BigDecimal(StringUtils.isNull(firstValue.getTotalNitrogen()) ? "0" : firstValue.getTotalNitrogen());
+        // 最小值
+        BigDecimal brNumberMin = new BigDecimal(StringUtils.isNull(firstValue.getBrNumber()) ? "0" : firstValue.getBrNumber());
+        BigDecimal totalSulfurMin = new BigDecimal(StringUtils.isNull(firstValue.getTotalSulfur()) ? "0" : firstValue.getTotalSulfur());
+        BigDecimal totalNitrogenMin = new BigDecimal(StringUtils.isNull(firstValue.getTotalNitrogen()) ? "0" : firstValue.getTotalNitrogen());
+        // 平均值
+        BigDecimal brNumberAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal totalSulfurAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal totalNitrogenAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal brNumberSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal totalSulfurSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal totalNitrogenSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS6101 monthlyQualityReportS6101 : tMonthlyQualityReportS6101s) {
+            BigDecimal brNumber = new BigDecimal(StringUtils.isNull(monthlyQualityReportS6101.getBrNumber()) ? "0" : monthlyQualityReportS6101.getBrNumber());
+            BigDecimal totalSulfur = new BigDecimal(StringUtils.isNull(monthlyQualityReportS6101.getTotalSulfur()) ? "0" : monthlyQualityReportS6101.getTotalSulfur());
+            BigDecimal totalNitrogen = new BigDecimal(StringUtils.isNull(monthlyQualityReportS6101.getTotalNitrogen()) ? "0" : monthlyQualityReportS6101.getTotalNitrogen());
+            if (brNumber.compareTo(brNumberMax) > 0) { brNumberMax = brNumber; }
+            if (totalSulfur.compareTo(totalSulfurMax) > 0) { totalSulfurMax = totalSulfur; }
+            if (totalNitrogen.compareTo(totalNitrogenMax) > 0) { totalNitrogenMax = totalNitrogen; }
+            if (brNumber.compareTo(brNumberMin) < 0) { brNumberMin = brNumber; }
+            if (totalSulfur.compareTo(totalSulfurMin) < 0) { totalSulfurMin = totalSulfur; }
+            if (totalNitrogen.compareTo(totalNitrogenMin) < 0) { totalNitrogenMin = totalNitrogen; }
+            brNumberSum = brNumberSum.add(brNumber);
+            totalSulfurSum = totalSulfurSum.add(totalSulfur);
+            totalNitrogenSum = totalNitrogenSum.add(totalNitrogen);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS6101s.size());
+        brNumberAvg = brNumberSum.divide(count, 2, RoundingMode.HALF_UP);
+        totalSulfurAvg = totalSulfurSum.divide(count, 2, RoundingMode.HALF_UP);
+        totalNitrogenAvg = totalNitrogenSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("brNumber(max)="+ brNumberMax.toString() + "\t");
+        description.append("totalSulfur(max)="+ totalSulfurMax.toString() + "\t");
+        description.append("totalNitrogen(max)="+ totalNitrogenMax.toString() + "\n");
+        description.append("brNumber(min)="+ brNumberMin.toString() + "\t");
+        description.append("totalSulfur(min)="+ totalSulfurMin.toString() + "\t");
+        description.append("totalNitrogen(min)="+ totalNitrogenMin.toString() + "\n");
+        description.append("brNumber(avg)="+ brNumberAvg.toString() + "\t");
+        description.append("totalSulfur(avg)="+ totalSulfurAvg.toString() + "\t");
+        description.append("totalNitrogen(avg)="+ totalNitrogenAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS6101s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 46 - 3
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS6107Controller.java

@@ -1,6 +1,13 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS6107;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS6107;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,12 +20,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.production.domain.TMonthlyQualityReportS6107;
 import com.ruoyi.project.production.service.ITMonthlyQualityReportS6107Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S6107Controller
@@ -40,7 +45,45 @@ public class TMonthlyQualityReportS6107Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS6107 tMonthlyQualityReportS6107)
     {
-        return AjaxResult.success(tMonthlyQualityReportS6107Service.selectTMonthlyQualityReportS6107List(tMonthlyQualityReportS6107));
+        List<TMonthlyQualityReportS6107> tMonthlyQualityReportS6107s = tMonthlyQualityReportS6107Service.selectTMonthlyQualityReportS6107List(tMonthlyQualityReportS6107);
+        // 获取list第一个元素
+        TMonthlyQualityReportS6107 firstValue = tMonthlyQualityReportS6107s.get(0);
+        // 最大值
+        BigDecimal codMax = new BigDecimal(firstValue.getCod());
+        BigDecimal phMax = new BigDecimal(firstValue.getPh());
+        // 最小值
+        BigDecimal codMin = new BigDecimal(firstValue.getCod());
+        BigDecimal phMin = new BigDecimal(firstValue.getPh());
+        // 平均值
+        BigDecimal codAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal phAvg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal codSum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal phSum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS6107 monthlyQualityReportS6107 : tMonthlyQualityReportS6107s) {
+            BigDecimal cod = new BigDecimal(monthlyQualityReportS6107.getCod());
+            BigDecimal ph = new BigDecimal(monthlyQualityReportS6107.getPh());
+            if (cod.compareTo(codMax) > 0) { codMax = cod; }
+            if (ph.compareTo(phMax) > 0) { phMax = ph; }
+            if (cod.compareTo(codMin) < 0) { codMin = cod; }
+            if (ph.compareTo(phMin) < 0) { phMin = ph; }
+            codSum = codSum.add(cod);
+            phSum = phSum.add(ph);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS6107s.size());
+        codAvg = codSum.divide(count, 2, RoundingMode.HALF_UP);
+        phAvg = phSum.divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("cod(max)="+ codMax.toString() + "\t");
+        description.append("ph(max)="+ phMax.toString() + "\t");
+        description.append("cod(min)="+ codMin.toString() + "\t");
+        description.append("ph(min)="+ phMin.toString() + "\t");
+        description.append("cod(avg)="+ codAvg.toString() + "\t");
+        description.append("ph(avg)="+ phAvg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS6107s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 72 - 3
master/src/main/java/com/ruoyi/project/production/controller/TMonthlyQualityReportS6301Controller.java

@@ -1,6 +1,13 @@
 package com.ruoyi.project.production.controller;
 
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
 import java.util.List;
+
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.project.production.controller.vo.QualityAnalysisVO;
+import com.ruoyi.project.production.domain.TMonthlyQualityReportS6301;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -13,12 +20,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
-import com.ruoyi.project.production.domain.TMonthlyQualityReportS6301;
 import com.ruoyi.project.production.service.ITMonthlyQualityReportS6301Service;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.framework.web.page.TableDataInfo;
 
 /**
  * 质量月报S6301Controller
@@ -40,7 +45,71 @@ public class TMonthlyQualityReportS6301Controller extends BaseController
     @GetMapping("/list")
     public AjaxResult list(TMonthlyQualityReportS6301 tMonthlyQualityReportS6301)
     {
-        return AjaxResult.success(tMonthlyQualityReportS6301Service.selectTMonthlyQualityReportS6301List(tMonthlyQualityReportS6301));
+        List<TMonthlyQualityReportS6301> tMonthlyQualityReportS6301s = tMonthlyQualityReportS6301Service.selectTMonthlyQualityReportS6301List(tMonthlyQualityReportS6301);
+        // 获取list第一个元素
+        TMonthlyQualityReportS6301 firstValue = tMonthlyQualityReportS6301s.get(0);
+        // 最大值
+        BigDecimal C5ConjugatedDienesDcpd30Max = new BigDecimal(StringUtils.isNull(firstValue.getC5ConjugatedDienesDcpd30()) ? "0" : firstValue.getC5ConjugatedDienesDcpd30());
+        BigDecimal C5ConjugatedDienesDcpd40Max = new BigDecimal(StringUtils.isNull(firstValue.getC5ConjugatedDienesDcpd40()) ? "0" : firstValue.getC5ConjugatedDienesDcpd40());
+        BigDecimal C250Max = new BigDecimal(StringUtils.isNull(firstValue.getC250()) ? "0" : firstValue.getC250());
+        BigDecimal C4Max = new BigDecimal(StringUtils.isNull(firstValue.getC4()) ? "0" : firstValue.getC4());
+        BigDecimal C410Max = new BigDecimal(StringUtils.isNull(firstValue.getC410()) ? "0" : firstValue.getC410());
+        // 最小值
+        BigDecimal C5ConjugatedDienesDcpd30Min = new BigDecimal(StringUtils.isNull(firstValue.getC5ConjugatedDienesDcpd30()) ? "0" : firstValue.getC5ConjugatedDienesDcpd30());
+        BigDecimal C5ConjugatedDienesDcpd40Min = new BigDecimal(StringUtils.isNull(firstValue.getC5ConjugatedDienesDcpd40()) ? "0" : firstValue.getC5ConjugatedDienesDcpd40());
+        BigDecimal C250Min = new BigDecimal(StringUtils.isNull(firstValue.getC250()) ? "0" : firstValue.getC250());
+        BigDecimal C4Min = new BigDecimal(StringUtils.isNull(firstValue.getC4()) ? "0" : firstValue.getC4());
+        BigDecimal C410Min = new BigDecimal(StringUtils.isNull(firstValue.getC410()) ? "0" : firstValue.getC410());
+        // 平均值
+        BigDecimal C5ConjugatedDienesDcpdAvg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal C250Avg = new BigDecimal(BigInteger.ZERO);
+        BigDecimal C4Avg = new BigDecimal(BigInteger.ZERO);
+        // 总和
+        BigDecimal C5ConjugatedDienesDcpd30Sum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal C5ConjugatedDienesDcpd40Sum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal C250Sum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal C4Sum = new BigDecimal(BigInteger.ZERO);
+        BigDecimal C410Sum = new BigDecimal(BigInteger.ZERO);
+        for (TMonthlyQualityReportS6301 monthlyQualityReportS6301 : tMonthlyQualityReportS6301s) {
+            BigDecimal C5ConjugatedDienesDcpd30 = new BigDecimal(StringUtils.isNull(monthlyQualityReportS6301.getC5ConjugatedDienesDcpd30()) ? "0" : monthlyQualityReportS6301.getC5ConjugatedDienesDcpd30());
+            BigDecimal C5ConjugatedDienesDcpd40 = new BigDecimal(StringUtils.isNull(monthlyQualityReportS6301.getC5ConjugatedDienesDcpd40()) ? "0" : monthlyQualityReportS6301.getC5ConjugatedDienesDcpd40());
+            BigDecimal C250 = new BigDecimal(StringUtils.isNull(monthlyQualityReportS6301.getC250()) ? "0" : monthlyQualityReportS6301.getC250());
+            BigDecimal C4 = new BigDecimal(StringUtils.isNull(monthlyQualityReportS6301.getC4()) ? "0" : monthlyQualityReportS6301.getC4());
+            BigDecimal C410 = new BigDecimal(StringUtils.isNull(monthlyQualityReportS6301.getC410()) ? "0" : monthlyQualityReportS6301.getC410());
+            if (C5ConjugatedDienesDcpd30.compareTo(C5ConjugatedDienesDcpd30Max) > 0) { C5ConjugatedDienesDcpd30Max = C5ConjugatedDienesDcpd30; }
+            if (C5ConjugatedDienesDcpd40.compareTo(C5ConjugatedDienesDcpd40Max) > 0) { C5ConjugatedDienesDcpd40Max = C5ConjugatedDienesDcpd40; }
+            if (C250.compareTo(C250Max) > 0) { C250Max = C250; }
+            if (C4.compareTo(C4Max) > 0) { C4Max = C4; }
+            if (C410.compareTo(C410Max) > 0) { C410Max = C410; }
+            if (C5ConjugatedDienesDcpd30.compareTo(C5ConjugatedDienesDcpd30Min) < 0) { C5ConjugatedDienesDcpd30 = C5ConjugatedDienesDcpd30; }
+            if (C5ConjugatedDienesDcpd40.compareTo(C5ConjugatedDienesDcpd40Min) < 0) { C5ConjugatedDienesDcpd40 = C5ConjugatedDienesDcpd40; }
+            if (C250.compareTo(C250Min) < 0) { C250 = C250; }
+            if (C4.compareTo(C4Min) < 0) { C4 = C4; }
+            if (C410.compareTo(C410Min) < 0) { C410 = C410; }
+            C5ConjugatedDienesDcpd30Sum = C5ConjugatedDienesDcpd30Sum.add(C5ConjugatedDienesDcpd30);
+            C5ConjugatedDienesDcpd40Sum = C5ConjugatedDienesDcpd40Sum.add(C5ConjugatedDienesDcpd40);
+            C250Sum = C250Sum.add(C250);
+            C4Sum = C4Sum.add(C4);
+            C410Sum = C410Sum.add(C410);
+        }
+        BigDecimal count = new BigDecimal(tMonthlyQualityReportS6301s.size());
+        C5ConjugatedDienesDcpdAvg = (C5ConjugatedDienesDcpd30Sum.add(C5ConjugatedDienesDcpd40Sum)).divide(count, 2, RoundingMode.HALF_UP);
+        C250Avg = C250Sum.divide(count, 2, RoundingMode.HALF_UP);
+        C4Avg = (C4Sum.add(C410Sum)).divide(count, 2, RoundingMode.HALF_UP);
+        StringBuffer description = new StringBuffer();
+        description.append("C5ConjugatedDienesDcpd30(max)="+ (C5ConjugatedDienesDcpd30Max.compareTo(C5ConjugatedDienesDcpd40Max) > 0 ? C5ConjugatedDienesDcpd30Max : C5ConjugatedDienesDcpd40Max).toString().toString() + "\t");
+        description.append("C250(max)="+ C250Max.toString() + "\t");
+        description.append("C4(max)="+ (C4Max.compareTo(C410Max) > 0 ? C4Max : C410Max).toString() + "\n");
+        description.append("C5ConjugatedDienesDcpd30(min)="+ (C5ConjugatedDienesDcpd30Min.compareTo(C5ConjugatedDienesDcpd40Min) < 0 ? C5ConjugatedDienesDcpd30Min : C5ConjugatedDienesDcpd40Min).toString().toString() + "\t");
+        description.append("C250(min)="+ C250Min.toString() + "\t");
+        description.append("C4(min)="+ (C4Min.compareTo(C410Min) < 0 ? C4Min : C410Min).toString() + "\n");
+        description.append("C5ConjugatedDienesDcpd(avg)="+ C5ConjugatedDienesDcpdAvg.toString() + "\t");
+        description.append("C250(avg)="+ C250Avg.toString() + "\t");
+        description.append("C4(avg)="+ C4Avg.toString() + "\n");
+        QualityAnalysisVO vo = new QualityAnalysisVO();
+        vo.setDataList(tMonthlyQualityReportS6301s);
+        vo.setDescription(description.toString());
+        return AjaxResult.success(vo);
     }
 
     /**

+ 3 - 3
master/src/main/java/com/ruoyi/project/production/controller/vo/QualityAnalysisVO.java

@@ -15,17 +15,17 @@ import java.util.Map;
  * @date 2023/12/06 10:13:08
  */
 public class QualityAnalysisVO {
-    private Map<String, TMonthlyQualityReportS0501> dataMap;
+    private Map dataMap;
 
     private List dataList;
 
     private String description;
 
-    public Map<String, TMonthlyQualityReportS0501> getDataMap() {
+    public Map getDataMap() {
         return dataMap;
     }
 
-    public void setDataMap(Map<String, TMonthlyQualityReportS0501> dataMap) {
+    public void setDataMap(Map dataMap) {
         this.dataMap = dataMap;
     }
 

+ 47 - 30
ui/src/views/production/quality/index.vue

@@ -2658,7 +2658,7 @@ export default {
     getListS2002() {
       this.loadingS2002 = true;
       listS2002(this.queryParams).then(response => {
-        this.s2002List = response.data;
+        this.s2002List = response.data.dataList;
         this.loadingS2002 = false;
       });
     },
@@ -2672,7 +2672,7 @@ export default {
     getListS2007() {
       this.loadingS2007 = true;
       listS2007(this.queryParams).then(response => {
-        this.s2007List = response.data;
+        this.s2007List = response.data.dataList;
         this.loadingS2007 = false;
       });
     },
@@ -2686,14 +2686,14 @@ export default {
     getListS2400() {
       this.loadingS2400 = true;
       listS2400(this.queryParams).then(response => {
-        this.s2400List = response.data;
+        this.s2400List = response.data.dataList;
         this.loadingS2400 = false;
       });
     },
     getListS3004() {
       this.loadingS3004 = true;
       listS3004(this.queryParams).then(response => {
-        this.s3004List = response.data;
+        this.s3004List = response.data.dataList;
         this.loadingS3004 = false;
       });
     },
@@ -2735,14 +2735,14 @@ export default {
     getListS4012() {
       this.loadingS4012 = true;
       listS4012(this.queryParams).then(response => {
-        this.s4012List = response.data;
+        this.s4012List = response.data.dataList;
         this.loadingS4012 = false;
       });
     },
     getListS4013() {
       this.loadingS4013 = true;
       listS4013(this.queryParams).then(response => {
-        this.s4013List = response.data;
+        this.s4013List = response.data.dataList;
         this.loadingS4013 = false;
       });
     },
@@ -2756,14 +2756,14 @@ export default {
     getListS5001() {
       this.loadingS5001 = true;
       listS5001(this.queryParams).then(response => {
-        this.s5001List = response.data;
+        this.s5001List = response.data.dataList;
         this.loadingS5001 = false;
       });
     },
     getListS5003() {
       this.loadingS5003 = true;
       listS5003(this.queryParams).then(response => {
-        this.s5003List = response.data;
+        this.s5003List = response.data.dataList;
         this.loadingS5003 = false;
       });
     },
@@ -2784,14 +2784,14 @@ export default {
     getListS6101() {
       this.loadingS6101 = true;
       listS6101(this.queryParams).then(response => {
-        this.s6101List = response.data;
+        this.s6101List = response.data
         this.loadingS6101 = false;
       });
     },
     getListS6107() {
       this.loadingS6107 = true;
       listS6107(this.queryParams).then(response => {
-        this.s6107List = response.data;
+        this.s6107List = response.data.dataList;
         this.loadingS6107 = false;
       });
     },
@@ -3650,20 +3650,23 @@ export default {
           break;
         case "3":
           this.disposeChart();
-          let ethyleneArray = [];
-          let ethyleneIndexArray = [];
-          let propyleneArray = [];
-          let propyleneIndexArray = [];
-          let sampleDateArray = [];
           listS4013(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            let description4013 = response.data.description;
+            let ethyleneArray = [];
+            let ethyleneIndexArray = [];
+            let propyleneArray = [];
+            let propyleneIndexArray = [];
+            let sampleDateArray = [];
             for(let i = 0 ; i < data.length; i++){
               ethyleneArray.push(data[i].ethylene);
               ethyleneIndexArray.push("99.95");
               sampleDateArray.push(data[i].sampleDate);
             }
             listS5003(this.analysisQueryParams).then(response => {
-              let data = response.data;
+              let data = response.data.dataList;
+              let description5003 = response.data.description;
+              this.analysisDescription = description4013 + description5003;
               for(let i = 0 ; i < data.length; i++){
                 propyleneArray.push(data[i].propylene);
                 propyleneIndexArray.push("99.6");
@@ -3741,7 +3744,8 @@ export default {
         case "4":
           this.disposeChart();
           listS2007(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            this.analysisDescription = response.data.description;
             let viscosityArray = [];
             let endPointArray = [];
             let pressureDifferenceArray = [];
@@ -3823,7 +3827,8 @@ export default {
           break;
         case "5":
           listS2002(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            let description2002 = response.data.description;
             let cod2002Array = [];
             let ph2002Array = [];
             let cod2400Array = [];
@@ -3839,7 +3844,9 @@ export default {
               sampleDateArray.push(data[i].sampleDate);
             }
             listS2400(this.analysisQueryParams).then(response => {
-              let data = response.data;
+              let data = response.data.dataList;
+              let description2400 = response.data.description;
+              this.analysisDescription = description2002 + description2400;
               for(let i = 0 ; i < data.length; i++){
                 cod2400Array.push(data[i].cod);
                 ph2400Array.push(data[i].ph);
@@ -3938,7 +3945,8 @@ export default {
         case "6":
           this.disposeChart();
           listS3004(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            this.analysisDescription = response.data.description;
             let naOhArray = [];
             let controlArray = [];
             let sampleDateArray = [];
@@ -4007,7 +4015,8 @@ export default {
         case "7":
           this.disposeChart();
           listS6107(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            this.analysisDescription = response.data.description;
             let codArray = [];
             let controlArray = [];
             let phArray = [];
@@ -4093,7 +4102,8 @@ export default {
         case "8":
           this.disposeChart();
           listS4012(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            this.analysisDescription = response.data.description;
             let ethyleneArray = [];
             let propyleneArray = [];
             let sampleDateArray = [];
@@ -4162,7 +4172,8 @@ export default {
         case "9":
           this.disposeChart();
           listS5001(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            this.analysisDescription = response.data.description;
             let buteneArray = [];
             let propyleneArray = [];
             let sampleDateArray = [];
@@ -4248,7 +4259,8 @@ export default {
         case "10":
           this.disposeChart();
           c2ReactorAnalysis(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataMap;
+            this.analysisDescription = response.data.description;
             let ethyleneSelectivity3rdOutArray = [];
             let mapdConversion3rdOutArray = [];
             let sampleDateArray = [];
@@ -4325,7 +4337,8 @@ export default {
         case "11":
           this.disposeChart();
           c3ReactorAnalysis(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataMap;
+            this.analysisDescription = response.data.description;
             let conversionArray = [];
             let propyleneSelectivityArray = [];
             let sampleDateArray = [];
@@ -4402,7 +4415,8 @@ export default {
         case "12":
           this.disposeChart();
           listS6301(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            this.analysisDescription = response.data.description;
             let c5ConjugatedDienesDcpdArray = [];
             let c250Array = [];
             let c4Array = [];
@@ -4505,7 +4519,8 @@ export default {
         case "13":
           this.disposeChart();
           listS6101(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            this.analysisDescription = response.data.description;
             let brNumberArray = [];
             let totalSulfurArray = [];
             let totalNitrogenArray = [];
@@ -4581,7 +4596,8 @@ export default {
         case "14":
           this.disposeChart();
           listS1301(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            this.analysisDescription = response.data.description;
             let temperatureInArray = [];
             let temperatureRaiseArray = [];
             let styreneArray = [];
@@ -4675,7 +4691,8 @@ export default {
         case "15":
           this.disposeChart();
           listS4501(this.analysisQueryParams).then(response => {
-            let data = response.data;
+            let data = response.data.dataList;
+            this.analysisDescription = response.data.description;
             let temperatureInArray = [];
             let temperatureRaiseArray = [];
             let pressureDiffArray = [];

+ 39 - 28
ui/src/views/production/quality/report.vue

@@ -432,20 +432,23 @@ export default {
         this.chart2.setOption(option);
       });
       // 乙烯/丙烯主产品质量
-      let ethyleneArray = [];
-      let ethyleneIndexArray = [];
-      let propyleneArray = [];
-      let propyleneIndexArray = [];
-      let sampleDateArray = [];
       listS4013(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        let description4013 = response.data.description;
+        let ethyleneArray = [];
+        let ethyleneIndexArray = [];
+        let propyleneArray = [];
+        let propyleneIndexArray = [];
+        let sampleDateArray = [];
         for(let i = 0 ; i < data.length; i++){
           ethyleneArray.push(data[i].ethylene);
           ethyleneIndexArray.push("99.95");
           sampleDateArray.push(data[i].sampleDate);
         }
         listS5003(this.analysisQueryParams).then(response => {
-          let data = response.data;
+          let data = response.data.dataList;
+          let description5003 = response.data.description;
+          this.analysisDescription3 = description4013 + description5003;
           for(let i = 0 ; i < data.length; i++){
             propyleneArray.push(data[i].propylene);
             propyleneIndexArray.push("99.6");
@@ -521,7 +524,8 @@ export default {
       });
       // 急冷系统关键控制指标
       listS2007(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        this.analysisDescription4 = response.data.description;
         let viscosityArray = [];
         let endPointArray = [];
         let pressureDifferenceArray = [];
@@ -602,7 +606,8 @@ export default {
       });
       // DS系统关键控制指标
       listS2002(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        let description2002 = response.data.description;
         let cod2002Array = [];
         let ph2002Array = [];
         let cod2400Array = [];
@@ -618,7 +623,9 @@ export default {
           sampleDateArray.push(data[i].sampleDate);
         }
         listS2400(this.analysisQueryParams).then(response => {
-          let data = response.data;
+          let data = response.data.dataList;
+          let description2400 = response.data.description;
+          this.analysisDescription5 = description2002 + description2400;
           for(let i = 0 ; i < data.length; i++){
             cod2400Array.push(data[i].cod);
             ph2400Array.push(data[i].ph);
@@ -715,7 +722,8 @@ export default {
       });
       // 碱洗处理系统关键指标
       listS3004(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        this.analysisDescription6 = response.data.description;
         let naOhArray = [];
         let controlArray = [];
         let sampleDateArray = [];
@@ -782,7 +790,8 @@ export default {
       });
       // 废碱处理系统关键指标
       listS6107(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        this.analysisDescription7 = response.data.description;
         let codArray = [];
         let controlArray = [];
         let phArray = [];
@@ -866,7 +875,8 @@ export default {
       });
       // 循环乙烷关键组份含量指标
       listS4012(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        this.analysisDescription8 = response.data.description;
         let ethyleneArray = [];
         let propyleneArray = [];
         let sampleDateArray = [];
@@ -933,7 +943,8 @@ export default {
       });
       // 循环丙烷关键含量指标
       listS5001(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        this.analysisDescription9 = response.data.description;
         let buteneArray = [];
         let propyleneArray = [];
         let sampleDateArray = [];
@@ -1017,7 +1028,8 @@ export default {
       });
       // 碳二反应器性能指标
       c2ReactorAnalysis(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataMap;
+        this.analysisDescription10 = response.data.description;
         let ethyleneSelectivity3rdOutArray = [];
         let mapdConversion3rdOutArray = [];
         let sampleDateArray = [];
@@ -1082,16 +1094,14 @@ export default {
         this.chart10 = this.echarts.init(document.getElementById('chart10'));
         this.chart10.setOption(option);
       });
-      c2ReactorTable({
-        "startDate": this.sampleDate[0],
-        "endDate": this.sampleDate[1]
-      }).then(response => {
+      c2ReactorTable({"startDate": this.sampleDate[0], "endDate": this.sampleDate[1]}).then(response => {
         let data = response.data;
         this.c2ReactorTableData = data;
       });
       // 碳三反应器性能指标
       c3ReactorAnalysis(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataMap;
+        this.analysisDescription11 = response.data.description;
         let conversionArray = [];
         let propyleneSelectivityArray = [];
         let sampleDateArray = [];
@@ -1156,16 +1166,14 @@ export default {
         this.chart11 = this.echarts.init(document.getElementById('chart11'));
         this.chart11.setOption(option);
       });
-      c3ReactorTable({
-        "startDate": this.sampleDate[0],
-        "endDate": this.sampleDate[1]
-      }).then(response => {
+      c3ReactorTable({"startDate": this.sampleDate[0], "endDate": this.sampleDate[1]}).then(response => {
         let data = response.data;
         this.c3ReactorTableData = data;
       });
       // 裂解C5相关指标
       listS6301(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        this.analysisDescription12 = response.data.description;
         let c5ConjugatedDienesDcpdArray = [];
         let c250Array = [];
         let c4Array = [];
@@ -1266,7 +1274,8 @@ export default {
       });
       // RPG原料规格
       listS6101(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        this.analysisDescription13 = response.data.description;
         let brNumberArray = [];
         let totalSulfurArray = [];
         let totalNitrogenArray = [];
@@ -1340,7 +1349,8 @@ export default {
       });
       // 一段加氢反应器性能
       listS1301(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        this.analysisDescription14 = response.data.description;
         let temperatureInArray = [];
         let temperatureRaiseArray = [];
         let styreneArray = [];
@@ -1432,7 +1442,8 @@ export default {
       });
       // 二段加氢反应器性能
       listS4501(this.analysisQueryParams).then(response => {
-        let data = response.data;
+        let data = response.data.dataList;
+        this.analysisDescription15 = response.data.description;
         let temperatureInArray = [];
         let temperatureRaiseArray = [];
         let pressureDiffArray = [];