From 24c09b6427ca16314385ea7a23bc4f7943727799 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期三, 14 五月 2025 18:25:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/AutoAdjustValueRuleEnum.java |   27 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/AutoAdjustValueRuleEnum.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/AutoAdjustValueRuleEnum.java
index e4b50d8..ece2ae8 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/AutoAdjustValueRuleEnum.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/enums/AutoAdjustValueRuleEnum.java
@@ -1,11 +1,13 @@
 package com.iailab.module.model.mcs.pre.enums;
 
+import com.iailab.module.data.api.point.dto.ApiPointValueDTO;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
 import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.function.Function;
 
 /**
@@ -15,22 +17,23 @@
 @AllArgsConstructor
 public enum AutoAdjustValueRuleEnum {
 
-    // 均值差
-    AVERAGE_GAP_VALUE("average_gap_value",(map) -> {
-        if (!map.containsKey("startValue") || !map.containsKey("endValue")) {
-            return 0.0;
+    // 流量累计
+    FLOW_RATE_ACCUMULATION("flow_rate_accumulation",(apiPointValues) -> {
+        // 基准值
+        double refValue = apiPointValues.get(0).getV();
+        double adjustValue = 0.0;
+        for (ApiPointValueDTO pointValue : apiPointValues) {
+            adjustValue += pointValue.getV() - refValue;
         }
-        Double startValue = Double.valueOf(map.get("startValue").toString());
-        Double endValue = Double.valueOf(map.get("endValue").toString());
-        return endValue - startValue;
+        return adjustValue / 60;
     });
 
 
     private final String code;
-    private final Function<HashMap<String,Object>, Double> calculator;
+    private final Function<List<ApiPointValueDTO>, Double> calculator;
 
-    public Double calculate(HashMap<String,Object> map) {
-        return calculator.apply(map);
+    public Double calculate(List<ApiPointValueDTO> apiPointValues) {
+        return calculator.apply(apiPointValues);
     }
 
     public static AutoAdjustValueRuleEnum fromCode(String code) {
@@ -42,13 +45,13 @@
         return null;
     }
 
-    public static Double getAdjustValue(String code,HashMap<String,Object> map) {
+    public static Double getAdjustValue(String code, List<ApiPointValueDTO> apiPointValues) {
 
         AutoAdjustValueRuleEnum rule = AutoAdjustValueRuleEnum.fromCode(code);
 
         if (rule == null) {
             return 0.0;
         }
-        return rule.calculate(map);
+        return rule.calculate(apiPointValues);
     }
 }

--
Gitblit v1.9.3