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