| | |
| | | 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; |
| | | |
| | |
| | | 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()) { |
| | |
| | | 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); |
| | | } |
| | | } |