|
|
@@ -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( |
|
|
|