Changes for page Fuhrpark (Fleet Manager)

Last modified by Patrizia Gurschka on 2026/09/14 07:51

From version 16.1
edited by Patrizia Gurschka
on 2026/09/10 08:40
Change comment: There is no comment for this version
To version 19.1
edited by Patrizia Gurschka
on 2026/09/14 07:51
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -67,27 +67,27 @@
67 67  
68 68  = Hauptfunktionen =
69 69  
70 -~1. Stammdaten-Import
70 +== 1. Stammdaten-Import ==
71 71  
72 72  Fahrzeuge werden initial aus RIMO importiert und danach in der App gepflegt (Rückschreiben nach RIMO ist geplant, aktuell nicht implementiert). Fahrer werden täglich um 4:00 Uhr gegen RIMO (ai.sdmperson) abgeglichen — Neuanlage bei unbekannter Personalnummer, sonst Aktualisierung von Stammdaten, Kostenstelle und Line Manager. Externe Fahrer können zusätzlich manuell angelegt werden; Stammdaten interner (RIMO-importierter) Fahrer sind schreibgeschützt.
73 73  
74 -2. Fahrzeug-/Fahrer-Zuordnung
74 +== 2. Fahrzeug-/Fahrer-Zuordnung ==
75 75  
76 76  Fahrer und Line Manager können einem Fahrzeug direkt zugewiesen werden (Line Manager wird bei Fahrer-Auswahl automatisch ergänzt, bleibt aber überschreibbar). Befristete Zuordnungen kehren nach Ablauf automatisch zum vorherigen Fahrer zurück. Jede Zuordnungs- sowie Line-Manager-/Kostenstellen-Änderung wird vollständig und zeitlich abgegrenzt protokolliert (vehicle_assignment_history, driver_attribute_history) — sowohl bei manueller Änderung als auch beim täglichen RIMO-Sync.
77 77  
78 -3. Kilometer-Erfassung
78 +== 3. Kilometer-Erfassung ==
79 79  
80 80  Kilometerstände werden automatisiert importiert: GPS-AT täglich, Tesla wöchentlich, jeweils zum Monatsende. Für Fahrzeuge ohne automatische Anbindung wird 3 Tage vor Monatsende täglich eine Erinnerungsmail verschickt, bis ein Wert in der SharePoint-Liste eingetragen ist. Das KM-Dashboard berücksichtigt bei der Auswertung ausschließlich den Zeitraum, in dem die jeweilige Zuordnung tatsächlich bestand — auch bei unterjährigem Fahrer- oder Line-Manager-Wechsel.
81 81  
82 -4. Kalkulation
82 +== 4. Kalkulation ==
83 83  
84 84  Pro Fahrzeug wird eine Kostenkalkulation aus Anschaffungskosten, laufenden Kosten und Verbrauch/Energiepreisen erstellt (Kosten pro Monat/Jahr/Kilometer). Beim Anlegen werden Default-Parameter aus „Kalkulationsparameter“ nach Fahrzeugtyp übernommen; individuelle Felder werden ergänzt und per „Aktualisieren“ neu berechnet. Änderungen an Kalkulationsparametern wirken sich auf alle Fahrzeuge des jeweiligen Typs aus (Rollen admin/demo/controlling).
85 85  
86 -5. Handlungsbedarf
86 +== 5. Handlungsbedarf ==
87 87  
88 88  Hochrechnungen werden bei jedem KM-Stand-Import neu berechnet. Ein bestelltes Fahrzeug wird über das Häkchen „Bestellt“ markiert, erst danach anlegbar. Nach Anlage steht „Geliefert“ zur Verfügung; sobald gesetzt, entfällt das Fahrzeug automatisch aus der Handlungsbedarfsliste. Ein gesetztes „Deactivation Date“ deaktiviert und archiviert ein Fahrzeug automatisch zum entsprechenden Datum.
89 89  
90 -6. Export & Abrechnung
90 +== 6. Export & Abrechnung ==
91 91  
92 92  Monatliche Abrechnungen und Kostenstellen-Umbuchungen werden auf Klick erstellt und als CSV exportiert. Die vollständige Fahrzeugliste (inkl. kompletter Kalkulationsaufschlüsselung) sowie gefahrene Kilometer können als Excel-Datei heruntergeladen werden.
93 93  
... ... @@ -110,8 +110,6 @@
110 110  |Datenbank|SQLite, WAL-Modus, data/fleet.db (Projekt-Root, nicht in Git)
111 111  |Reparatur-Skript|repair_stale_line_manager_assignments.py — einmalig, bei Altlasten vor dem Line-Manager-Fix
112 112  
113 -
114 -
115 115  = Sicherheit =
116 116  
117 117  Authentifizierung
... ... @@ -131,17 +131,6 @@
131 131  * **Odometer vs. Jahreskilometer: **vehicles.current_km speichert die im laufenden Kalenderjahr gefahrenen Kilometer (Vergleichswert zu „Max. KM/Jahr“), nicht den tatsächlichen Tacho-Stand. Für die Anzeige des echten Kilometerstands wird stattdessen die letzte Ablesung aus der KM-Historie herangezogen (latest_odometer_km).
132 132  * **Zuordnungsende “heute“: **Wird als Enddatum das aktuelle Datum gewählt, wird als Enddatum bewusst der Vortag (23:59:59) gespeichert — damit gilt die Zuordnung ab exakt Mitternacht des gewählten Tages als beendet, ohne Sekundenpräzision oder Sonderfall im Code.
133 133  
134 -|(((
135 -**⚠️  Offene Punkte / zu verifizieren**
136 -
137 -* Flottenweite Reaktivierung in apply_due_deactivations(): Die automatische Reaktivierung („kein Deactivation Date mehr“) wirkt aktuell auf ALLE Fahrzeuge mit deactivation_date=NULL, nicht nur auf das gerade bearbeitete — kann manuell archivierte Fahrzeuge versehentlich mit reaktivieren. Fix identifiziert (Reaktivierung auf die eine Fahrzeug-ID scopen), Umsetzung noch ausständig.
138 -* Genaues Schema von rimo.sdmtool (Spaltennamen name/last_update) ist aus einer Beschreibung übernommen, nicht 1:1 gegen die echte Tabelle verifiziert.
139 -* Kein bestätigtes automatisches Backup der Produktivdatenbank gefunden — falls vorhanden, läuft es außerhalb des Anwendungscodes; sollte auf dem Server verifiziert werden.
140 -* Exakte SharePoint-/Fabric-Spaltennamen (SP_LIST_ITEMS_URL u. Ä.) sollten einmalig gegen die reale Liste geprüft werden.
141 -)))
142 -
143 -
144 -
145 145  = Server / Umgebung =
146 146  
147 147  Die App läuft auf 192.168.208.2, per Docker Compose (Services backend + frontend), und liegt unter /mnt/data/fleet-manager/fuhrpark.