|
@@ -1842,13 +1842,13 @@ open class ReportService( |
|
|
val sql = StringBuilder( |
|
|
val sql = StringBuilder( |
|
|
"WITH teamNormalConsumed AS (" |
|
|
"WITH teamNormalConsumed AS (" |
|
|
+ " SELECT" |
|
|
+ " SELECT" |
|
|
+ " tns.projectId," |
|
|
|
|
|
|
|
|
+ " tns.project_id," |
|
|
+ " SUM(tns.totalConsumed) AS totalConsumed, " |
|
|
+ " SUM(tns.totalConsumed) AS totalConsumed, " |
|
|
+ " sum(tns.totalBudget) as totalBudget " |
|
|
+ " sum(tns.totalBudget) as totalBudget " |
|
|
+ " FROM ( " |
|
|
+ " FROM ( " |
|
|
+ " SELECT" |
|
|
+ " SELECT" |
|
|
+ " t.staffId," |
|
|
+ " t.staffId," |
|
|
+ " t.projectId AS projectId," |
|
|
|
|
|
|
|
|
+ " t.projectId AS project_id," |
|
|
+ " sum(t.normalConsumed + COALESCE(t.otConsumed, 0)) as totalConsumed, " |
|
|
+ " sum(t.normalConsumed + COALESCE(t.otConsumed, 0)) as totalConsumed, " |
|
|
+ " sum(t.normalConsumed + COALESCE(t.otConsumed, 0)) * min(sal.hourlyRate) as totalBudget " |
|
|
+ " sum(t.normalConsumed + COALESCE(t.otConsumed, 0)) * min(sal.hourlyRate) as totalBudget " |
|
|
+ " FROM timesheet t" |
|
|
+ " FROM timesheet t" |
|
@@ -1856,7 +1856,7 @@ open class ReportService( |
|
|
+ " left join salary sal on sal.salaryPoint = s.salaryId " |
|
|
+ " left join salary sal on sal.salaryPoint = s.salaryId " |
|
|
+ " GROUP BY t.staffId, t.projectId" |
|
|
+ " GROUP BY t.staffId, t.projectId" |
|
|
+ " ) AS tns" |
|
|
+ " ) AS tns" |
|
|
+ " GROUP BY projectId" |
|
|
|
|
|
|
|
|
+ " GROUP BY project_id" |
|
|
+ " ) " |
|
|
+ " ) " |
|
|
+ " SELECT " |
|
|
+ " SELECT " |
|
|
+ " p.code, " |
|
|
+ " p.code, " |
|
|