From dbf33d1b5a562088e6b16c7c346cbe9432676460 Mon Sep 17 00:00:00 2001
From: dongyukun <1208714201@qq.com>
Date: 星期二, 29 四月 2025 19:27:23 +0800
Subject: [PATCH] 时序数据存档插入code、createTime

---
 iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CalculateHandle.java |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CalculateHandle.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CalculateHandle.java
index 8b1376a..6073712 100644
--- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CalculateHandle.java
+++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/point/collection/handler/CalculateHandle.java
@@ -6,6 +6,7 @@
 import com.iailab.module.data.common.enums.DataTypeEnum;
 import com.iailab.module.data.common.enums.JsErrorCode;
 import com.iailab.module.data.common.utils.JavaScriptHandler;
+import com.iailab.module.data.enums.DataPointFreqEnum;
 import com.iailab.module.data.point.collection.PointCollector;
 import com.iailab.module.data.point.collection.utils.GenInfluxPointValueUtils;
 import com.iailab.module.data.point.dto.DaPointDTO;
@@ -66,8 +67,14 @@
                     Object rawValue = singleCompute(dto, dataMap, listGood, listBad);
                     BigDecimal coefficient = dto.getUnittransfactor() == null ? BigDecimal.ONE : dto.getUnittransfactor();
                     BigDecimal calValue = new BigDecimal(rawValue.toString()).multiply(coefficient);
+                    if (dto.getMaxValue() != null && calValue.compareTo(dto.getMaxValue()) > 0) {
+                        calValue = dto.getMaxValue();
+                    } else if (dto.getMinValue() != null && calValue.compareTo(dto.getMinValue()) < 0) {
+                        calValue = dto.getMinValue();
+                    }
+
                     InfluxPointValuePOJO pojo = GenInfluxPointValueUtils.getByPoint(dto, calValue);
-                    pojo.setTimestamp(collectTime.toInstant());
+                    pojo.setTimestamp(GenInfluxPointValueUtils.getByMin(collectTime, DataPointFreqEnum.getEumByCode(dto.getMinfreqid())));
                     result.add(pojo);
                 } catch (Exception ex) {
                     ex.printStackTrace();

--
Gitblit v1.9.3