鞍钢鲅鱼圈能源管控系统后端代码
潘志宝
2025-05-16 5a2a3c09c0988bb010b5fd3f5166f1ff335cba65
电网拓扑功率历史 最大最小值查询优化
已修改2个文件
31 ■■■■ 文件已修改
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerHistoryDTO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
ansteel-biz/src/main/java/com/iailab/module/ansteel/api/dto/PowerHistoryDTO.java
@@ -4,6 +4,7 @@
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
@@ -21,9 +22,9 @@
    private List<Object[]> dataList;
    @Schema(description = "最大值")
    private double max;
    private BigDecimal max;
    @Schema(description = "最小值")
    private double min;
    private BigDecimal min;
}