From b2bbeeeb1973da02a6b66f54f5965eb756a85167 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期三, 09 四月 2025 16:59:53 +0800 Subject: [PATCH] 当前值T0 + 当前预测值 20250409 --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultJsonServiceImpl.java | 32 ++++++++++++++++++++++++++++++++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemResultJsonService.java | 2 ++ iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/McsApiImpl.java | 10 +++++++++- 3 files changed, 43 insertions(+), 1 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 0955389..268ec05 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 @@ -407,7 +407,15 @@ } else { dataView.setRealData(new ArrayList<>()); } - dataView.setCurData(mmItemResultJsonService.getData(outPut.getId(), predictTime, timeFormat, 3)); + + Map<String, Object> realDataMap = new HashMap<>(); + dataView.getRealData().forEach(item -> { + realDataMap.put(item[0].toString(), item[1]); + }); + Object curReal = realDataMap.get(DateUtils.format(predictTime, timeFormat)) == null ? dataView.getPreDataL().get(dataView.getPreDataL().size() - 1) : realDataMap.get(DateUtils.format(predictTime, timeFormat)); + + // 当前值T0 + 当前预测值 20250409 + dataView.setCurData(mmItemResultJsonService.getData(outPut.getId(), predictTime, timeFormat, 3, true, curReal)); // 调整预测值 dataView.setAdjData(stAdjustResultService.getData(outPut.getId(),predictTime,timeFormat)); dataView.setLineType(lineType.getCode()); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemResultJsonService.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemResultJsonService.java index cd2e250..f951f2a 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemResultJsonService.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/MmItemResultJsonService.java @@ -18,6 +18,8 @@ List<Object[]> getData(String outputId, Date predictTime, String timeFormat, int scale); + List<Object[]> getData(String outputId, Date predictTime, String timeFormat, int scale, Boolean isT1, Object curReal); + double[] getSimpleData(String outputId, Date predictTime, int predictLength); void insert(List<MmItemResultJsonEntity> resultJsonList); diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultJsonServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultJsonServiceImpl.java index f7b9545..2541302 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultJsonServiceImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultJsonServiceImpl.java @@ -72,6 +72,38 @@ } @Override + public List<Object[]> getData(String outputId, Date predictTime, String timeFormat, int scale, Boolean isT1, Object curReal) { + List<Object[]> result = new ArrayList<>(); + QueryWrapper<MmItemResultJsonEntity> wrapper = new QueryWrapper<>(); + wrapper.eq("outputid", outputId) + .eq("predicttime", DateUtils.format(predictTime,timeFormat)); + MmItemResultJsonEntity 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); + if (isT1) { + Object[] v0 = new Object[2]; + v0[0] = DateUtils.format(calendar.getTime(), timeFormat); + v0[1] = curReal; + result.add(v0); + calendar.add(Calendar.MINUTE, 1); + } + + valueList.forEach(value -> { + Object[] dv = {DateUtils.format(calendar.getTime(), timeFormat), new BigDecimal(value).setScale(scale, BigDecimal.ROUND_HALF_UP)}; + calendar.add(Calendar.MINUTE, 1); + result.add(dv); + }); + return result; + } + + @Override public double[] getSimpleData(String outputId, Date predictTime, int predictLength) { double[] result = new double[predictLength]; QueryWrapper<MmItemResultJsonEntity> wrapper = new QueryWrapper<>(); -- Gitblit v1.9.3