diff --git a/backend/src/services/ausruestungsanfrage.service.ts b/backend/src/services/ausruestungsanfrage.service.ts index fc08806..1abe109 100644 --- a/backend/src/services/ausruestungsanfrage.service.ts +++ b/backend/src/services/ausruestungsanfrage.service.ts @@ -288,7 +288,8 @@ async function getRequests(filters?: { status?: string; anfrager_id?: string }) `SELECT a.*, COALESCE(u.given_name || ' ' || u.family_name, u.name) AS anfrager_name, COALESCE(u2.given_name || ' ' || u2.family_name, u2.name) AS bearbeitet_von_name, - (SELECT COUNT(*)::int FROM ausruestung_anfrage_positionen p WHERE p.anfrage_id = a.id) AS positionen_count + (SELECT COUNT(*)::int FROM ausruestung_anfrage_positionen p WHERE p.anfrage_id = a.id) AS positionen_count, + (SELECT COUNT(*)::int FROM ausruestung_anfrage_positionen p WHERE p.anfrage_id = a.id AND p.geliefert) AS geliefert_count FROM ausruestung_anfragen a LEFT JOIN users u ON u.id = a.anfrager_id LEFT JOIN users u2 ON u2.id = a.bearbeitet_von diff --git a/frontend/src/pages/Ausruestungsanfrage.tsx b/frontend/src/pages/Ausruestungsanfrage.tsx index 311c87f..1f10e05 100644 --- a/frontend/src/pages/Ausruestungsanfrage.tsx +++ b/frontend/src/pages/Ausruestungsanfrage.tsx @@ -1382,6 +1382,7 @@ function AlleAnfragenTab() { Anfrage für Status Positionen + Geliefert Erstellt am @@ -1393,6 +1394,11 @@ function AlleAnfragenTab() { {r.anfrager_name || r.anfrager_id} {r.positionen_count ?? r.items_count ?? '-'} + + {r.positionen_count != null && r.positionen_count > 0 + ? `${r.geliefert_count ?? 0}/${r.positionen_count}` + : '-'} + {new Date(r.erstellt_am).toLocaleDateString('de-AT')} ))} diff --git a/frontend/src/types/ausruestungsanfrage.types.ts b/frontend/src/types/ausruestungsanfrage.types.ts index 7c0f083..65099c8 100644 --- a/frontend/src/types/ausruestungsanfrage.types.ts +++ b/frontend/src/types/ausruestungsanfrage.types.ts @@ -90,6 +90,7 @@ export interface AusruestungAnfrage { erstellt_am: string; aktualisiert_am: string; positionen_count?: number; + geliefert_count?: number; items_count?: number; }