From 0bdd92857e4dd960d77acb714d25b7cc2ee0789b Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期三, 18 六月 2025 14:20:16 +0800
Subject: [PATCH] 所有关口进线的二级界面(表格/曲线)均增加(CCPP/135/CDQ/TRT/余热)的选项。

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java |   92 ++++++++++++++++++++++++++++-----------------
 1 files changed, 57 insertions(+), 35 deletions(-)

diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java
index b4893b2..48e62cc 100644
--- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java
+++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java
@@ -302,6 +302,13 @@
             params.put("groupName", entity.getNodeName());
         }
         list = powerNetDropdownService.list(params);
+
+        // 追加公共 2025-06-18
+        Map<String, Object> paramsCom = new HashMap<>();
+        paramsCom.put("groupName", "COMMON1");
+        List<PowerNetDropdownEntity> comList = powerNetDropdownService.list(paramsCom);
+        list.addAll(comList);
+
         List<String> points = list.stream().map(item -> {
             return item.getCurCos();
         }).collect(Collectors.toList());
@@ -728,9 +735,20 @@
             log.info("PowerDemandEntity is null");
             return success(result);
         }
+        List<PowerNetDropdownEntity> list = new ArrayList<>();
         Map<String, Object> params0 = new HashMap<>();
         params0.put("groupName", entity.getName());
-        List<PowerNetDropdownEntity> list = powerNetDropdownService.list(params0);
+        List<PowerNetDropdownEntity> list0 = powerNetDropdownService.list(params0);
+        if (!CollectionUtils.isEmpty(list0)) {
+            list.addAll(list0);
+        }
+        Map<String, Object> params1 = new HashMap<>();
+        params1.put("groupName", "COMMON1");
+        List<PowerNetDropdownEntity> list1 = powerNetDropdownService.list(params1);
+        if (!CollectionUtils.isEmpty(list1)) {
+            list.addAll(list1);
+        }
+
         List<String> points = list.stream().map(item -> {
             return item.getCurCos();
         }).collect(Collectors.toList());
@@ -1335,6 +1353,11 @@
             apiPointValueQueryDTO.setStart(start0);
             List<Object[]> dataList = new ArrayList<>();
             List<Double> valueList = new ArrayList<>();
+            double max = 0;
+            double min = 0;
+            double avg = 0;
+            String maxTime = "";
+            String minTime = "";
 
             if (StringUtils.isNotBlank(pointNo)) {
                 apiPointValueQueryDTO.setPointNo(pointNo);
@@ -1347,15 +1370,9 @@
                     valueList.add(pv.getV());
                 }
 
+                // 返送累计
                 double fsl = 0;
-                double max = 0;
-                double min = 0;
-                double avg = 0;
                 if (!CollectionUtils.isEmpty(valueList)) {
-                    max = valueList.stream().mapToDouble(Double::doubleValue).max().getAsDouble();
-                    min = valueList.stream().mapToDouble(Double::doubleValue).min().getAsDouble();
-                    avg = valueList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
-
                     if (powerNetFactorQuery.getCurFlag() != null && powerNetFactorQuery.getCurFlag().intValue() != 0) {
                         for ( Double val : valueList) {
                             if (new BigDecimal(val).compareTo(BigDecimal.ZERO) != powerNetFactorQuery.getCurFlag()) {
@@ -1366,18 +1383,7 @@
                         }
                     }
                 }
-
-                powerHistoryDTO.setMax(new BigDecimal(max).setScale(2, BigDecimal.ROUND_HALF_UP));
-                powerHistoryDTO.setMin(new BigDecimal(min).setScale(2, BigDecimal.ROUND_HALF_UP));
-                powerHistoryDTO.setAvg(new BigDecimal(avg).setScale(2, BigDecimal.ROUND_HALF_UP));
-
-                // 当查询为P, Q,且有返送flag时 计算 返送累计
-                if (("P".equals(queryType.toUpperCase()) || "Q".equals(queryType.toUpperCase())) &&
-                        powerNetFactorQuery.getCurFlag() != null &&
-                        powerNetFactorQuery.getCurFlag().intValue() != 0) {
-                    powerHistoryDTO.setFsl(new BigDecimal(fsl).setScale(2, BigDecimal.ROUND_HALF_UP));
-                }
-
+                powerHistoryDTO.setFsl(new BigDecimal(fsl).setScale(2, BigDecimal.ROUND_HALF_UP));
             } else if (StringUtils.isNotBlank(pointNoArr[0]) && StringUtils.isNotBlank(pointNoArr[1])) {
                 apiPointValueQueryDTO.setPointNo(pointNoArr[0]);
                 List<ApiPointValueDTO> chartDataP = dataPointApi.queryPointHistoryValue(apiPointValueQueryDTO);
@@ -1395,26 +1401,42 @@
 
                 for (String cate : categories) {
                     Double cos = PowerUtil.calculateCos(dataMapP.get(cate), dataMapQ.get(cate));
+                    if (cos == null) {
+                        continue;
+                    }
                     Object[] data = new Object[2];
                     data[0] = cate;
-                    data[1] = cos == null ? 0 : new BigDecimal(cos).setScale(2, BigDecimal.ROUND_HALF_UP);
+                    data[1] = cos;
                     dataList.add(data);
-                    if (cos != null) {
-                        valueList.add(cos);
-                    }
-                    double max = 0;
-                    double min = 0;
-                    double avg = 0;
-                    if (!CollectionUtils.isEmpty(valueList)) {
-                        max = valueList.stream().mapToDouble(Double::doubleValue).max().getAsDouble();
-                        min = valueList.stream().mapToDouble(Double::doubleValue).min().getAsDouble();
-                        avg = valueList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
-                    }
-                    powerHistoryDTO.setMax(new BigDecimal(max).setScale(2, BigDecimal.ROUND_HALF_UP));
-                    powerHistoryDTO.setMin(new BigDecimal(min).setScale(2, BigDecimal.ROUND_HALF_UP));
-                    powerHistoryDTO.setAvg(new BigDecimal(avg).setScale(2, BigDecimal.ROUND_HALF_UP));
+                    valueList.add(cos);
                 }
             }
+
+            if (!CollectionUtils.isEmpty(valueList)) {
+                // max = valueList.stream().mapToDouble(Double::doubleValue).max().getAsDouble();
+                // min = valueList.stream().mapToDouble(Double::doubleValue).min().getAsDouble();
+                avg = valueList.stream().mapToDouble(Double::doubleValue).average().getAsDouble();
+                max = valueList.get(0).doubleValue();
+                min = valueList.get(0).doubleValue();
+                for (Object[] dataItem : dataList) {
+                    String time = (String) dataItem[0];
+                    double value = (double)dataItem[1];
+                    if (value > max) {
+                        max = value;
+                        maxTime = time;
+                    }
+                    if (value < min) {
+                        min = value;
+                        minTime = time;
+                    }
+                }
+            }
+
+            powerHistoryDTO.setMax(new BigDecimal(max).setScale(2, BigDecimal.ROUND_HALF_UP));
+            powerHistoryDTO.setMin(new BigDecimal(min).setScale(2, BigDecimal.ROUND_HALF_UP));
+            powerHistoryDTO.setAvg(new BigDecimal(avg).setScale(2, BigDecimal.ROUND_HALF_UP));
+            powerHistoryDTO.setMaxTime(maxTime);
+            powerHistoryDTO.setMinTime(minTime);
             powerHistoryDTO.setDataList(dataList);
             result.put(nodeCode, powerHistoryDTO);
         }

--
Gitblit v1.9.3