Cockpit: DEACTIVATED + CANCELLED skippt Fristen-Warnungen
Bug: Ein DEACTIVATED-Vertrag (manuell archiviert) zeigte im Cockpit weiter "Vertragsende: Vertrag seit 79 Tagen abgelaufen!" – sinnlos, weil der Mitarbeiter den Vertrag ja aktiv beendet hatte. Fix: skipDeadlines-Guard, der bisher nur ONGOING abfing, greift jetzt auch bei DEACTIVATED und CANCELLED. Beide sind terminale Status – laufende Fristen ergeben da semantisch keinen Sinn. Bewusst weiterhin AKTIV: - Block 13a (Schlussrechnung fehlt): feuert wegen dieser Status, nicht trotzdem. - Block 8 (DSGVO/Consent): läuft pro Kunde, nicht pro Vertrag. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -356,12 +356,23 @@ export async function getCockpitData(opts?: { customerIds?: number[] }): Promise
|
||||
// Prüfen ob aktiver Folgevertrag existiert - dann keine Kündigungswarnungen nötig
|
||||
const hasActiveFollowUp = contract.followUpContract?.status === 'ACTIVE';
|
||||
|
||||
// ONGOING = "Läuft weiter auf unbestimmte Zeit": es gibt kein Ende,
|
||||
// also alle Fristen-bezogenen Blöcke (Kündigung, Verlängerung,
|
||||
// Lieferbestätigung) für diesen Vertrag komplett skippen. DSGVO-/
|
||||
// Consent-Checks laufen weiter, weil die pro Kunde greifen, nicht
|
||||
// pro Vertrag.
|
||||
const skipDeadlines = contract.status === 'ONGOING';
|
||||
// Fristen-Blöcke pro Vertrag skippen für Status, bei denen laufende
|
||||
// Fristen semantisch keinen Sinn ergeben:
|
||||
// - ONGOING : "Läuft weiter auf unbestimmte Zeit" → kein Ende
|
||||
// - DEACTIVATED : manuell beendet/archiviert → nichts mehr zu erinnern
|
||||
// - CANCELLED : Kündigung schon eingereicht → Vertragsende ist
|
||||
// die Konsequenz der Kündigung, keine Frist mehr
|
||||
// Die Schlussrechnung-Fehlt-Warnung (Block 13a) bleibt aktiv, weil
|
||||
// sie WEGEN dieser Status feuert (kein separater Guard). DSGVO-/
|
||||
// Consent-Checks (Block 8) sind pro Kunde, nicht pro Vertrag, und
|
||||
// laufen ebenfalls weiter.
|
||||
// User-Wunsch 2026-07-13: DEACTIVATED-Vertrag zeigte im Cockpit
|
||||
// "Vertrag seit 79 Tagen abgelaufen!" – sinnlos für einen Vertrag,
|
||||
// der vom Mitarbeiter aktiv archiviert wurde.
|
||||
const skipDeadlines =
|
||||
contract.status === 'ONGOING'
|
||||
|| contract.status === 'DEACTIVATED'
|
||||
|| contract.status === 'CANCELLED';
|
||||
|
||||
// 1. KÜNDIGUNGSFRIST (nur wenn kein aktiver Folgevertrag UND Snooze nicht aktiv)
|
||||
// Snooze unterdrückt NUR Fristen-bezogene Warnungen!
|
||||
|
||||
Reference in New Issue
Block a user