From b7c7276b2031c1d469c89d91a40086c3bb9164e2 Mon Sep 17 00:00:00 2001 From: patrick Date: Sat, 5 Sep 2026 15:23:41 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20Fehler=20korrigiert=20-=20Betriebsstund?= =?UTF-8?q?en=20f=C3=A4lschlich=20fahrzeug-only=20geplant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nutzer-Fund: FLEET-003 (Kilometerstand/Betriebsstunden) war fälschlich als fahrzeug-gebundenes Datenmodell geplant, obwohl die Ursprungs-Anforderung explizit auch Stromerzeuger/Pumpen mit betriebsstundenabhängiger Wartung nennt (Modul 14). Neue generische Kachel ASSET-009 (Nutzungszähler) eingeführt, FLEET-003 zur bloßen Fahrzeug-Anwendung davon reduziert. MABEA-Abgleich korrigiert: echte Lücke ist jetzt doppelt - kein generischer Zähler für Nicht-Fahrzeug-Geräte UND keine Rückwärtslauf-Validierung am bestehenden Fahrzeug-Kilometerstand. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD --- arbeitskacheln/00_index.md | 7 ++--- arbeitskacheln/04_assets.md | 39 +++++++++++++++++++++++++++- arbeitskacheln/05_fleet.md | 52 +++++++++++++++++++++---------------- 3 files changed, 71 insertions(+), 27 deletions(-) diff --git a/arbeitskacheln/00_index.md b/arbeitskacheln/00_index.md index 77b7d65..2174f80 100644 --- a/arbeitskacheln/00_index.md +++ b/arbeitskacheln/00_index.md @@ -83,9 +83,10 @@ Kachel-Template und Nutzer-Vorgaben zur Methodik: siehe Memory | ASSET-006 | Assets | Asset-Bewegungshistorie | P1 | S | LOW | ASSET-003, WH-001 | | ASSET-007 | Assets | AssetSet | P2 | M | MEDIUM | ASSET-003 | | ASSET-008 | Assets | Consumable | P1 | M | MEDIUM | ASSET-002 | +| ASSET-009 | Assets | Nutzungszähler (Kilometer/Betriebsstunden generisch) | P1 | S | LOW | ASSET-003 | | FLEET-001 | Fleet | Fahrzeugtypen | P1 | XS | LOW | ASSET-002 | | FLEET-002 | Fleet | Fahrzeuge (Kennzeichen/Funkrufname) | P1 | S | LOW | ASSET-003, FLEET-001 | -| FLEET-003 | Fleet | Kilometer/Betriebsstunden | P1 | XS | LOW | FLEET-002 | +| FLEET-003 | Fleet | Kilometerstand (Anwendung von ASSET-009) | P1 | XS | LOW | FLEET-002, ASSET-009 | | FLEET-004 | Fleet | Fahrzeugstatus (5-stufig) | P1 | S | LOW | FLEET-002, READY-002 | | FLEET-005 | Fleet | Fahrzeug-Dokumente | P2 | XS | LOW | FLEET-002, DOC-001 | | FLEET-006 | Fleet | Fahrzeug-Einsatzhistorie (Platzhalter) | P3 | S | MEDIUM | FLEET-002, OPS-002 | @@ -116,7 +117,7 @@ Kachel-Template und Nutzer-Vorgaben zur Methodik: siehe Memory | INSP-005 | Inspections | Prüfdokument-Anbindung | P2 | XS | LOW | INSP-003, DOC-001 | | INSP-006 | Inspections | Prüftermin-Übersicht | P1 | S | LOW | INSP-004 | | MAINT-001 | Maintenance | Wartungspläne | P2 | S | LOW | ASSET-002 | -| MAINT-002 | Maintenance | Wartungsintervalle | P2 | S | MEDIUM | MAINT-001 | +| MAINT-002 | Maintenance | Wartungsintervalle | P2 | S | MEDIUM | MAINT-001, ASSET-009 | | MAINT-003 | Maintenance | Wartungsauftrag | P2 | M | MEDIUM | MAINT-002 | | MAINT-004 | Maintenance | Wartungshistorie | P2 | S | LOW | MAINT-003, FOUND-006 | | MAINT-005 | Maintenance | Ersatzteile/Kosten | P3 | M | MEDIUM | MAINT-003 | @@ -208,7 +209,7 @@ eigenes Modul (MAINT-\*, MABEA hat nur Prüfung, keine Wartung)**. | `01_foundation.md` | FOUND-001 … FOUND-006 | | `02_identity.md` | IDENT-001, 002, 004, 005 … 010 | | `03_digital_file.md` | FILE-001 … FILE-007 (vollständig) | -| `04_assets.md` | ASSET-001 … ASSET-008 (vollständig) | +| `04_assets.md` | ASSET-001 … ASSET-009 (vollständig, ASSET-009 nachträglich ergänzt) | | `05_fleet.md` | FLEET-001 … FLEET-006 (vollständig) | | `06_inventory.md` | INV-001 … INV-004 | diff --git a/arbeitskacheln/04_assets.md b/arbeitskacheln/04_assets.md index 0cc7171..0301f9f 100644 --- a/arbeitskacheln/04_assets.md +++ b/arbeitskacheln/04_assets.md @@ -169,6 +169,39 @@ Details zu ASSET-001 … ASSET-008 (vollständig). - **Tests:** Abgrenzungstest. - **DoD:** Grundlage für INV-003 gelegt. +## ASSET-009 — Nutzungszähler (Kilometer/Betriebsstunden generisch) + +- **Nachtrag (Nutzer-Fund):** ursprünglich fälschlich als FLEET-003 fahrzeug-gebunden + geplant. Betriebsstunden brauchen aber auch Stromerzeuger, Pumpen und andere Geräte + (explizit in der Ursprungs-Anforderung Modul 14 „Wartung": „kilometerabhängige UND + betriebsstundenabhängige Wartung" — nicht auf Fahrzeuge beschränkt). Generischer + Nutzungszähler gehört daher ins Assets-Epic, nicht ins Fleet-Epic. +- **Ziel:** Nutzungsgrad JEDES Assets erfassen, das einen Zähler hat (Kilometer ODER + Betriebsstunden ODER beides) — Basis für zähler-abhängige Wartungsintervalle (MAINT-002). +- **Beschreibung:** generisches Zählerfeld je Asset (Typ: km/Betriebsstunden/keins), + Erfassungsverlauf (nicht nur aktueller Wert, sondern Verlauf der Meldungen). +- **Benutzerwert:** Fahrzeuge (km), aber auch Stromerzeuger/Pumpen/Kompressoren + (Betriebsstunden) bekommen dieselbe Wartungslogik, ohne dass jedes Modul sein eigenes + Zählerfeld neu erfindet. +- **Abhängigkeiten:** ASSET-003 +- **Datenmodell:** `asset.zaehler_typ` (enum: keiner/kilometer/betriebsstunden), + `asset.zaehlerstand` (aktuell), optional `zaehlerstand_historie` +- **Backend:** Update-Endpoint mit Plausibilitätsprüfung (nur steigend, Override nur + Administrator) +- **Frontend:** Eingabefeld bei Kontrolle/Rückkehr bzw. nach Nutzung +- **Mobile:** Eingabe im Feld +- **QR-Code/Seriennummer/Inventarnummer:** nein +- **Akte:** Stammdatenbereich +- **Rechte:** jeder Nutzer darf melden, Korrektur nur Administrator +- **Audit:** Änderung geloggt +- **Akzeptanzkriterien:** Wert kann nur steigen (Validierung gegen Rückwärtslauf, außer + Admin-Override); funktioniert gleichermaßen für ein Fahrzeug (km) und ein Gerät + (Betriebsstunden). +- **Tests:** Validierungstest je Zählertyp, Test mit einem Nicht-Fahrzeug-Asset + (z.B. Stromerzeuger). +- **DoD:** mind. ein Fahrzeug UND ein Gerät (z.B. Stromerzeuger) nutzen denselben + Mechanismus nachweisbar. + --- **MABEA-Ist-Stand-Abgleich:** ASSET-001…004 entsprechen `Bereich`/`Kategorie`, @@ -177,4 +210,8 @@ Fahrzeug-Status als Beispiel für ASSET-004-Erweiterung. ASSET-005 (Suche/Filter in ObjektListPage/ObjektSection. ASSET-006 (Bewegungshistorie) vorhanden als `Lagerbewegung` (diente hier sogar als Vorbild). **ASSET-007 (AssetSet) und ASSET-008 (Consumable als eigenständiges Konzept) fehlen** — echte Lücken, wie schon in der -Gap-Analyse vorher notiert. +Gap-Analyse vorher notiert. **ASSET-009 (generischer Nutzungszähler) fehlt ebenfalls:** +MABEA hat Kilometerstand/Betriebsstunden nur an `fahrzeugdetails` (1:1 zu Objekt mit +`ist_zugfahrzeug`), Geräte wie Stromerzeuger/Pumpen (`GeraetInstanz`) haben aktuell KEIN +Betriebsstunden-Feld — echte Lücke, wenn Wartung künftig betriebsstundenabhängig geplant +werden soll (MAINT-002, Wartungs-Epic in MABEA ohnehin noch komplett offen). diff --git a/arbeitskacheln/05_fleet.md b/arbeitskacheln/05_fleet.md index b92b09f..74023a8 100644 --- a/arbeitskacheln/05_fleet.md +++ b/arbeitskacheln/05_fleet.md @@ -46,28 +46,30 @@ Details zu FLEET-001 … FLEET-006 (vollständig). - **DoD:** deckt sich mit MABEA `fahrzeugdetails` (bereits umgesetzt, diente hier als Vorbild). -## FLEET-003 — Kilometerstand/Betriebsstunden +## FLEET-003 — Kilometerstand (Fahrzeug-Anwendung von ASSET-009) -- **Ziel:** Nutzungsgrad des Fahrzeugs erfassen (Basis für km-/std-abhängige - Wartungsintervalle, MAINT-002). -- **Beschreibung:** Felder + Erfassungsverlauf (nicht nur aktueller Wert, sondern Verlauf - der Meldungen). -- **Benutzerwert:** Grundlage für Wartungsplanung. -- **Abhängigkeiten:** FLEET-002 -- **Datenmodell:** `fahrzeugdetails.kilometerstand`/`betriebsstunden` (aktuell) + - optional `km_stand_historie` -- **Backend:** Update-Endpoint mit Plausibilitätsprüfung -- **Frontend:** Eingabefeld bei Kontrolle/Rückkehr +- **Korrektur (Nutzer-Fund):** ursprünglich hier fälschlich als fahrzeug-eigenes + Datenmodell geplant. Betriebsstunden brauchen auch Nicht-Fahrzeuge (Stromerzeuger, + Pumpen) — der generische Zähler-Mechanismus ist jetzt **ASSET-009**. Diese Kachel ist + nur noch die Fahrzeug-spezifische Anwendung davon (Zählertyp=kilometer, UI-Einbindung in + die Fahrzeug-Akte). +- **Ziel:** Kilometerstand des Fahrzeugs im Kontroll-/Rückkehr-Ablauf erfassbar machen. +- **Beschreibung:** Fahrzeug nutzt ASSET-009 mit `zaehler_typ=kilometer`, kein eigenes + Feld/Endpoint mehr nötig. +- **Benutzerwert:** Grundlage für kilometerabhängige Wartungsplanung (MAINT-002). +- **Abhängigkeiten:** FLEET-002, **ASSET-009** +- **Datenmodell:** keins zusätzlich (nutzt ASSET-009) +- **Backend:** keins zusätzlich +- **Frontend:** Eingabefeld bei Kontrolle/Rückkehr, eingebettet in Fahrzeug-Akte - **Mobile:** Eingabe im Feld (nach Fahrt) - **QR-Code/Seriennummer/Inventarnummer:** nein - **Akte:** Stammdatenbereich -- **Rechte:** jeder Fahrzeugnutzer darf melden (breiter als reine Materialwart-Rechte), - Korrektur nur Administrator -- **Audit:** Änderung geloggt -- **Akzeptanzkriterien:** Wert kann nur steigen (Validierung gegen Rückwärtslauf, außer - Admin-Korrektur-Override). -- **Tests:** Validierungstest (Rückwärtslauf abgelehnt, Override funktioniert). -- **DoD:** funktioniert, Validierung greift nachweisbar. +- **Rechte:** wie ASSET-009 +- **Audit:** wie ASSET-009 +- **Akzeptanzkriterien:** Kilometerstand-Eingabe am Fahrzeug nutzt denselben validierten + Mechanismus wie ein Betriebsstunden-Gerät. +- **Tests:** Integrationstest (Fahrzeug als Anwendungsfall von ASSET-009). +- **DoD:** funktioniert, keine Fahrzeug-spezifische Sonderlogik mehr nötig. ## FLEET-004 — Fahrzeugstatus (5-stufig) @@ -128,9 +130,13 @@ Details zu FLEET-001 … FLEET-006 (vollständig). --- -**MABEA-Ist-Stand-Abgleich:** FLEET-001…005 sind praktisch 1:1 in MABEA vorhanden +**MABEA-Ist-Stand-Abgleich:** FLEET-001/002/004/005 sind praktisch 1:1 in MABEA vorhanden (Objekttyp mit `ist_zugfahrzeug`, `fahrzeugdetails`-Tabelle, 5-stufiger `ObjektStatus`, -generisches DokumentePanel). Einzige offene Lücke: FLEET-003s Plausibilitätsprüfung -(„Kilometerstand darf nicht sinken") ist in MABEA **nicht** validiert — reiner -Zahlen-Input ohne Rückwärtslauf-Schutz. Kleine, konkrete Nachbesserung, keine neue Kachel -nötig. FLEET-006 ist in MABEA (noch) nicht relevant, da kein Operations-Epic existiert. +generisches DokumentePanel). **FLEET-003/ASSET-009 zeigen eine echte Lücke:** MABEA führt +Kilometerstand/Betriebsstunden NUR an `fahrzeugdetails` (fahrzeug-gebunden), es gibt keinen +generischen Zähler-Mechanismus für Geräte wie Stromerzeuger/Pumpen (`GeraetInstanz` hat kein +Betriebsstunden-Feld) — und selbst der Fahrzeug-Kilometerstand hat **keine +Rückwärtslauf-Validierung** (reiner Zahlen-Input). Beides zusammen: ASSET-009 wäre in MABEA +kein reiner Nachzug, sondern verlangt (a) ein neues generisches Zählerfeld an Objekt/ +GeraetInstanz und (b) eine bisher fehlende Validierungsregel. FLEET-006 ist in MABEA (noch) +nicht relevant, da kein Operations-Epic existiert.