From 46872a311da9480d3edb19223aca2e0833fb1e31 Mon Sep 17 00:00:00 2001 From: hcong <1050828145@qq.com> Date: 星期二, 17 十二月 2024 11:41:00 +0800 Subject: [PATCH] 1. 完成数据产品中间结果基本信息和具体信息入库 2. 修改ColInspectionInfo.kt 监管时间格式修改为yyyy-mm-dd 3. 新增数据产品类型枚举类 DataProductType 4. 修改BaseTemplate实现类通过重写genData方法生成Template相关数据 5. TODO 其他未涉及到的产品对象的中间结果对象 --- src/main/kotlin/cn/flightfeather/supervision/business/report/BaseExcel.kt | 31 +++++++++++++++++++++++++++---- 1 files changed, 27 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..86d3475 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,39 @@ 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() + } + objectResults.add(it.toObject()) + } + } + 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