From 6205c22a959fbb3b69735f34af8d3316c4082a5d Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期四, 27 二月 2025 16:00:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 40 insertions(+), 8 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java index bc62e43..399c022 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java @@ -1,7 +1,6 @@ package com.iailab.module.model.api; import com.alibaba.fastjson.JSON; -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.StScheduleModelOutDTO; @@ -9,21 +8,21 @@ import com.iailab.module.model.api.mdk.dto.*; import com.iailab.module.model.common.enums.IsWriteEnum; import com.iailab.module.model.common.enums.ModelOutResultType; -import com.iailab.module.model.common.enums.OutResultType; import com.iailab.module.model.enums.CommonConstant; +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.MmPredictItemService; +import com.iailab.module.model.mcs.sche.entity.StAdjustConfigDetEntity; +import com.iailab.module.model.mcs.sche.entity.StScheduleSchemeEntity; +import com.iailab.module.model.mcs.sche.service.StAdjustConfigService; import com.iailab.module.model.mcs.sche.service.StScheduleModelOutService; import com.iailab.module.model.mcs.sche.service.StScheduleRecordService; import com.iailab.module.model.mcs.sche.service.StScheduleSchemeService; import com.iailab.module.model.mdk.predict.PredictModuleHandler; import com.iailab.module.model.mdk.predict.PredictResultHandler; import com.iailab.module.model.mdk.schedule.ScheduleModelHandler; -import com.iailab.module.model.mdk.vo.DataValueVO; -import com.iailab.module.model.mdk.vo.ItemVO; -import com.iailab.module.model.mdk.vo.PredictResultVO; -import com.iailab.module.model.mdk.vo.ScheduleResultVO; +import com.iailab.module.model.mdk.vo.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -32,11 +31,10 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; - -import static com.iailab.module.model.common.enums.ModelOutResultType.D; /** * @author PanZhibao @@ -74,6 +72,9 @@ @Autowired private DataPointApi dataPointApi; + + @Autowired + private StAdjustConfigService stAdjustConfigService; @Autowired private RedisTemplate<String, Object> redisTemplate; @@ -193,6 +194,37 @@ return resp; } + @Override + public Boolean predictSimAdjust(MdkPredictSimAdjustReqDTO reqDTO) { + StScheduleSchemeEntity scheduleScheme = stScheduleSchemeService.getByCode(reqDTO.getScheduleCode()); + List<StAdjustConfigDetEntity> detList = stAdjustConfigService.getDetByModelId(scheduleScheme.getModelId()); + if (CollectionUtils.isEmpty(detList)) { + return Boolean.FALSE; + } + for (StAdjustConfigDetEntity det : detList) { + ItemVO predictItem = mmPredictItemService.getItemById(det.getPredictItemId()); + List<StAdjustDeviationDTO> deviationList = new ArrayList<>(); + switch (PredictItemTypeEnum.getEumById(det.getItemTypeId())) { + case NormalItem: + double adjustValue = new BigDecimal(reqDTO.getModelResult().get(det.getOutKey()).toString()).doubleValue(); + StAdjustDeviationDTO deviationItem = new StAdjustDeviationDTO(); + deviationItem.setPortIdx(det.getModelParamPortOrder()); + deviationItem.setParamIdx(det.getModelParamPortOrder()); + deviationItem.setValue(adjustValue); + deviationList.add(deviationItem); + break; + case MergeItem: + break; + default: + break; + } + // 开始预测 + predictModuleHandler.predictAdjust(predictItem, reqDTO.getPredictTime(), deviationList, scheduleScheme.getModelId()); + } + return Boolean.TRUE; + } + + /** * 预测调整 * -- Gitblit v1.9.3