feiyu02
2022-07-20 39e208b6b0482a25c77e53590087c02d9d937563
src/main/kotlin/cn/flightfeather/supervision/business/report/template/ProTypeRankSummary.kt
@@ -48,19 +48,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 +102,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
                    )
            )
        }
    }