| | |
| | | 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.*; |
| | |
| | | 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; |
| | |
| | | |
| | | @Autowired |
| | | private RedisTemplate<String, Object> redisTemplate; |
| | | |
| | | @Autowired |
| | | private MmPredictAutoAdjustConfigService autoAdjustService; |
| | | |
| | | @Autowired |
| | | private MmPredictInfluenceFactorService influenceFactorService; |
| | | |
| | | public static final long offset = 60 * 3L; |
| | | |
| | |
| | | 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()); |
| | |
| | | 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(); |
| | |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public Boolean autoAdjustByCode(MmPredictAutoAdjustReqVO reqVO) { |
| | | return autoAdjustService.autoAdjustByCode(reqVO.getConfigCode(), reqVO.getAdjustStartTime()); |
| | | } |
| | | |
| | | @Override |
| | | public void influenceFactorHandle(MmPredictInfluenceFactorHandleReqVO reqVO) { |
| | | influenceFactorService.influenceFactorHandle(reqVO); |
| | | } |
| | | |
| | | @Override |
| | | public MdkScheduleRespDTO doScheduleAndOut(MdkScheduleReqDTO reqDTO) { |
| | | MdkScheduleRespDTO resp = new MdkScheduleRespDTO(); |
| | | resp.setScheduleCode(reqDTO.getScheduleCode()); |
| | | resp.setScheduleTime(reqDTO.getScheduleTime()); |
| | | try { |
| | | log.info("调度计算开始: " + System.currentTimeMillis()); |
| | | log.info("reqDTO=" + JSON.toJSONString(reqDTO)); |
| | | ScheduleResultVO scheduleResult = scheduleModelHandler.doSchedule(reqDTO.getScheduleCode(), reqDTO.getScheduleTime(), |
| | | reqDTO.getDynamicDataLength(), reqDTO.getDynamicSettings()); |
| | | resp.setStatusCode(scheduleResult.getResultCode()); |
| | | resp.setResult(scheduleResult.getResult()); |
| | | stScheduleRecordService.create(scheduleResult); |
| | | stScheduleSchemeService.updateTime(scheduleResult.getSchemeId(), scheduleResult.getScheduleTime(), scheduleResult.getResultCode()); |
| | | log.info("调度计算结束: " + System.currentTimeMillis()); |
| | | log.info("调度计算结果开始下发"); |
| | | scheduleModelOut(resp); |
| | | log.info("调度计算结果开始下发结束"); |
| | | } catch (Exception ex) { |
| | | log.info("调度计算异常: " + System.currentTimeMillis()); |
| | | ex.printStackTrace(); |
| | | return resp; |
| | | } |
| | | return resp; |
| | | } |
| | | } |