From 3b9a240d1fc8a287cc9da311777769cc4a35c5da Mon Sep 17 00:00:00 2001 From: Truc Nguyen Date: Wed, 27 Nov 2024 20:10:37 +0000 Subject: [PATCH] feat: display synthetic costs in outstanding report (#19) --- frontend/src/screens/reporting/outstanding-payments.tsx | 4 ++-- internal/service/reporting.go | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/src/screens/reporting/outstanding-payments.tsx b/frontend/src/screens/reporting/outstanding-payments.tsx index 0c01239..d9cc90d 100644 --- a/frontend/src/screens/reporting/outstanding-payments.tsx +++ b/frontend/src/screens/reporting/outstanding-payments.tsx @@ -109,8 +109,8 @@ export default function OutstandingPayments() { Name Unpaid Amount - Matches - Summary + Attendant Count + Synthetic Costs diff --git a/internal/service/reporting.go b/internal/service/reporting.go index 5c57b2b..193d09f 100644 --- a/internal/service/reporting.go +++ b/internal/service/reporting.go @@ -41,10 +41,11 @@ func (s *ReportingService) GetUnpaidReport() ([]UnpaidByPlayer, error) { GROUP BY m.id, m.sport_center_id, acx.additional_cost ), cte_registration_history AS ( - SELECT p.id AS player_id, STRING_AGG(TO_CHAR(m.start, 'DD-Mon'), ', ' ORDER BY m.start) AS registration_summary + SELECT p.id AS player_id, STRING_AGG('£' ||ROUND(mc.individual_cost, 2) || '(' || TO_CHAR(m.start, 'DD.Mon') || ')', ' + ' ORDER BY m.start) AS registration_summary FROM registrations r JOIN matches m ON m.id = r.match_id JOIN players p on p.id = r.player_id + JOIN cte_match_costs mc ON m.id = mc.match_id WHERE r.is_paid = false GROUP BY p.id )