From 31228c3fb37ccc2c3f11426e48291f708ac269c6 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期三, 28 五月 2025 09:17:13 +0800
Subject: [PATCH] 功率因数接口修改 增加平均值,返送,累计功率因数等

---
 ansteel-biz/src/main/java/com/iailab/module/ansteel/api/controller/admin/PowerController.java |   35 ++++++++++++++++++++++++++---------
 1 files changed, 26 insertions(+), 9 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 fa0033d..592efd6 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
@@ -897,16 +897,10 @@
         calendar0.set(Calendar.MILLISECOND, 0);
         calendar0.set(Calendar.SECOND, 0);
         Date end0 = dto.getEndTime() == null ? calendar0.getTime() : dto.getEndTime();
-        calendar0.add(Calendar.MINUTE, -1440);
+        calendar0.set(Calendar.MINUTE, 0);
+        calendar0.set(Calendar.HOUR_OF_DAY, 0);
         Date start0 = dto.getStartTime() == null ? calendar0.getTime() : dto.getStartTime();
 
-        Calendar calendar1 = Calendar.getInstance();
-        calendar1.set(Calendar.DAY_OF_MONTH, 1);
-        calendar1.set(Calendar.HOUR_OF_DAY, 0);
-        calendar1.set(Calendar.MINUTE, 0);
-        calendar1.set(Calendar.SECOND, 0);
-        calendar1.set(Calendar.MILLISECOND, 0);
-        Date start1 = calendar1.getTime();
 
         List<String> categories = DateUtils.getTimeScale(start0, end0, 60);
         for (String nodeCode : nodeCodeList) {
@@ -947,16 +941,18 @@
             apiPointValueQueryDTO.setStart(start0);
             List<ApiPointValueDTO> chartData = dataPointApi.queryPointHistoryValue(apiPointValueQueryDTO);
             List<Object[]> dataList = new ArrayList<>();
+            List<Double> valueList = new ArrayList<>();
             for (ApiPointValueDTO pv : chartData) {
                 Object[] data = new Object[2];
                 data[0] = DateUtils.format(pv.getT(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND);
                 data[1] = pv.getV();
                 dataList.add(data);
+                valueList.add(pv.getV());
             }
             powerHistoryDTO.setDataList(dataList);
 
             //查询月最大最小值
-            ApiPointValueQueryDTO apiPointValueQueryDTO1 = new ApiPointValueQueryDTO();
+            /*ApiPointValueQueryDTO apiPointValueQueryDTO1 = new ApiPointValueQueryDTO();
             apiPointValueQueryDTO1.setStart(start1);
             apiPointValueQueryDTO1.setEnd(new Date());
             apiPointValueQueryDTO1.setPointNo(pointNo);
@@ -967,7 +963,28 @@
             }
             if (minV != null && minV.containsKey(pointNo)) {
                 powerHistoryDTO.setMin(new BigDecimal(minV.get(pointNo).toString()));
+            }*/
+
+            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();
+
+                for (Double val : valueList) {
+                    if (val < 0) {
+                        fsl += val;
+                    }
+                }
             }
+            powerHistoryDTO.setFsl(new BigDecimal(fsl).setScale(2, BigDecimal.ROUND_HALF_UP));
+            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));
+
             result.put(nodeCode, powerHistoryDTO);
         }
         return success(result);

--
Gitblit v1.9.3