From 67f59ab45824874e8adb0f07b2912f4a3a185b3c Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期二, 04 三月 2025 09:20:36 +0800 Subject: [PATCH] predictAdjust 模拟调整预测 setAdjData 模拟调制预测曲线查询 --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StAdjustResultServiceImpl.java | 48 +++++++++++++++++++++++++++++++++++------------- 1 files changed, 35 insertions(+), 13 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StAdjustResultServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StAdjustResultServiceImpl.java index f2b041e..5e690a2 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StAdjustResultServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StAdjustResultServiceImpl.java @@ -12,10 +12,8 @@ import com.iailab.module.model.mcs.sche.dao.StAdjustResultDao; import com.iailab.module.model.mcs.sche.entity.StAdjustResultEntity; import com.iailab.module.model.mcs.sche.service.StAdjustResultService; -import com.iailab.module.model.mcs.sche.vo.StAdjustConfigRespVO; import com.iailab.module.model.mcs.sche.vo.StAdjustResultPageReqVO; import com.iailab.module.model.mcs.sche.vo.StAdjustResultRespVO; -import com.iailab.module.model.mcs.sche.vo.StScheduleRecordDetailRespVO; import com.iailab.module.model.mdk.vo.DataValueVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -23,10 +21,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.UUID; +import java.util.*; import java.util.stream.Collectors; /** @@ -42,18 +37,21 @@ private MmItemOutputService mmItemOutputService; @Override - public void saveResult(Map<String, List<DataValueVO>> resultMap, Date predictTime, String adjustValue, String scheduleModelId) { + public void saveResult(Map<String, List<DataValueVO>> resultMap, Date predictTime, String adjustValue, String scheduleModelId, String configId) { + List<StAdjustResultEntity> list = new ArrayList<>(resultMap.size()); for (Map.Entry<String, List<DataValueVO>> entry : resultMap.entrySet()) { StAdjustResultEntity entity = new StAdjustResultEntity(); entity.setId(UUID.randomUUID().toString()); + entity.setConfigId(configId); + entity.setOutputId(entry.getKey()); entity.setScheduleModelId(scheduleModelId); entity.setAdjustTime(predictTime); entity.setAdjustValue(adjustValue); - entity.setOutputId(entry.getKey()); - List<Double> jsonValueList = entry.getValue().stream().map(valueVO -> valueVO.getDataValue()).collect(Collectors.toList()); - entity.setAdjustValue(JSONArray.toJSONString(jsonValueList)); - baseDao.insert(entity); + List<Double> jsonValueList = entry.getValue().stream().map(DataValueVO::getDataValue).collect(Collectors.toList()); + entity.setJsonValue(JSONArray.toJSONString(jsonValueList)); + list.add(entity); } + baseDao.insert(list); } @Override @@ -63,10 +61,10 @@ wrapper.eq("output_id", outputId) .eq("adjust_time", DateUtils.format(predictTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); StAdjustResultEntity data = baseDao.selectOne(wrapper); - if (data == null || StringUtils.isBlank(data.getAdjustValue())) { + if (data == null || StringUtils.isBlank(data.getJsonValue())) { return null; } - List<Double> valueList = JSONArray.parseArray(data.getAdjustValue(), Double.class); + List<Double> valueList = JSONArray.parseArray(data.getJsonValue(), Double.class); if (CollectionUtils.isEmpty(valueList)) { return result; } @@ -77,6 +75,30 @@ } @Override + public List<Object[]> getData(String outputId, Date predictTime, String timeFormat) { + List<Object[]> result = new ArrayList<>(); + QueryWrapper<StAdjustResultEntity> wrapper = new QueryWrapper<>(); + wrapper.eq("output_id", outputId) + .eq("adjust_time", DateUtils.format(predictTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); + StAdjustResultEntity data = baseDao.selectOne(wrapper); + if (data == null || StringUtils.isBlank(data.getJsonValue())) { + return result; + } + List<Double> valueList = JSONArray.parseArray(data.getJsonValue(), Double.class); + if (CollectionUtils.isEmpty(valueList)) { + return result; + } + Calendar calendar = Calendar.getInstance(); + calendar.setTime(predictTime); + valueList.forEach(value -> { + Object[] dv = {DateUtils.format(calendar.getTime(), timeFormat), value}; + calendar.add(Calendar.MINUTE, 1); + result.add(dv); + }); + return result; + } + + @Override public StAdjustResultRespVO getInfo(String id) { StAdjustResultEntity entity = baseDao.selectById(id); StAdjustResultRespVO result = ConvertUtils.sourceToTarget(entity, StAdjustResultRespVO.class); -- Gitblit v1.9.3