From 3058865fa4dfa634a92b4ebd826d8b1264dc90a3 Mon Sep 17 00:00:00 2001 From: houzhongjian <houzhongyi@126.com> Date: 星期三, 05 三月 2025 15:04:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/sche/service/impl/StAdjustResultServiceImpl.java | 72 ++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 11 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 68c8485..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 @@ -2,21 +2,26 @@ import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.service.impl.BaseServiceImpl; import com.iailab.framework.common.util.date.DateUtils; +import com.iailab.framework.common.util.object.ConvertUtils; +import com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity; +import com.iailab.module.model.mcs.pre.service.MmItemOutputService; 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.StAdjustResultPageReqVO; +import com.iailab.module.model.mcs.sche.vo.StAdjustResultRespVO; import com.iailab.module.model.mdk.vo.DataValueVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; 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; /** @@ -28,19 +33,25 @@ @Service public class StAdjustResultServiceImpl extends BaseServiceImpl<StAdjustResultDao, StAdjustResultEntity> implements StAdjustResultService { + @Autowired + 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 @@ -50,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; } @@ -62,4 +73,43 @@ } return result; } + + @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); + MmItemOutputEntity mmItemOutputEntity = mmItemOutputService.getOutPutById(entity.getOutputId()); + result.setOutputName(mmItemOutputEntity.getResultName()); + return result; + } + + @Override + public PageResult<StAdjustResultRespVO> page(StAdjustResultPageReqVO pageVO) { + IPage<StAdjustResultRespVO> page = baseDao.selectPage(pageVO); + return new PageResult<>(page.getRecords(), page.getTotal()); + } } \ No newline at end of file -- Gitblit v1.9.3