Vertragsauswahl: Kundennr./Zählernr./Telefonnr. in allen Pickern

Zentraler Helper contractLabel.ts liefert je nach Vertragstyp die
sinnvollen Zusatzinfos (nur wenn Daten vorhanden):
- Kdnr. <customer.customerNumber> (immer)
- Anbieter-Vtr. <contractNumberAtProvider>
- Zähler <meterNumber> (Strom/Gas)
- Mobil <main-SIM-Nummer> (Mobilfunk)
- Festnetz <main-phone> (Internet)

Backend contractApi.getAll include um energyDetails.meter und
internetDetails.phoneNumbers erweitert – vorher fehlten die im
Response.

Angewendet auf 5 Call-Sites:
- AssignToContractModal (Email-zu-Vertrag zuordnen)
- TaskList (Mitarbeiter- und Kundenportal-"Neue Aufgabe/Anfrage")
- Dashboard (Support-Anfrage-Modal)
- PdfTemplates (Test-Vorlage-Kontext-Auswahl)
- ContractForm (Vorgänger-Vertrag-Select)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-07-06 00:26:42 +02:00
parent 0b78323c7b
commit d14db3de2f
7 changed files with 187 additions and 11 deletions
+16
View File
@@ -102,6 +102,22 @@ export async function getAllContracts(filters: ContractFilters) {
simCards: { select: { phoneNumber: true, isMain: true } },
},
},
// 2026-07-04: für Vertragsauswahl-Labels brauchen wir überall
// die Zählernummer (Strom/Gas) und die erste Festnetznummer
// (Internet). Beides light-select, damit das Payload klein bleibt.
energyDetails: {
select: {
meter: { select: { id: true, meterNumber: true } },
},
},
internetDetails: {
select: {
phoneNumbers: {
select: { phoneNumber: true, isMain: true },
orderBy: { id: 'asc' },
},
},
},
carInsuranceDetails: { select: { licensePlate: true } },
},
}),