| @@ -3080,15 +3080,20 @@ open class ReportService( | |||||
| val updatedList = costAndExpenseList.map { item -> | val updatedList = costAndExpenseList.map { item -> | ||||
| val code = item["code"] as? String | 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 { | 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("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( | fun createCostAndExpenseWorkbook( | ||||