Pārlūkot izejas kodu

update overconsumption with expense to totalConsumedBudget, and extra col: project expense

add_swagger
MSI\derek pirms 11 mēnešiem
vecāks
revīzija
326d3f40ed
2 mainītis faili ar 13 papildinājumiem un 4 dzēšanām
  1. +13
    -4
      src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt
  2. Binārs
      src/main/resources/templates/report/AR03_Resource Overconsumption.xlsx

+ 13
- 4
src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt Parādīt failu

@@ -2118,10 +2118,18 @@ open class ReportService(
// }

open fun getProjectResourceOverconsumptionReport(args: Map<String, Any>): List<Map<String, Any>> {
val sql = StringBuilder(
" SELECT "
val sql = StringBuilder("with pe_cte as ("
+ " select"
+ " pe.projectId,"
+ " sum(coalesce(amount)) as expense"
+ " from project_expense pe"
+ " where deleted = false"
+ " group by pe.projectId"
+ " )"
+ " SELECT "
+ " p.code, p.name, tm.code as team, concat(c.code, ' -',c.name) as client, COALESCE(concat(ss.code, ' -', ss.name), 'N/A') as subsidiary "
+ " , (p.expectedTotalFee - ifnull(p.subContractFee, 0)) * 0.8 as plannedBudget, sum(t.consumedBudget) as actualConsumedBudget "
+ " , (p.expectedTotalFee - ifnull(p.subContractFee, 0)) * 0.8 as plannedBudget, sum(t.consumedBudget) + coalesce(pc.expense, 0) as actualConsumedBudget "
+ " , coalesce(pc.expense, 0) as projectExpense "
+ " , COALESCE(p.totalManhour, 0) as plannedManhour, sum(t.normalConsumed + COALESCE(t.otConsumed, 0)) as actualConsumedManhour "
+ " , sum(t.consumedBudget) / ((p.expectedTotalFee - ifnull(p.subContractFee, 0)) * 0.8) as budgetConsumptionRate "
+ " , sum(t.normalConsumed + COALESCE(t.otConsumed, 0)) / COALESCE(p.totalManhour, 0) as manhourConsumptionRate "
@@ -2140,6 +2148,7 @@ open class ReportService(
+ " LEFT JOIN salary sal on se.salaryId = sal.salaryPoint "
+ " ) t "
+ " left join project p on p.id = t.projectId "
+ " left join pe_cte pc on pc.projectId = t.projectId "
+ " left join team tm on p.teamLead = tm.teamLead "
+ " left join customer c on c.id = p.customerId "
+ " left join subsidiary ss on p.customerSubsidiaryId = ss.id "
@@ -2168,7 +2177,7 @@ open class ReportService(
else -> ""
}
}
sql.append(" group by p.code, p.name, tm.code, c.code, c.name, ss.code, ss.name, p.expectedTotalFee, p.subContractFee, p.totalManhour ")
sql.append(" group by p.code, p.name, tm.code, c.code, c.name, ss.code, ss.name, p.expectedTotalFee, p.subContractFee, p.totalManhour, pc.expense ")
sql.append(statusFilter)
return jdbcDao.queryForList(sql.toString(), args)
}


Binārs
src/main/resources/templates/report/AR03_Resource Overconsumption.xlsx Parādīt failu


Notiek ielāde…
Atcelt
Saglabāt