-
Notifications
You must be signed in to change notification settings - Fork 0
ORM Spiegel
Der ORM-Spiegel ist eine schreibgeschützte Abbild-Datenbank der SP5-DBF-Tabellen auf Basis des ORM der libopenschichtplaner5. Die DBF-Dateien bleiben dabei immer die führende Datenquelle — der Spiegel ist der schrittweise Migrationspfad von DBF zu einer modernen relationalen Datenbank.

Die Seite ORM-Spiegel (Administration, nur für Admins sichtbar) zeigt den Status der Spiegel-Datenbank:
- Spiegel-Datenbank — vorhanden oder noch nicht angelegt
- Tabellen — Anzahl der gespiegelten Tabellen (alle 19 unterstützten DBF-Tabellen)
- Zeilen gesamt — Gesamtzahl der gespiegelten Datensätze
Die Tabelle darunter listet jede gespiegelte Tabelle mit Zeilenzahl und Zeitpunkt der letzten Synchronisierung. Mit „Jetzt synchronisieren" wird der Spiegel aus den DBF-Daten neu aufgebaut.
Der Spiegel umfasst den vollen DBF-Bestand — Stammdaten (Mitarbeiter, Gruppen und Zuordnungen, Schichtarten, Abwesenheitsarten, Arbeitsplätze), Kalenderdaten (Feiertage, Perioden), Planeinträge (Dienste, Sonderdienste, Abwesenheiten), Zeitwirtschaft (Buchungen, Überstunden, Urlaubsansprüche) und Planungsdaten (Personalbedarf, besonderer Bedarf, Schichtmodelle/Zyklen, Zyklus-Zuordnungen, Einschränkungen).
Alle Endpunkte liegen unter /api/admin/orm und erfordern die Admin-Rolle:
| Methode | Endpunkt | Beschreibung |
|---|---|---|
POST |
/api/admin/orm/sync |
Spiegel aus den DBF-Daten (neu) aufbauen — alle 19 Tabellen |
GET |
/api/admin/orm/status |
Status ohne Neu-Sync: Existenz der Spiegel-DB, Zeilenzahl je Tabelle, Gesamtzeilen |
GET |
/api/admin/orm/shifts, /leave-types, /workplaces, … |
Lesezugriff auf die gespiegelten Definitionen (mit include_hidden-Option) |
GET |
/api/admin/orm/shift-assignments, /special-shifts, /absences
|
Planeinträge, filterbar über date_from/date_to und employee_id
|
GET |
/api/admin/orm/holidays, /periods
|
Kalenderdaten (Feiertage optional je year inkl. wiederkehrender Termine) |
GET |
/api/admin/orm/bookings, /overtime, /leave-entitlements
|
Zeitwirtschaft, filterbar nach Zeitraum/Mitarbeiter bzw. Jahr |
GET |
/api/admin/orm/shift-demands, /special-demands, /cycles, /cycle-assignments, /restrictions
|
Planungsdaten |
📖 Vollständige Parameter-Referenz: REST-Referenz im API-Wiki
- Der Spiegel wird in einer eigenen SQLite-Datenbank (
sp5_orm.db) neben dem DBF-Datenverzeichnis materialisiert; das ORM der Library selbst ist backend-agnostisch (SQLite und PostgreSQL) - ORM-Modelle, Repositories und die Sync-Logik stammen aus der libopenschichtplaner5 — siehe Datenbankformat im Library-Wiki
- Der Sync ist tolerant gegenüber unsauberen Altdaten (z. B. verwaiste Fremdschlüssel oder doppelte Gruppenzuordnungen werden übersprungen bzw. dedupliziert)
➡️ Verwandte Seiten: Datenbankformat | PostgreSQL-Support | Administration
Home — Startseite
- Installation — Installation & Setup
- Erste-Schritte — Quick Start Guide
- Onboarding-Wizard — 🧭 Ersteinrichtung
- Onboarding-Checkliste — ✅ Setup-Fortschritt
- Dashboard — Charts, Widgets & Performance
- Dienstplan — Dienstplan, Einsatzplan
- Kalender-Ansicht — 🗓️ Monatskalender
- Drag-and-Drop — 🖱️ Drag & Drop im Kalender
- Recurring-Shifts — 🔁 Wiederkehrende Schichten
- Schichtplan-Kommentare — 📝 Tagesnotizen
- Dienstplan-Vorlagen — 📋 Templates
- Undo-Redo — ↩️ Rückgängig/Wiederherstellen
- Jahresuebersicht — Jahresübersicht (Tagesraster)
- Personaltabelle — 📋 Kennzahlen-Auswertung
- Personalbedarf — 📌 Min/Max & Besetzungsampel
- Schichtwunsch-Kalender — 💬 Persönlicher Schichtkalender
- Schichtwuensche — Schichtwünsche & Sperrtage
- Verfuegbarkeit — 📅 Mitarbeiter-Verfügbarkeit
- Tauschboerse — 🔄 Schicht-Tauschbörse
- Urlaubsverwaltung — Urlaub & Abwesenheiten
- Jahresabschluss — 🎯 Überträge & Resturlaub-Verfall
- Ueberstunden — Überstunden-Dashboard & Tracking
- Arbeitszeit-Regelwerk — ⚖️ Arbeitszeitregeln
- Team-Kalender — 🗓️ Team-Kalender
- Team-Uebersicht — 👥 Team-Übersicht
- Berichte — Alle Berichte (20+)
- Scheduled-Reports — 📤 Automatische Berichte
-
Konflikt-Report —
⚠️ Konflikterkennung - Abwesenheits-Statistiken — 📊 Abwesenheitsauswertung
- Mitarbeiter-Timeline — 📅 Zeitachse
- Fairness-Score — 📐 Fairness-Score
- Mitarbeiter-Vergleich — ⚖️ Mitarbeiter-Vergleich
- Analytics-Charts — 📈 Analytics & Charts
- Jahresrueckblick — 🗓️ Jahresrückblick
- Import-Export — CSV/XLSX Import & Export
- Bulk-Import — 📦 Massenimport (Drag&Drop)
- Export-Scheduler — 📅 Automatischer Berichtsversand
- iCal-Export — 📅 iCal & Kalender-Abo
- Drucken — Drucken & PDF-Export
- Druckvorschau — Interaktive Print-Vorschau
- Mitarbeiter — Personal & Gruppen
- Foto-Upload — 📸 Mitarbeiter-Profilfotos
- Stammdaten — Schichten, Modelle, Zuschläge
- Feiertage — 🎉 Feiertage & Österreich-Import
- Kompetenz-Matrix — 📊 Qualifikations-Matrix
- API-Versionierung — 🔀 Versionierte API-Routes
- Webhook-System — 🔗 Webhooks
- Echtzeit-Updates — 📡 SSE Live-Updates
- Notification-Settings — 🔔 E-Mail-Einstellungen
- Multi-Tenant — 🏢 Mandantenverwaltung
- Benutzerverwaltung — Benutzer & Rechte
- Zwei-Faktor-Authentifizierung — 🔐 2FA (TOTP)
- Administration — Backup & Wartung
- Datenbank-Backup — 💾 Backup & Restore
- Rate-Limit-Dashboard — 🚦 Rate-Limit Monitoring
- Protokoll — Aktivitätsprotokoll
- Keyboard-Shortcuts — ⌨️ Tastaturkürzel
- Keyboard-Navigation — ⌨️ Vollständige Tastatur-Bedienbarkeit
- Security — 🔒 Sicherheit, CSP, CORS
- Health-Check — 🏥 Systemmetriken
- Konfiguration — ⚙️ ENV-Variablen
- PostgreSQL-Support — 🐘 PostgreSQL-Datenbank
- Auto-Migration — 🔄 Auto-Schema-Migration
- Datenbankformat — Technisches: DBF & SQLite
- ORM-Spiegel — 🪞 ORM-Spiegel (Admin)
- Error-Monitoring — 🔍 Logging & Monitoring
- Self-Service-Portal — 👤 Mitarbeiter Self-Service
- Dark-Mode — 🌙 Dark Mode (System-Preference)
- Command-Palette — 🔍 Schnellsuche (Ctrl+K)
- In-App-Changelog — 🔔 Changelog
- PWA — 📲 Progressive Web App
- Sprachumschalter — 🌍 DE/EN i18n
- Library (lib) — Datenbankformat & CLI
- REST-API — Endpunkt-Referenz