From 09c8120288ea7df454c10d67911ab8643f2f4235 Mon Sep 17 00:00:00 2001 From: hcong <1050828145@qq.com> Date: 星期二, 17 十二月 2024 11:06:33 +0800 Subject: [PATCH] 1. 完成数据产品中间结果基本信息和具体信息入库 --- src/main/kotlin/cn/flightfeather/supervision/business/report/BaseExcel.kt | 32 ++++++++++++++++++++++++++++---- 1 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/business/report/BaseExcel.kt b/src/main/kotlin/cn/flightfeather/supervision/business/report/BaseExcel.kt index 6f4c5b7..ab3cf6f 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/business/report/BaseExcel.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/business/report/BaseExcel.kt @@ -1,12 +1,14 @@ package cn.flightfeather.supervision.business.report +import cn.flightfeather.supervision.business.report.bean.BaseTemplateResult import org.apache.poi.hssf.usermodel.HSSFWorkbook +import java.io.File import java.io.FileOutputStream import java.io.OutputStream -import java.util.* /** * 鍚勬ā鏉垮悎骞惰緭鍑轰负鏁翠綋鏂囨。 + * 鍗曚釜鏁版嵁婧� */ abstract class BaseExcel(val dataSource: DataSource) { @@ -14,18 +16,40 @@ abstract val fileName: String + // 涓棿缁撴灉瀵硅薄 by hc 2024.12.06 + private val objectResults: MutableList<MutableList<BaseTemplateResult>> = mutableListOf() + // excel鏂囨。 private var workbook = HSSFWorkbook() + fun getReportName(): String = "${dataSource.areaName()}-${fileName}.xlsx" + + // 杈撳嚭鍒板璞� + fun toObject() { + templates.forEach { + if (!it.isExecuted) { + it.execute() + } + it.toObject() + objectResults.add(it.resultObjects) + } + } + fun toFile(path: String) { - val fileName = "${dataSource.areaName()}-${fileName}-${Date().time}.xls" - val out = FileOutputStream(path + fileName) + val fileName = getReportName() + val file = File(path + fileName) + if (!file.parentFile.exists()) { + file.parentFile.mkdirs() + } + val out = FileOutputStream(file) toOutputStream(out) } fun toOutputStream(out: OutputStream) { templates.forEach { - it.execute() + if (!it.isExecuted) { + it.execute() + } it.toWorkBook(workbook) } workbook.write(out) -- Gitblit v1.9.3