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/template/ProTypeRankSummary.kt | 41 +++++++++++++++++++++++++++++------------ 1 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/business/report/template/ProTypeRankSummary.kt b/src/main/kotlin/cn/flightfeather/supervision/business/report/template/ProTypeRankSummary.kt index 0eec5f3..642e304 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/business/report/template/ProTypeRankSummary.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/business/report/template/ProTypeRankSummary.kt @@ -3,15 +3,16 @@ import cn.flightfeather.supervision.business.report.BaseCols import cn.flightfeather.supervision.business.report.BaseTemplate import cn.flightfeather.supervision.business.report.DataSource -import cn.flightfeather.supervision.business.report.cols.* +import cn.flightfeather.supervision.business.report.bean.BaseTemplateResult +import cn.flightfeather.supervision.business.report.bean.ProTypeRankSummaryResult import cn.flightfeather.supervision.common.utils.ExcelUtil import kotlin.math.round open class ProTypeRankSummary(dataSource: DataSource) : BaseTemplate(dataSource) { override val cols: List<BaseCols> = listOf() override val templateName: String = "闂涓庢暣鏀瑰垎绫绘帓鍚�" - - override fun execute() { + override var resultObjects: MutableList<BaseTemplateResult> = mutableListOf(ProTypeRankSummaryResult()) + override fun genData() { dataSource.reset() val proMap = mutableMapOf<String?, Summary>() @@ -48,19 +49,27 @@ for (i in summarys.indices) { val it = summarys[i] it.countPer = it.count.toDouble() / tPros - it.countRank = i + 1 + if (i > 0 && summarys[i - 1].countPer == it.countPer) { + it.countRank = summarys[i - 1].countRank + } else { + it.countRank = i + 1 + } it.changePer = it.changeNum.toDouble() / it.count } summarys.sortByDescending { it.changePer } for (i in summarys.indices) { val it = summarys[i] - it.changeRank = i + 1 + if (i > 0 && summarys[i - 1].changePer == it.changePer) { + it.changeRank = summarys[i - 1].changeRank + } else { + it.changeRank = i + 1 + } } formatTable(summarys) } - open fun formatTable(summarys: List<Summary>) { + open fun formatTable(summarys: MutableList<Summary>) { head.clear() head.add( mutableListOf( @@ -94,13 +103,21 @@ ) for (i in summarys.indices) { val s = summarys[i] +// contents.add( +// mutableListOf( +// i + 1, dataSource.year, dataSource.month, dataSource.rowData.scene?.type ?: "", dataSource.area, +// s.proType, s.proDes, +// s.count, "${round(s.countPer * 1000) / 10}%", s.countRank, +// s.changeNum, "${round(s.changePer * 1000) / 10}%", s.changeRank +// ) +// ) contents.add( - mutableListOf( - i + 1, "", "", dataSource.rowData.scene?.type ?: "", "", - s.proType, s.proDes, - s.count, "${round(s.countPer * 1000) / 10}%", s.countRank, - s.changeNum, "${round(s.changePer * 1000) / 10}%", s.changeRank - ) + mutableListOf( + i + 1, dataSource.year, dataSource.month, dataSource.rowData.scene?.type ?: "", dataSource.area, + s.proType, s.proDes, + s.count, ExcelUtil.MyCell(s.countPer.toString(), isPercent = true), s.countRank, + s.changeNum, ExcelUtil.MyCell(s.changePer.toString(), isPercent = true), s.changeRank + ) ) } } -- Gitblit v1.9.3