Vertragsstatus-Trigger: Datum beim Upload miterfassen
Beim automatischen Status-Wechsel wird jetzt auch das passende Datum gesetzt, damit Status und Datumsfeld konsistent sind (Cockpit-Warnung "Datum fehlt" verschwindet sofort nach Upload). Backend: - Upload-Handler für Kündigungsbestätigung(s-Optionen) nimmt optional `confirmationDate` aus multipart an, speichert als cancellationConfirmationDate / cancellationConfirmationOptionsDate. Fallback: heute (nur falls Feld noch leer war). - maybeActivateOnDeliveryConfirmation nimmt optional deliveryDate, setzt Contract.startDate falls leer. Fallback: heute. Frontend: - ContractDetail: neues kleines Modal beim Kündigungsbestätigungs-Upload fragt das Bestätigungs-Datum ab (Default: heute oder bereits gesetzter Wert). Der bestehende inline-Datums-Editor bleibt für spätere Korrekturen. - ContractDocumentsSection: Datums-Input erscheint conditional im Upload-Bereich, sobald Typ "Lieferbestätigung" gewählt ist. - SaveAttachmentModal (E-Mail-Anhang → Vertragsdokument): gleicher Datums-Input conditional für "Lieferbestätigung". - API-Methoden uploadCancellationConfirmation / uploadDocument / saveAttachmentAsContractDocument nehmen optional Datum entgegen. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+8
-4
@@ -102,12 +102,16 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
||||
`status=ACTIVE` und `endDate < heute` → `EXPIRED` (mit Audit-Log).
|
||||
- Beim Upload der Kündigungsbestätigung (`cancellationConfirmationPath`):
|
||||
wenn Vertrag aktuell `ACTIVE` → auf `CANCELLED` setzen (Audit-Log).
|
||||
Der "Optionen"-Upload löst den Wechsel bewusst NICHT aus, da er für
|
||||
Vertragsänderungen (nicht echte Kündigungen) gedacht ist.
|
||||
Frontend fragt per Modal das Bestätigungs-Datum ab (Default: heute),
|
||||
wird direkt als `cancellationConfirmationDate` gespeichert.
|
||||
Der "Optionen"-Upload löst den Status-Wechsel bewusst NICHT aus, da er
|
||||
für Vertragsänderungen (nicht echte Kündigungen) gedacht ist, setzt
|
||||
aber `cancellationConfirmationOptionsDate` analog.
|
||||
- Beim Upload einer `Lieferbestätigung` (ContractDocument via direkt-Upload
|
||||
oder Email-Anhang-Import): wenn Vertrag aktuell `DRAFT` → auf `ACTIVE`
|
||||
setzen (Audit-Log). Schreibweise stammt aus dem Frontend-Dropdown,
|
||||
Vergleich case-insensitive + getrimmt.
|
||||
setzen + `startDate` auf das erfasste Lieferdatum (falls leer).
|
||||
Frontend zeigt Datums-Input conditional, wenn Typ "Lieferbestätigung"
|
||||
ausgewählt ist.
|
||||
- Keine neuen Status eingeführt: `cancellationSentDate` vs.
|
||||
`cancellationConfirmationDate` genügen, um "gesendet vs. bestätigt"
|
||||
abzubilden. `ACTIVE` bleibt bis zur Bestätigung.
|
||||
|
||||
Reference in New Issue
Block a user