From 662df017d6eaf12d9760d89cef2f8713505276e1 Mon Sep 17 00:00:00 2001 From: "MSI\\2Fi" Date: Fri, 16 Aug 2024 18:16:19 +0800 Subject: [PATCH] refactor the cost and expense report --- .../modules/report/service/ReportService.kt | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt b/src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt index 1d08df3..a4b958a 100644 --- a/src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt +++ b/src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt @@ -3080,15 +3080,20 @@ open class ReportService( val updatedList = costAndExpenseList.map { item -> val code = item["code"] as? String - val expenditure = projectsExpenditure[code] + val expenditure = projectsExpenditure[code] ?: BigDecimal.ZERO + val budget = (item["expectedTotalFee"] as Double - item["subContractFee"] as Double).times(0.8) + val totalCumulativeExpenditure = (expenditure as? BigDecimal ?: 0.0).toDouble() + val budgetRemain = budget.minus(totalCumulativeExpenditure) + val remainingPercent = (budgetRemain).div(budget) +// println("-----------------------------------${item["code"]}-------------------------------") +// println("budget: $budget") +// println("totalCumulativeExpenditure: $totalCumulativeExpenditure") +// println("budgetRemain: $budgetRemain") +// println("remainingPercent: $remainingPercent") item.toMutableMap().apply { - if (code != null && expenditure != null) { - this["totalCumulativeExpenditure"] = expenditure - - } else { - this["totalCumulativeExpenditure"] = BigDecimal.ZERO - } + this["totalCumulativeExpenditure"] = expenditure put("budget", item["expectedTotalFee"] as Double - item["subContractFee"] as Double) + put("budgetPercentage", remainingPercent) } } @@ -3107,7 +3112,7 @@ open class ReportService( } } - return result + return updatedList } fun createCostAndExpenseWorkbook(