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
|
// Prüfen ob aktiver Folgevertrag existiert - dann keine Kündigungswarnungen nötig
|
||||||
const hasActiveFollowUp = contract.followUpContract?.status === 'ACTIVE';
|
const hasActiveFollowUp = contract.followUpContract?.status === 'ACTIVE';
|
||||||
|
|
||||||
// ONGOING = "Läuft weiter auf unbestimmte Zeit": es gibt kein Ende,
|
// Fristen-Blöcke pro Vertrag skippen für Status, bei denen laufende
|
||||||
// also alle Fristen-bezogenen Blöcke (Kündigung, Verlängerung,
|
// Fristen semantisch keinen Sinn ergeben:
|
||||||
// Lieferbestätigung) für diesen Vertrag komplett skippen. DSGVO-/
|
// - ONGOING : "Läuft weiter auf unbestimmte Zeit" → kein Ende
|
||||||
// Consent-Checks laufen weiter, weil die pro Kunde greifen, nicht
|
// - DEACTIVATED : manuell beendet/archiviert → nichts mehr zu erinnern
|
||||||
// pro Vertrag.
|
// - CANCELLED : Kündigung schon eingereicht → Vertragsende ist
|
||||||
const skipDeadlines = contract.status === 'ONGOING';
|
// 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)
|
// 1. KÜNDIGUNGSFRIST (nur wenn kein aktiver Folgevertrag UND Snooze nicht aktiv)
|
||||||
// Snooze unterdrückt NUR Fristen-bezogene Warnungen!
|
// Snooze unterdrückt NUR Fristen-bezogene Warnungen!
|
||||||
|
|||||||
Reference in New Issue
Block a user