From e7a52d9e21eddb8ff94fb2b0ac95e4d7da541ed2 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期三, 11 六月 2025 17:22:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 40 insertions(+), 8 deletions(-)

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 dd85afd..c316e4d 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,6 +1,7 @@
 package com.iailab.module.model.mcs.sche.service.impl;
 
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.iailab.framework.common.service.impl.BaseServiceImpl;
 import com.iailab.framework.common.util.object.BeanUtils;
 import com.iailab.framework.common.util.object.ConvertUtils;
@@ -20,7 +21,9 @@
 import com.iailab.module.model.common.utils.DateUtils;
 import com.iailab.module.model.mcs.pre.service.MmItemResultService;
 import com.iailab.module.model.mcs.sche.dao.StSuggestSnapshotRecordDao;
+import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity;
 import com.iailab.module.model.mcs.sche.entity.StSuggestSnapshotRecordEntity;
+import com.iailab.module.model.mcs.sche.service.StScheduleSuggestService;
 import com.iailab.module.model.mcs.sche.service.StSuggestSnapshotConfDetService;
 import com.iailab.module.model.mcs.sche.service.StSuggestSnapshotConfMainService;
 import com.iailab.module.model.mcs.sche.service.StSuggestSnapshotRecordService;
@@ -34,10 +37,7 @@
 
 import java.time.LocalDateTime;
 import java.time.ZoneId;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 
 import static com.iailab.module.model.common.utils.DateUtils.DATE_TIME_PATTERN;
 
@@ -60,13 +60,14 @@
     @Autowired
     private MmItemResultService mmItemResultService;
 
-
-
     @Autowired
     private StSuggestSnapshotConfMainService stSuggestSnapshotConfMainService;
 
     @Autowired
     private StSuggestSnapshotConfDetService stSuggestSnapshotConfDetService;
+
+    @Autowired
+    private StScheduleSuggestService stScheduleSuggestService;
 
     @Override
     @DSTransactional(rollbackFor = Exception.class)
@@ -91,7 +92,10 @@
 
     @Override
     public List<StSuggestSnapshotRecordRespVO> getListBySuggestId(String suggestId) {
-        return ConvertUtils.sourceToTarget(baseDao.selectList("suggest_id",  suggestId), StSuggestSnapshotRecordRespVO.class);
+        QueryWrapper<StSuggestSnapshotRecordEntity> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("suggest_id",  suggestId);
+        queryWrapper.orderByAsc("sort");
+        return ConvertUtils.sourceToTarget(baseDao.selectList(queryWrapper), StSuggestSnapshotRecordRespVO.class);
     }
 
     @Override
@@ -119,12 +123,16 @@
             snapshotRecordSaveReqVO.setDataType(confDet.getDataType());
             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());
             snapshotRecordSaveReqVO.setStartTime(startTime);
             //计算结束时间,结束时间为当前调度时间加上快照配置表配置的右侧时间长度
-            LocalDateTime localEndDateTime =  scheduleTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().plusMinutes(confDet.getRightLength() ==  null ? 60 : confDet.getLeftLength());
+            LocalDateTime localEndDateTime =  scheduleTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().plusMinutes(confDet.getRightLength() ==  null ? 60 : confDet.getRightLength());
             Date endTime = Date.from(localEndDateTime.atZone(ZoneId.systemDefault()).toInstant());
             snapshotRecordSaveReqVO.setEndTime(endTime);
             this.create(snapshotRecordSaveReqVO);
@@ -133,6 +141,7 @@
 
     @Override
     public List<StSuggestSnapshotRecordRespVO> getChartData(List<StSuggestSnapshotRecordRespVO> reqList) {
+        Map<String,StScheduleSuggestEntity> suggestInfos = new HashMap<>(reqList.size());
         reqList.forEach(item -> {
             List<Object[]> dataList = new ArrayList<>();
             if(DataCategoryEnum.DATAPOINT.getCode().equals(item.getDataType())){
@@ -186,6 +195,29 @@
             }
             item.setDataList(dataList);
 
+//             越界时间
+//            if (!CollectionUtils.isEmpty(dataList)) {
+//                List<String> overLimitTimes = new ArrayList<>();
+//                dataList.forEach(data -> {
+//                    BigDecimal value = new BigDecimal(data[1].toString());
+//                    if ((item.getLimitH() != null &&value.compareTo(item.getLimitH()) >= 0) || (item.getLimitL() != null && value.compareTo(item.getLimitL()) <= 0)) {
+//                        overLimitTimes.add(data[0].toString());
+//                    }
+//                });
+//                item.setOverLimitTimes(overLimitTimes);
+//            }
+
+            // 建议处理时间
+            String suggestId = item.getSuggestId();
+            StScheduleSuggestEntity suggestInfo;
+            if (suggestInfos.containsKey(suggestId)) {
+                suggestInfo = suggestInfos.get(suggestId);
+            }else {
+                suggestInfo = stScheduleSuggestService.getInfo(suggestId);
+                suggestInfos.put(suggestId,suggestInfo);
+            }
+            item.setStatus(suggestInfo.getStatus());
+            item.setHandleTime(suggestInfo.getHandleTime());
         });
         return reqList;
     }

--
Gitblit v1.9.3