Zum Hauptinhalt springen

Dashboard-Badges (Geburtstage, Jubiläen, Celebrations)

Diese Seite dokumentiert die **API `/dashboard-badges/me`** — keine eigenständige FE-Page. Die Daten werden in **Dashboard-Tiles** auf der Home-/Dashboard-Seite angezeigt. Konfigurierbar via [Custom-Navigation-Tiles](/custom-navigation-tiles) bzw. [Dashboards](/dashboards).

Zweck

Das Dashboard-Badges-Modul liefert auf einer Aggregations-API die Liste der heutigen / kommenden Geburtstage und Jubiläums-Tage (Betriebszugehörigkeit) im Mandant — mit:

  • Tier-System für unterschiedliche Bedeutung (z. B. 25-Jahre-Jubiläum > 5-Jahre)
  • Key-Facts pro Jubilar (gerundete Workorder-Anzahl + Gesamt-Arbeitsstunden) für schöne Anzeige
  • 45/50-Jahre-Thresholds als Sonderfall
  • Consent-Toggles im Mitarbeiter-Form — jeder MA entscheidet, ob Geburtstag/Jubiläum geteilt wird

Das Modul ist read-only und liefert die Daten an die Dashboard-Tiles. Konfiguration der Anzeige erfolgt im Dashboard selbst (siehe Dashboards).

Voraussetzungen

- Mandant mit aktivem Dashboard-Modul - Mitarbeiter-Stammdaten mit Geburtsdatum + Eintrittsdatum gepflegt - Consent-Flags pro Mitarbeiter gesetzt (Standard: nicht geteilt) - Berechtigung `view:Dashboard` (alle Dashboard-Empfänger)

Berechtigungen (CASL)

Frontend-Page-Guard: view:FE_Dashboard

API-Datenzugriff: view:DashboardBadge für die Aggregations-API. Die zurückgelieferten Daten enthalten nur Mitarbeiter mit aktivem Consent.

API-Endpoint

MethodeEndpointZweck
GET/api/dashboard-badges/meLiefert Badges für die heutige + kommende Tage (typisch 30 Tage Vorschau)

Die Endpoint-Antwort ist tenant-gescoped — pro Mandant nur die eigenen Mitarbeiter.

Pro Mitarbeiter im Stammdaten-Form steuerbar:

FeldDefaultWirkung wenn true
shareBirthdayfalseGeburtstag erscheint im Dashboard-Badge des Mandanten
shareJubileefalseBetriebszugehörigkeits-Jubiläum erscheint im Dashboard

Wichtig: Beide Flags sind opt-in — Mitarbeiter müssen explizit zustimmen. Standardmäßig sind keine Daten sichtbar (DSGVO-konformer Default).

Jubiläum-Tier-System

Die Engine erkennt Jubiläen pro Mitarbeiter und klassifiziert nach Tier:

Jahre BetriebszugehörigkeitTierVisuelle Wirkung
5bronzeklein
10silbermittel
15silber-plusmittel
25goldgroß
40platinsehr groß
45 / 50diamantmaximale Hervorhebung

Key-Facts (gerundete Schmuck-Werte)

Bei Jubilaren liefert die Engine gerundete Performance-Kennzahlen, damit das Dashboard schöne Aussagen treffen kann:

KennzahlRundungBeispiel
Workorder-Anzahl (workorderCount)10/50/100/1000 je nach Größe„über 1.250 Arbeitsaufträge bearbeitet"
Gesamt-Arbeitsstunden (totalWorkHours)10/50/100/1000 je nach Größe„ca. 8.500 Stunden für unser Team"

Die Rundungs-Logik (roundToCelebrationNumber in dashboardBadges.service.ts):

  • < 100 → nächste 10er-Stelle
  • < 1000 → nächste 50er
  • < 10000 → nächste 100er
  • ≥ 10000 → nächste 1000er

Fehler-Toleranz: Wenn die Aggregation für einen Wert fehlschlägt (z. B. wegen großer Datenmengen), wird das Feld weggelassen — die Anzeige zeigt dann nur das Jubiläum ohne Fact, keinen Fehler.

Verknüpfungen

  • Employee — Quelle für Geburtsdatum, Eintrittsdatum, Consent-Flags
  • Workorder + EmployeeTimeTracking — Datenquelle für Key-Facts
  • ComplianceCheckjubileeNotice triggert parallel den Acknowledge-Workflow für die HR-Leitung

Versionshinweise

  • 2026-05 (Welle 101): Initiale Doku basiert auf Service dashboardBadges.service.ts (502 Zeilen) + Router dashboardBadges.router.ts. Neu eingeführt mit feat(dashboard): jubiläums-key-facts und feat(dashboard): festliche celebration-cards mit tier-system.