From 337e1145cfec2bd18e859a4336725cb64943c175 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期五, 06 六月 2025 14:04:11 +0800
Subject: [PATCH] 建议快照 上下限 越界时间

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotConfDetEntity.java            |   11 +++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java  |   18 +++++++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotConfDetServiceImpl.java |    4 --
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetRespVO.java                |    8 ++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetReqVO.java                 |    8 ++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotRecordEntity.java             |   12 ++++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetSaveReqVO.java             |    8 ++++
 iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/StSuggestSnapshotRecordRespVO.java                 |   10 +++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotRecordSaveReqVO.java              |    6 +++
 9 files changed, 81 insertions(+), 4 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/StSuggestSnapshotRecordRespVO.java b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/StSuggestSnapshotRecordRespVO.java
index 5dc702d..477ad34 100644
--- a/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/StSuggestSnapshotRecordRespVO.java
+++ b/iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/StSuggestSnapshotRecordRespVO.java
@@ -4,6 +4,7 @@
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -57,4 +58,13 @@
     @Schema(description = "数据列表")
     List<Object[]> dataList;
 
+    @Schema(description = "上限")
+    private BigDecimal limitH;
+
+    @Schema(description = "下限")
+    private BigDecimal limitL;
+
+    @Schema(description = "越界时间")
+    private List<String> overLimitTimes;
+
 }
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotConfDetEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotConfDetEntity.java
index 61935dd..22e9584 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotConfDetEntity.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotConfDetEntity.java
@@ -6,6 +6,7 @@
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 /**
  * @author Jay
@@ -53,6 +54,16 @@
     private Integer rightLength;
 
     /**
+     * 上限
+     */
+    private BigDecimal limitH;
+
+    /**
+     * 下限
+     */
+    private BigDecimal limitL;
+
+    /**
      * 排序
      */
     private Integer sort;
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotRecordEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotRecordEntity.java
index 6b83487..98e3529 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotRecordEntity.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/entity/StSuggestSnapshotRecordEntity.java
@@ -3,9 +3,11 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -77,4 +79,14 @@
      * 排序
      */
     private Integer sort;
+
+    /**
+     * 上限
+     */
+    private BigDecimal limitH;
+
+    /**
+     * 下限
+     */
+    private BigDecimal limitL;
 }
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotConfDetServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotConfDetServiceImpl.java
index 8c202a9..f7c7ce8 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotConfDetServiceImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotConfDetServiceImpl.java
@@ -26,10 +26,6 @@
 public class StSuggestSnapshotConfDetServiceImpl extends BaseServiceImpl<StSuggestSnapshotConfDetDao, StSuggestSnapshotConfDetEntity>
         implements StSuggestSnapshotConfDetService {
 
-
-    @Autowired
-    private StSuggestSnapshotConfDetService stSuggestSnapshotConfDetService;
-
     @Override
     public PageResult<StSuggestSnapshotConfDetEntity> page(StSuggestSnapshotConfDetPageReqVO reqVO) {
         return baseDao.selectPage(reqVO);
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java
index c39ea96..333e2cc 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java
@@ -1,5 +1,7 @@
 package com.iailab.module.model.mcs.sche.service.impl;
 
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.date.format.DateParser;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.iailab.framework.common.service.impl.BaseServiceImpl;
@@ -28,11 +30,13 @@
 import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotConfDetRespVO;
 import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotConfMainRespVO;
 import com.iailab.module.model.mcs.sche.vo.StSuggestSnapshotRecordSaveReqVO;
+import org.apache.commons.lang.time.DateFormatUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.ArrayList;
@@ -124,6 +128,9 @@
             snapshotRecordSaveReqVO.setDataName(confDet.getDataName());
             snapshotRecordSaveReqVO.setScheduleTime(scheduleTime);
             snapshotRecordSaveReqVO.setSort(confDet.getSort());
+            snapshotRecordSaveReqVO.setLimitH(confDet.getLimitH());
+            snapshotRecordSaveReqVO.setLimitL(confDet.getLimitL());
+            snapshotRecordSaveReqVO.setSort(confDet.getSort());
             //计算开始时间,开始时间为当前调度时间减去快照配置表配置的左侧时间长度
             LocalDateTime localStartDateTime =  scheduleTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().minusMinutes(confDet.getLeftLength() ==  null ? 60 : confDet.getLeftLength());
             Date startTime = Date.from(localStartDateTime.atZone(ZoneId.systemDefault()).toInstant());
@@ -191,6 +198,17 @@
             }
             item.setDataList(dataList);
 
+            if (!CollectionUtils.isEmpty(dataList)) {
+                List<String> overLimitTimes = new ArrayList<>();
+                dataList.forEach(data -> {
+                    BigDecimal value = new BigDecimal(data[1].toString());
+                    if (value.compareTo(item.getLimitH()) >= 0 || value.compareTo(item.getLimitL()) <= 0) {
+                        overLimitTimes.add(data[0].toString());
+                    }
+                });
+                item.setOverLimitTimes(overLimitTimes);
+            }
+
         });
         return reqList;
     }
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetReqVO.java
index 374579b..351a0e0 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetReqVO.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetReqVO.java
@@ -3,6 +3,8 @@
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 
 /**
  * @author Jay
@@ -32,6 +34,12 @@
     @Schema(description = "右侧侧长度(min)")
     private Integer rightLength;
 
+    @Schema(description = "上限")
+    private BigDecimal limitH;
+
+    @Schema(description = "下限")
+    private BigDecimal limitL;
+
     @Schema(description = "排序")
     private Integer sort;
 
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetRespVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetRespVO.java
index fa9421a..46b7c16 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetRespVO.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetRespVO.java
@@ -3,6 +3,8 @@
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 
 /**
  * @author Jay
@@ -32,6 +34,12 @@
     @Schema(description = "右侧侧长度(min)")
     private Integer rightLength;
 
+    @Schema(description = "上限")
+    private BigDecimal limitH;
+
+    @Schema(description = "下限")
+    private BigDecimal limitL;
+
     @Schema(description = "排序")
     private Integer sort;
 
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetSaveReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetSaveReqVO.java
index 296500e..8e5b4f9 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetSaveReqVO.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotConfDetSaveReqVO.java
@@ -3,6 +3,8 @@
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 
 /**
  * @author Jay
@@ -32,6 +34,12 @@
     @Schema(description = "右侧侧长度(min)")
     private Integer rightLength;
 
+    @Schema(description = "上限")
+    private BigDecimal limitH;
+
+    @Schema(description = "下限")
+    private BigDecimal limitL;
+
     @Schema(description = "排序")
     private Integer sort;
 
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotRecordSaveReqVO.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotRecordSaveReqVO.java
index 7050269..a80e43e 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotRecordSaveReqVO.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/vo/StSuggestSnapshotRecordSaveReqVO.java
@@ -4,6 +4,7 @@
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 
@@ -53,5 +54,10 @@
     @Schema(description = "排序")
     private Integer sort;
 
+    @Schema(description = "上限")
+    private BigDecimal limitH;
+
+    @Schema(description = "下限")
+    private BigDecimal limitL;
 
 }
\ No newline at end of file

--
Gitblit v1.9.3