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