From f3690bc0ff61dee37f6d18ef3e09158afd36843d Mon Sep 17 00:00:00 2001 From: Jay <csj123456> Date: 星期二, 29 四月 2025 16:43:28 +0800 Subject: [PATCH] 新增修改预测模型配置接口 --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java | 44 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 38 insertions(+), 6 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java index 9da578f..45a1ee3 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java @@ -23,6 +23,7 @@ import com.iailab.module.model.mcs.pre.entity.DmModuleEntity; import com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; +import com.iailab.module.model.mcs.pre.entity.MmPredictModelEntity; import com.iailab.module.model.mcs.pre.enums.PredGranularityEnum; import com.iailab.module.model.mcs.pre.service.*; import com.iailab.module.model.mcs.pre.vo.MmItemOutputRespVO; @@ -117,6 +118,13 @@ @Autowired private StScheduleModelSettingService stScheduleModelSettingService; + + @Autowired + private MmPredictModelService mmPredictModelService; + + @Autowired + private MmModelArithSettingsService mmModelArithSettingsService; + private int HOUR_MINS = 60; @Override @@ -138,6 +146,7 @@ PredictItemTreeDTO chd = new PredictItemTreeDTO(); chd.setLabel(item1.getItemName()); chd.setId(item1.getId()); + chd.setDisabled(true); List<PredictItemTreeDTO> chd1 = new ArrayList<>(); List<MmItemOutputEntity> outList = mmItemOutputService.getByItemid(item1.getId()); if (!CollectionUtils.isEmpty(outList)) { @@ -455,12 +464,23 @@ if (!CollectionUtils.isEmpty(dataView.getCurData())) { List<Double> curList = dataView.getCurData().stream().map(t -> { - return new Double(t[1].toString()); - }).collect(Collectors.toList()); - dataView.setPreMax(new BigDecimal(curList.stream().mapToDouble(Double::doubleValue).max().getAsDouble()).setScale(2, BigDecimal.ROUND_HALF_UP)); - dataView.setPreMin(new BigDecimal(curList.stream().mapToDouble(Double::doubleValue).min().getAsDouble()).setScale(2, BigDecimal.ROUND_HALF_UP)); - dataView.setPreLast(new BigDecimal(curList.get(curList.size() - 1)).setScale(2, BigDecimal.ROUND_HALF_UP)); - dataView.setPreCumulant(new BigDecimal(curList.stream().mapToDouble(Double::doubleValue).sum()).setScale(2, BigDecimal.ROUND_HALF_UP)); + try { + return new Double(t[1].toString()); + } catch (NumberFormatException e) { + return null; + } + }).filter(Objects::nonNull).collect(Collectors.toList()); + if (!curList.isEmpty()) { + dataView.setPreMax(new BigDecimal(curList.stream().mapToDouble(Double::doubleValue).max().getAsDouble()).setScale(2, BigDecimal.ROUND_HALF_UP)); + dataView.setPreMin(new BigDecimal(curList.stream().mapToDouble(Double::doubleValue).min().getAsDouble()).setScale(2, BigDecimal.ROUND_HALF_UP)); + dataView.setPreLast(new BigDecimal(curList.get(curList.size() - 1)).setScale(2, BigDecimal.ROUND_HALF_UP)); + dataView.setPreCumulant(new BigDecimal(curList.stream().mapToDouble(Double::doubleValue).sum()).setScale(2, BigDecimal.ROUND_HALF_UP)); + } else { + dataView.setPreMax(null); + dataView.setPreMin(null); + dataView.setPreLast(null); + dataView.setPreCumulant(null); + } } String alarmObj = chartParams.get(CommonConstant.ALARM_OBJ); @@ -968,10 +988,22 @@ } @Override + public Boolean ignoreSuggest(StAlarmAndSuggestReqVO reqVO) { + return stScheduleSuggestService.ignoreSuggest(reqVO); + } + + @Override public List<ScheduleSuggestRespDTO> getLastSuggest(Map<String, Object> params) { return stScheduleSuggestService.getLastSuggest(params); } + @Override + public Boolean updatePredictModelSetting(String modelCode, String key, String value) { + MmPredictModelEntity model = mmPredictModelService.getByModelCode(modelCode); + mmModelArithSettingsService.updateByModelIdAndKey(model.getId(), key, value); + return true; + } + private Date[] calResultTime(ItemVO predictItem, Date startTimeReq, Date endTimeReq, int lengthLeft, int lengthRight) { Date[] result = new Date[3]; Date predictTime = predictItem.getLastTime(); -- Gitblit v1.9.3