瀏覽代碼

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

add_swagger
MSI\derek 11 月之前
父節點
當前提交
326d3f40ed
共有 2 個檔案被更改,包括 13 行新增4 行删除
  1. +13
    -4
      src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt
  2. 二進制
      src/main/resources/templates/report/AR03_Resource Overconsumption.xlsx

+ 13
- 4
src/main/java/com/ffii/tsms/modules/report/service/ReportService.kt 查看文件

@@ -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)
}


二進制
src/main/resources/templates/report/AR03_Resource Overconsumption.xlsx 查看文件


Loading…
取消
儲存