Vertrag: Auftragsnummer Vertriebsplattform vor Kundennummer

Contract.orderNumberAtSalesPlatform (VARCHAR(191) NULL) mit
Migration 20260619100000_contract_order_number_at_sales_platform
(IF NOT EXISTS). Form-Input, Detail-Zeile mit Copy-Button,
Audit-Mapping, Renewal-Copy und XSS-Strip-Allowlist analog zu
den bestehenden Sales-Platform-Feldern.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-19 13:49:04 +02:00
parent 9274c0adaf
commit 0b7bb89ebc
9 changed files with 39 additions and 0 deletions
@@ -0,0 +1,7 @@
-- Zusätzliches optionales Feld unter "Anbieter & Tarif": Auftragsnummer bei
-- der Vertriebsplattform (vor der Kundennummer). Plattformen liefern beim
-- Abschluss oft eine eigene Auftrags-/Vorgangsnummer, die fürs Reklamations-
-- handling gebraucht wird.
ALTER TABLE `Contract`
ADD COLUMN IF NOT EXISTS `orderNumberAtSalesPlatform` VARCHAR(191) NULL;
+1
View File
@@ -693,6 +693,7 @@ model Contract {
tariffName String?
customerNumberAtProvider String?
contractNumberAtProvider String? // Vertragsnummer beim Anbieter
orderNumberAtSalesPlatform String? // Auftragsnummer bei der Vertriebsplattform
customerNumberAtSalesPlatform String? // Kundennummer bei der Vertriebsplattform
contractNumberAtSalesPlatform String? // Vertragsnummer bei der Vertriebsplattform
priceFirst12Months String? // Preis erste 12 Monate
@@ -204,6 +204,7 @@ export async function updateContract(req: AuthRequest, res: Response): Promise<v
status: 'Status', startDate: 'Vertragsbeginn', endDate: 'Vertragsende',
portalUsername: 'Portal-Benutzername', customerNumberAtProvider: 'Kundennummer beim Anbieter',
contractNumberAtProvider: 'Vertragsnummer beim Anbieter',
orderNumberAtSalesPlatform: 'Auftragsnummer bei Vertriebsplattform',
customerNumberAtSalesPlatform: 'Kundennummer bei Vertriebsplattform',
contractNumberAtSalesPlatform: 'Vertragsnummer bei Vertriebsplattform',
providerId: 'Anbieter', tariffId: 'Tarif', cancellationPeriodId: 'Kündigungsfrist',
+2
View File
@@ -203,6 +203,7 @@ interface ContractCreateData {
providerName?: string;
tariffName?: string;
customerNumberAtProvider?: string;
orderNumberAtSalesPlatform?: string;
customerNumberAtSalesPlatform?: string;
contractNumberAtSalesPlatform?: string;
priceFirst12Months?: string;
@@ -899,6 +900,7 @@ export async function createRenewalContract(previousContractId: number) {
tariffName: previousContract.tariffName,
customerNumberAtProvider: previousContract.customerNumberAtProvider,
contractNumberAtProvider: previousContract.contractNumberAtProvider,
orderNumberAtSalesPlatform: previousContract.orderNumberAtSalesPlatform,
customerNumberAtSalesPlatform: previousContract.customerNumberAtSalesPlatform,
contractNumberAtSalesPlatform: previousContract.contractNumberAtSalesPlatform,
portalUsername: previousContract.portalUsername,
+1
View File
@@ -75,6 +75,7 @@ const CONTRACT_DISPLAY_STRING_FIELDS = [
'tariffName',
'customerNumberAtProvider',
'contractNumberAtProvider',
'orderNumberAtSalesPlatform',
'customerNumberAtSalesPlatform',
'contractNumberAtSalesPlatform',
'portalUsername',