潘志宝
2024-12-25 ac52aed09a493bebf6f47571f01d107a46e1e3ae
调度更新记录
已修改1个文件
29 ■■■■ 文件已修改
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java
@@ -1,15 +1,15 @@
package com.iailab.module.model.api;
import com.alibaba.fastjson.JSON;
import com.iailab.framework.common.util.object.ConvertUtils;
import com.iailab.module.model.api.mdk.MdkApi;
import com.iailab.module.model.api.mdk.dto.*;
import com.iailab.module.model.mcs.pre.entity.DmModuleEntity;
import com.iailab.module.model.mcs.pre.service.DmModuleService;
import com.iailab.module.model.mcs.pre.service.MmPredictItemService;
import com.iailab.module.model.mcs.sche.service.StScheduleRecordService;
import com.iailab.module.model.mcs.sche.service.StScheduleSchemeService;
import com.iailab.module.model.mdk.factory.ItemEntityFactory;
import com.iailab.module.model.mdk.factory.PredictItemFactory;
import com.iailab.module.model.mdk.predict.PredictItemHandler;
import com.iailab.module.model.mdk.predict.PredictModuleHandler;
import com.iailab.module.model.mdk.predict.PredictResultHandler;
import com.iailab.module.model.mdk.schedule.ScheduleModelHandler;
@@ -25,9 +25,6 @@
import java.util.*;
import java.util.stream.Collectors;
import static com.iailab.framework.common.pojo.CommonResult.error;
import static com.iailab.framework.common.pojo.CommonResult.success;
/**
 * @author PanZhibao
@@ -49,16 +46,16 @@
    private PredictModuleHandler predictModuleHandler;
    @Autowired
    private ItemEntityFactory itemEntityFactory;
    @Autowired
    private PredictItemFactory predictItemFactory;
    @Autowired
    private PredictResultHandler predictResultHandler;
    @Autowired
    private ScheduleModelHandler scheduleModelHandler;
    @Autowired
    private StScheduleRecordService stScheduleRecordService;
    @Autowired
    private StScheduleSchemeService stScheduleSchemeService;
    /**
     * 按模块预测
@@ -101,10 +98,10 @@
                // 分组,先运行normal预测项,再将结果传递给merge预测项
                List<ItemVO> normalItems = predictItemList.stream().filter(e -> e.getItemType().equals("NormalItem")).collect(Collectors.toList());
                if (!CollectionUtils.isEmpty(normalItems)) {
                    predictModuleHandler.predict(normalItems, reqDTO.getPredictTime(), intervalTime,predictResultMap);
                    predictModuleHandler.predict(normalItems, reqDTO.getPredictTime(), intervalTime, predictResultMap);
                    List<ItemVO> mergeItems = predictItemList.stream().filter(e -> e.getItemType().equals("MergeItem")).collect(Collectors.toList());
                    if (!CollectionUtils.isEmpty(mergeItems)) {
                        predictModuleHandler.predict(mergeItems, reqDTO.getPredictTime(), intervalTime,predictResultMap);
                        predictModuleHandler.predict(mergeItems, reqDTO.getPredictTime(), intervalTime, predictResultMap);
                    }
                }
                // 更新Module时间
@@ -156,7 +153,7 @@
            List<ItemVO> predictItemList = new ArrayList<>();
            predictItemList.add(itemByItemNo);
            Map<String, PredictResultVO> predictResultMap = new HashMap<>(predictItemList.size());
            predictModuleHandler.predict(predictItemList, reqDTO.getPredictTime(), 0,predictResultMap);
            predictModuleHandler.predict(predictItemList, reqDTO.getPredictTime(), 0, predictResultMap);
            Map<String, List<MdkPredictDataDTO>> itemPredictData = new HashMap<>();
@@ -208,10 +205,12 @@
            log.info("调度计算开始: " + System.currentTimeMillis());
            ScheduleResultVO scheduleResult = scheduleModelHandler.doSchedule(reqDTO.getScheduleCode(), reqDTO.getScheduleTime());
            resp.setResult(scheduleResult.getResult());
            stScheduleRecordService.create(scheduleResult);
            stScheduleSchemeService.updateTime(scheduleResult.getSchemeId(), scheduleResult.getScheduleTime());
            log.info("预测计算结束: " + System.currentTimeMillis());
        } catch (Exception ex) {
            log.info("调度计算异常: " + System.currentTimeMillis());
//            ex.printStackTrace();
            ex.printStackTrace();
            return resp;
        }
        return resp;