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/ScoreAnalysisSummary.kt |   36 ++++++++++++++++++++++--------------
 1 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/business/report/template/ScoreAnalysisSummary.kt b/src/main/kotlin/cn/flightfeather/supervision/business/report/template/ScoreAnalysisSummary.kt
index e6bf6cb..26a30c6 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/business/report/template/ScoreAnalysisSummary.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/business/report/template/ScoreAnalysisSummary.kt
@@ -3,16 +3,18 @@
 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.ColGrade
+import cn.flightfeather.supervision.business.report.bean.BaseTemplateResult
+import cn.flightfeather.supervision.business.report.bean.ScoreAnalysisSummaryResult
+import cn.flightfeather.supervision.business.report.cols.ColTotalGrade
 import cn.flightfeather.supervision.common.utils.ExcelUtil
 import kotlin.math.round
 
 class ScoreAnalysisSummary(dataSource: DataSource) : BaseTemplate(dataSource) {
-    override val cols: List<BaseCols> = listOf(ColGrade())
-
+    override val cols: List<BaseCols> = listOf(ColTotalGrade())
+    override var resultObjects: MutableList<BaseTemplateResult> = mutableListOf(ScoreAnalysisSummaryResult())
     override val templateName: String = "鍒嗚闀囪鑼冩�у垎鏋愯〃"
 
-    override fun execute() {
+    override fun genData() {
         dataSource.reset()
         cols.forEach { it.combineHead(head,dataSource) }
 
@@ -75,7 +77,7 @@
             tNonstandard += v.nonstandard
             tStandard += v.standard
         }
-        summarys.sortByDescending { it.standardPer }
+        summarys.sortByDescending { it.standard }
         for (i in summarys.indices) {
             val it = summarys[i]
             //鍙傝瘎鐧惧垎姣�
@@ -90,7 +92,11 @@
             //瑙勮寖鍖哄煙鍗犳瘮
             it.standardPer = it.standard.toDouble() / tStandard
             //瑙勮寖鍗犳瘮鎺掑悕
-            it.rank = i + 1
+            if (i > 0 && summarys[i - 1].standard == it.standard) {
+                it.rank = summarys[i - 1].rank
+            } else {
+                it.rank = i + 1
+            }
         }
 
         head.clear()
@@ -124,16 +130,18 @@
             ExcelUtil.MyCell("瑙勮寖鎬ф帓鍚�"),
         ))
 
-        summarys.forEach {
+        summarys.sortBy { it.townCode }
+        for (i in summarys.indices) {
+            val it = summarys[i]
             contents.add(
                 mutableListOf(
-                    it.townCode, it.townName, it.type, it.sceneCount, it.gradeCount, "${round(it.gradePer * 1000) / 10}%",
-                    it.level1, "${round(it.level1Per * 1000) / 10}%",
-                    it.level2, "${round(it.level2Per * 1000) / 10}%",
-                    it.level3, "${round(it.level3Per * 1000) / 10}%",
-                    it.level4, "${round(it.level4Per * 1000) / 10}%",
-                    it.nonstandard, "${round(it.nonstandardPer * 1000) / 10}%",
-                    it.standard, "${round(it.standardPer * 1000) / 10}%",
+                    i + 1, it.townName, it.type, it.sceneCount, it.gradeCount, ExcelUtil.MyCell(it.gradePer.toString(), isPercent = true),
+                    it.level1, ExcelUtil.MyCell(it.level1Per.toString(), isPercent = true),
+                    it.level2, ExcelUtil.MyCell(it.level2Per.toString(), isPercent = true),
+                    it.level3, ExcelUtil.MyCell(it.level3Per.toString(), isPercent = true),
+                    it.level4, ExcelUtil.MyCell(it.level4Per.toString(), isPercent = true),
+                    it.nonstandard, ExcelUtil.MyCell(it.nonstandardPer.toString(), isPercent = true),
+                    it.standard, ExcelUtil.MyCell(it.standardPer.toString(), isPercent = true),
                     it.rank
                 )
             )

--
Gitblit v1.9.3