From f93760ef25c2a15259b567c87db1f4900b0a42c2 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期二, 04 三月 2025 10:07:51 +0800 Subject: [PATCH] 打印异常 --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/impl/PredictItemNormalHandlerImpl.java | 79 ++++++++++++++++++++++++--------------- 1 files changed, 49 insertions(+), 30 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/impl/PredictItemNormalHandlerImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/impl/PredictItemNormalHandlerImpl.java index ef3149a..6fdf115 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/impl/PredictItemNormalHandlerImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/impl/PredictItemNormalHandlerImpl.java @@ -1,24 +1,23 @@ package com.iailab.module.model.mdk.predict.impl; -import com.iailab.framework.common.util.collection.CollectionUtils; +import com.iailab.module.model.common.exception.ModelResultErrorException; import com.iailab.module.model.mcs.pre.entity.MmPredictModelEntity; +import com.iailab.module.model.mcs.pre.enums.ItemRunStatusEnum; import com.iailab.module.model.mcs.pre.service.MmPredictModelService; -import com.iailab.module.model.mdk.common.enums.ItemPredictStatus; import com.iailab.module.model.mdk.common.exceptions.ItemInvokeException; import com.iailab.module.model.mdk.common.exceptions.ModelInvokeException; import com.iailab.module.model.mdk.predict.PredictItemHandler; import com.iailab.module.model.mdk.predict.PredictModelHandler; import com.iailab.module.model.mdk.vo.ItemVO; import com.iailab.module.model.mdk.vo.PredictResultVO; +import com.iailab.module.model.mdk.vo.StAdjustDeviationDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.sql.Timestamp; import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Calendar; import java.util.Date; import java.util.List; +import java.util.Map; /** * @author PanZhibao @@ -34,41 +33,61 @@ @Autowired private PredictModelHandler predictModelHandler; + /** + * NormalItem预测 + * + * @param predictTime + * @param predictItemDto + * @return + * @throws ItemInvokeException + */ @Override - public PredictResultVO predict(Date predictTime, ItemVO predictItemDto) - throws ItemInvokeException{ - String itemId = predictItemDto.getId(); - ItemPredictStatus itemStatus = ItemPredictStatus.PREDICTING; - PredictResultVO finalResult = new PredictResultVO(); + public PredictResultVO predict(Date predictTime, ItemVO predictItemDto, Map<String, double[]> predictValueMap) throws ItemInvokeException,ModelResultErrorException { PredictResultVO predictResult = new PredictResultVO(); - List<PredictResultVO> predictResultList = new ArrayList<>(); + String itemId = predictItemDto.getId(); try { - // 获取预测项模型 - List<MmPredictModelEntity> predictModelList = mmPredictModelService.getActiveModelByItemId(itemId); - if (CollectionUtils.isAnyEmpty(predictModelList)) { + MmPredictModelEntity predictModel = mmPredictModelService.getActiveModelByItemId(itemId); + if (predictModel == null) { throw new ModelInvokeException(MessageFormat.format("{0},itemId={1}", ModelInvokeException.errorGetModelEntity, itemId)); } - for (MmPredictModelEntity predictModel : predictModelList) { - predictResult = predictModelHandler.predictByModel(predictTime, predictModel); - predictResult.setPredictId(itemId); - predictResultList.add(predictResult); - } - itemStatus = ItemPredictStatus.SUCCESS; - Calendar calendar = Calendar.getInstance(); - calendar.setTime(predictTime); - calendar.add(Calendar.MINUTE, predictResult.getPredictMatrix().length - 1); - Timestamp endTime = new Timestamp(calendar.getTime().getTime()); - finalResult = predictResultList.get(0); - + predictResult = predictModelHandler.predictByModel(predictTime, predictModel,predictItemDto.getItemName(),predictItemDto.getItemNo()); + predictResult.setPredictId(itemId); + } catch (ModelResultErrorException ex) { + throw ex; } catch (Exception ex) { - ex.printStackTrace(); - //预测项预测失败的状态 - itemStatus = ItemPredictStatus.FAILED; throw new ItemInvokeException(MessageFormat.format("{0},itemId={1}", ItemInvokeException.errorItemFailed, itemId)); } + return predictResult; + } - return finalResult; + /** + * NormalItem预测 + * + * @param predictTime + * @param predictItemDto + * @return + * @throws ItemInvokeException + */ + @Override + public PredictResultVO predictAdjust(Date predictTime, ItemVO predictItemDto, List<StAdjustDeviationDTO> deviationList) throws ItemInvokeException,ModelResultErrorException { + PredictResultVO predictResult = new PredictResultVO(); + String itemId = predictItemDto.getId(); + try { + MmPredictModelEntity predictModel = mmPredictModelService.getActiveModelByItemId(itemId); + if (predictModel == null) { + throw new ModelInvokeException(MessageFormat.format("{0},itemId={1}", + ModelInvokeException.errorGetModelEntity, itemId)); + } + predictResult = predictModelHandler.predictByModel(predictTime, predictModel,predictItemDto.getItemName(),predictItemDto.getItemNo(), deviationList); + predictResult.setPredictId(itemId); + } catch (ModelResultErrorException ex) { + throw ex; + } catch (Exception ex) { + throw new ItemInvokeException(MessageFormat.format("{0},itemId={1}", + ItemInvokeException.errorItemFailed, itemId)); + } + return predictResult; } } \ No newline at end of file -- Gitblit v1.9.3