From 3180878150f6e22b30394f745008d81cb80af12d Mon Sep 17 00:00:00 2001 From: Jay <csj123456> Date: 星期四, 17 四月 2025 13:58:02 +0800 Subject: [PATCH] 新增累计真实值和累计预测值的导出 --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/common/utils/ExcelUtil.java | 35 +++++++++++++++++++++++++++++++---- 1 files changed, 31 insertions(+), 4 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/common/utils/ExcelUtil.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/common/utils/ExcelUtil.java index 620f028..a933e7d 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/common/utils/ExcelUtil.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/common/utils/ExcelUtil.java @@ -12,8 +12,10 @@ import java.io.IOException; import java.io.OutputStream; import java.lang.reflect.Field; -import java.text.SimpleDateFormat; -import java.util.*; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; @@ -172,12 +174,14 @@ cellStyle4.setDataFormat(df.getFormat("#,##0.000000")); // 创建标题 - String[] title = new String[1 + respVO.getLegend().size() * 3]; + String[] title = new String[1 + respVO.getLegend().size() * 5]; title[0] = "日期时间"; for (int i = 0; respVO.getLegend().size() > i; i++) { title[i * 3 + 1] = respVO.getLegend().get(i) + ":真实值"; title[i * 3 + 2] = respVO.getLegend().get(i) + ":预测值T+N"; title[i * 3 + 3] = respVO.getLegend().get(i) + ":预测值T+L"; + title[i * 3 + 4] = respVO.getLegend().get(i) + ":累计真实值"; + title[i * 3 + 5] = respVO.getLegend().get(i) + ":累计预测值"; } HSSFRow rowTitle = sheet.createRow(0); HSSFCell hc; @@ -209,6 +213,8 @@ Map<String, Object> realDataMap = new HashMap<String, Object>(); Map<String, Object> preDataNMap = new HashMap<String, Object>(); Map<String, Object> preDataLMap = new HashMap<String, Object>(); + Map<String, Object> cumulantRealDataMap = new HashMap<String, Object>(); + Map<String, Object> cumulantPreDataMap = new HashMap<String, Object>(); //真实值 List<Object[]> realData = viewData.getRealData(); if (!CollectionUtils.isEmpty(realData)) { @@ -225,10 +231,23 @@ } //预测值T+L List<Object[]> preDataL = viewData.getPreDataL(); - if (!CollectionUtils.isEmpty(preDataL)) { for (Object[] item : preDataL) { preDataLMap.put(item[0].toString(), item[1]); + } + } + //累计真实值 + List<Object[]> cumulantRealData = viewData.getCumulantRealData(); + if (!CollectionUtils.isEmpty(cumulantRealData)) { + for (Object[] item : cumulantRealData) { + cumulantRealDataMap.put(item[0].toString(), item[1]); + } + } + //累计预测值 + List<Object[]> cumulantPreData = viewData.getCumulantPreData(); + if (!CollectionUtils.isEmpty(cumulantPreData)) { + for (Object[] item : cumulantPreData) { + cumulantPreDataMap.put(item[0].toString(), item[1]); } } @@ -247,6 +266,14 @@ hc = rowBody.createCell(j * 3 + 3); hc.setCellValue(preDataLMap.get(respVO.getCategories().get(i)).toString()); } + if (cumulantRealDataMap.get(respVO.getCategories().get(i)) != null) { + hc = rowBody.createCell(j * 3 + 4); + hc.setCellValue(cumulantRealDataMap.get(respVO.getCategories().get(i)).toString()); + } + if (cumulantPreDataMap.get(respVO.getCategories().get(i)) != null) { + hc = rowBody.createCell(j * 3 + 5); + hc.setCellValue(cumulantPreDataMap.get(respVO.getCategories().get(i)).toString()); + } } j++; -- Gitblit v1.9.3