dengzedong
2025-06-06 a6c5780940a159929bac909b78c3af29b823ccaa
建议快照 建议处理时间
已修改2个文件
56 ■■■■■ 文件已修改
iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/StSuggestSnapshotRecordRespVO.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-api/src/main/java/com/iailab/module/model/api/mcs/dto/StSuggestSnapshotRecordRespVO.java
@@ -67,4 +67,11 @@
    @Schema(description = "越界时间")
    private List<String> overLimitTimes;
    @Schema(description = "建议状态(0未处理 1已采纳 2已忽略)")
    private Integer status;
    @Schema(description = "建议处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date handleTime;
}
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StSuggestSnapshotRecordServiceImpl.java
@@ -1,7 +1,5 @@
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;
@@ -23,26 +21,23 @@
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;
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;
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;
@@ -65,13 +60,14 @@
    @Autowired
    private MmItemResultService mmItemResultService;
    @Autowired
    private StSuggestSnapshotConfMainService stSuggestSnapshotConfMainService;
    @Autowired
    private StSuggestSnapshotConfDetService stSuggestSnapshotConfDetService;
    @Autowired
    private StScheduleSuggestService stScheduleSuggestService;
    @Override
    @DSTransactional(rollbackFor = Exception.class)
@@ -145,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())){
@@ -198,17 +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 (value.compareTo(item.getLimitH()) >= 0 || value.compareTo(item.getLimitL()) <= 0) {
                        overLimitTimes.add(data[0].toString());
                    }
                });
                item.setOverLimitTimes(overLimitTimes);
            }
//             越界时间
//            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;
    }