From 60b9f21d937234d6c3465106111742997604c03c Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期一, 19 五月 2025 14:54:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/service/impl/InfluxDBServiceImpl.java |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/service/impl/InfluxDBServiceImpl.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/service/impl/InfluxDBServiceImpl.java
index b6babc7..4f83eb7 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/service/impl/InfluxDBServiceImpl.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/influxdb/service/impl/InfluxDBServiceImpl.java
@@ -335,6 +335,30 @@
     }
 
     @Override
+    public Map<String, Object> queryPointMaxTimeValue(InfluxPointValuePOJO point, Date startTime, Date endTime) {
+        Map<String, Object> result = new HashMap<>(2);
+        List<Map<String, Object>> valueList = this.queryPointValues(point, startTime, endTime);
+        if (CollectionUtils.isEmpty(valueList)) {
+            return null;
+        }
+
+        double valueL = new BigDecimal(valueList.get(0).get(VALUE).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+        String timeM = valueList.get(0).get(TIME).toString();
+        double valueM = valueL;
+        for (Map<String, Object> item : valueList) {
+            double valueI = new BigDecimal(item.get(VALUE).toString()).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+            if (valueI >= valueL ) {
+                valueM = valueI;
+                timeM = item.get(TIME).toString();
+            }
+            valueL = valueI;
+        }
+        result.put(TIME, timeM);
+        result.put(VALUE, valueM);
+        return result;
+    }
+
+    @Override
     public Object queryPointMaxValueRange(InfluxPointValuePOJO point, Date startTime, Date endTime) {
         if (influxQLQueryApi == null) {
             influxQLQueryApi = influxDBInstance.getClient().getInfluxQLQueryApi();

--
Gitblit v1.9.3