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