From 5a2a3c09c0988bb010b5fd3f5166f1ff335cba65 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期五, 16 五月 2025 10:04:16 +0800
Subject: [PATCH] 电网拓扑功率历史 最大最小值查询优化

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java |   26 ++++++++++++++------------
 1 files changed, 14 insertions(+), 12 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 bdcf1d2..e5b8f14 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
@@ -849,12 +849,13 @@
         start = calendar.getTime();
         apiPointValueQueryDTO.setStart(start);
         apiPointValueQueryDTO.setEnd(new Date());
-        List<ApiPointValueDTO> monthChartData = dataPointApi.queryPointHistoryValue(apiPointValueQueryDTO);
-        List<Double> monthValues = new ArrayList<>();
-        if (!CollectionUtils.isEmpty(monthChartData)) {
-            monthValues = monthChartData.stream().map(item -> item.getV()).collect(Collectors.toList());
-            result.setMax(monthValues.stream().max(Double::compareTo).get());
-            result.setMin(monthValues.stream().min(Double::compareTo).get());
+        Map<String, Object> maxV = dataPointApi.queryPointMaxValueRange(apiPointValueQueryDTO);
+        Map<String, Object> minV = dataPointApi.queryPointMaxValueRange(apiPointValueQueryDTO);
+        if (maxV != null && maxV.containsKey(pointNo)) {
+            result.setMax(new BigDecimal(maxV.get(pointNo).toString()));
+        }
+        if (minV != null && minV.containsKey(pointNo)) {
+            result.setMin(new BigDecimal(minV.get(pointNo).toString()));
         }
         return success(result);
     }
@@ -939,13 +940,14 @@
             apiPointValueQueryDTO1.setStart(start1);
             apiPointValueQueryDTO1.setEnd(new Date());
             apiPointValueQueryDTO1.setPointNo(pointNo);
-            List<ApiPointValueDTO> monthChartData = dataPointApi.queryPointHistoryValue(apiPointValueQueryDTO1);
-            if (!CollectionUtils.isEmpty(monthChartData)) {
-                List<Double> monthValues = monthChartData.stream().map(item -> item.getV()).collect(Collectors.toList());
-                powerHistoryDTO.setMax(monthValues.stream().max(Double::compareTo).get());
-                powerHistoryDTO.setMin(monthValues.stream().min(Double::compareTo).get());
+            Map<String, Object> maxV = dataPointApi.queryPointMaxValueRange(apiPointValueQueryDTO1);
+            Map<String, Object> minV = dataPointApi.queryPointMaxValueRange(apiPointValueQueryDTO1);
+            if (maxV != null && maxV.containsKey(pointNo)) {
+                powerHistoryDTO.setMax(new BigDecimal(maxV.get(pointNo).toString()));
             }
-
+            if (minV != null && minV.containsKey(pointNo)) {
+                powerHistoryDTO.setMin(new BigDecimal(minV.get(pointNo).toString()));
+            }
             result.put(nodeCode, powerHistoryDTO);
         }
         return success(result);

--
Gitblit v1.9.3