From b81a99285eed387c386e5220844d61dbcb424855 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期五, 11 四月 2025 12:00:43 +0800
Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/iailab-plat

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultLastPointServiceImpl.java |   55 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 38 insertions(+), 17 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultLastPointServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultLastPointServiceImpl.java
index 7c5f775..2970c7a 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultLastPointServiceImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultLastPointServiceImpl.java
@@ -1,14 +1,16 @@
 package com.iailab.module.model.mcs.pre.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.iailab.framework.common.service.impl.BaseServiceImpl;
 import com.iailab.framework.common.util.date.DateUtils;
-import com.iailab.module.model.mcs.pre.dao.MmItemResultLastPointDao;
-import com.iailab.module.model.mcs.pre.entity.MmItemResultLastPointEntity;
+import com.iailab.module.model.common.enums.DataTypeEnum;
+import com.iailab.module.model.influxdb.pojo.InfluxModelResultPOJO;
+import com.iailab.module.model.influxdb.service.InfluxDBService;
+import com.iailab.module.model.influxdb.vo.InfluxModelResultVO;
 import com.iailab.module.model.mcs.pre.service.MmItemResultLastPointService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -19,24 +21,43 @@
  * @createTime 2024年11月14日
  */
 @Service
-public class MmItemResultLastPointServiceImpl extends BaseServiceImpl<MmItemResultLastPointDao, MmItemResultLastPointEntity>
-        implements MmItemResultLastPointService {
+public class MmItemResultLastPointServiceImpl implements MmItemResultLastPointService {
+    @Autowired
+    private InfluxDBService influxDBService;
 
     @Override
     public List<Object[]> getData(String outputid, Date startTime, Date endTime, String timeFormat) {
+        return getData(outputid,startTime,endTime,timeFormat,null);
+    }
+
+    public List<Object[]> getData(String outputid, Date startTime, Date endTime, String timeFormat,DataTypeEnum dataTypeEnum) {
         List<Object[]> result = new ArrayList<>();
-        QueryWrapper<MmItemResultLastPointEntity> queryWrapper = new QueryWrapper<MmItemResultLastPointEntity>()
-                .eq("outputid", outputid)
-                .between("datatime", startTime, endTime)
-                .orderByAsc("datatime");
-        List<MmItemResultLastPointEntity> list = baseDao.selectList(queryWrapper);
-        if (CollectionUtils.isEmpty(list)) {
-            return result;
+        InfluxModelResultPOJO pojo = new InfluxModelResultPOJO();
+        if (dataTypeEnum == null) {
+            dataTypeEnum = DataTypeEnum.FLOAT_LAST;
         }
-        list.forEach(item -> {
+        pojo.setType(dataTypeEnum.getCode());
+        pojo.setOutPutId(outputid);
+        List<InfluxModelResultVO> influxModelResultVOS = influxDBService.queryModelResults(pojo, startTime, endTime);
+        influxModelResultVOS.forEach(item -> {
             Object[] dataItem = new Object[2];
-            dataItem[0] = DateUtils.format(item.getDatatime(), timeFormat);
-            dataItem[1] = item.getDatavalue();
+            dataItem[0] = DateUtils.format(Date.from(item.getTimestamp()), timeFormat);
+            dataItem[1] = BigDecimal.valueOf(Double.valueOf(item.getValue().toString())).setScale(3, BigDecimal.ROUND_HALF_UP);
+            result.add(dataItem);
+        });
+        return result;
+    }
+
+    public List<Object[]> getData(String outputid, Date startTime, Date endTime, String timeFormat, int decimalPlaces) {
+        List<Object[]> result = new ArrayList<>();
+        InfluxModelResultPOJO pojo = new InfluxModelResultPOJO();
+        pojo.setType(DataTypeEnum.FLOAT_LAST.getCode());
+        pojo.setOutPutId(outputid);
+        List<InfluxModelResultVO> influxModelResultVOS = influxDBService.queryModelResults(pojo, startTime, endTime);
+        influxModelResultVOS.forEach(item -> {
+            Object[] dataItem = new Object[2];
+            dataItem[0] = DateUtils.format(Date.from(item.getTimestamp()), timeFormat);
+            dataItem[1] = BigDecimal.valueOf(Double.parseDouble(item.getValue().toString())).setScale(decimalPlaces, RoundingMode.HALF_UP);
             result.add(dataItem);
         });
         return result;

--
Gitblit v1.9.3