潘志宝
3 天以前 edf66f68df77254d85f52fedde9eba171c475e20
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java
@@ -4,6 +4,8 @@
import com.alibaba.fastjson.JSONObject;
import com.iailab.module.data.api.point.DataPointApi;
import com.iailab.module.data.api.point.dto.ApiPointValueWriteDTO;
import com.iailab.module.model.api.mcs.dto.MmPredictAutoAdjustReqVO;
import com.iailab.module.model.api.mcs.dto.MmPredictInfluenceFactorHandleReqVO;
import com.iailab.module.model.api.mcs.dto.StScheduleModelOutDTO;
import com.iailab.module.model.api.mdk.MdkApi;
import com.iailab.module.model.api.mdk.dto.*;
@@ -13,6 +15,8 @@
import com.iailab.module.model.enums.PredictItemTypeEnum;
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.MmPredictAutoAdjustConfigService;
import com.iailab.module.model.mcs.pre.service.MmPredictInfluenceFactorService;
import com.iailab.module.model.mcs.pre.service.MmPredictItemService;
import com.iailab.module.model.mcs.sche.entity.StAdjustConfigDetEntity;
import com.iailab.module.model.mcs.sche.entity.StAdjustConfigEntity;
@@ -80,6 +84,12 @@
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
    @Autowired
    private MmPredictAutoAdjustConfigService autoAdjustService;
    @Autowired
    private MmPredictInfluenceFactorService influenceFactorService;
    public static final long offset = 60 * 3L;
@@ -211,9 +221,15 @@
                continue;
            }
            String firstOutKey = entry.getValue().get(0).getOutKey();
            if(StringUtils.isBlank(firstOutKey)) {
                continue;
            }
            if(reqDTO.getModelResult().get(firstOutKey) == null || StringUtils.isBlank(reqDTO.getModelResult().get(firstOutKey).toString())) {
                continue;
            }
            BigDecimal firstAdjustValue = new BigDecimal(reqDTO.getModelResult().get(firstOutKey.trim()).toString().trim());
            if (BigDecimal.ZERO.compareTo(firstAdjustValue) == 0) {
                log.info("adjustValue = ZERO");
                log.info("firstAdjustValue = ZERO");
                continue;
            }
            for (StAdjustConfigDetEntity det : entry.getValue()) {
@@ -222,8 +238,8 @@
                switch (PredictItemTypeEnum.getEumById(det.getItemTypeId())) {
                    case NormalItem:
                        double adjustValue = 0;
                        if (StringUtils.isNotBlank(det.getOutKey().trim())) {
                            adjustValue = new BigDecimal(reqDTO.getModelResult().get(det.getOutKey().trim()).toString()).doubleValue();
                        if (StringUtils.isNotBlank(det.getOutKey())) {
                            adjustValue = new BigDecimal(reqDTO.getModelResult().get(det.getOutKey()).toString()).doubleValue();
                        }
                        StAdjustDeviationDTO deviationItem = new StAdjustDeviationDTO();
                        deviationItem.setPortIdx(det.getModelParamPortOrder() == null ? 0 : det.getModelParamPortOrder());
@@ -277,7 +293,7 @@
            resp.setResult(scheduleResult.getResult());
            stScheduleRecordService.create(scheduleResult);
            stScheduleSchemeService.updateTime(scheduleResult.getSchemeId(), scheduleResult.getScheduleTime(), scheduleResult.getResultCode());
            log.info("预测计算结束: " + System.currentTimeMillis());
            log.info("调度计算结束: " + System.currentTimeMillis());
        } catch (Exception ex) {
            log.info("调度计算异常: " + System.currentTimeMillis());
            ex.printStackTrace();
@@ -403,4 +419,14 @@
        }
        return true;
    }
    @Override
    public Boolean autoAdjustByCode(MmPredictAutoAdjustReqVO reqVO) {
        return autoAdjustService.autoAdjustByCode(reqVO.getConfigCode(), reqVO.getAdjustStartTime());
    }
    @Override
    public void influenceFactorHandle(MmPredictInfluenceFactorHandleReqVO reqVO) {
        influenceFactorService.influenceFactorHandle(reqVO);
    }
}