diff --git a/arbeitskacheln/00_index.md b/arbeitskacheln/00_index.md index 90dee20..c751d80 100644 --- a/arbeitskacheln/00_index.md +++ b/arbeitskacheln/00_index.md @@ -213,6 +213,7 @@ eigenes Modul (MAINT-\*, MABEA hat nur Prüfung, keine Wartung)**. | `05_fleet.md` | FLEET-001 … FLEET-006 (vollständig) | | `06_inventory.md` | INV-001 … INV-007 (vollständig) | | `07_warehouse.md` | WH-001 … WH-007 (vollständig) | +| `08_loadout.md` | LOAD-001 … LOAD-006 (vollständig) | -Restliche Kacheln (LOAD, INSP, MAINT, DEFECT, PERS, READY, DOC, MOBILE, OPS): nur Zeile +Restliche Kacheln (INSP, MAINT, DEFECT, PERS, READY, DOC, MOBILE, OPS): nur Zeile in der Tabelle oben, Details folgen nach Freigabe. diff --git a/arbeitskacheln/08_loadout.md b/arbeitskacheln/08_loadout.md new file mode 100644 index 0000000..8b378d0 --- /dev/null +++ b/arbeitskacheln/08_loadout.md @@ -0,0 +1,147 @@ +# Epic 08 — Loadout + +Details zu LOAD-001 … LOAD-006 (vollständig). + +--- + +## LOAD-001 — Soll-Beladung/Beladungsplan + +- **Ziel:** Definierte Soll-Ausstattung je Fahrzeug-/Behälter-Typ. +- **Beschreibung:** Vorlage mit Materialpositionen+Sollmengen, je AssetType oder je + konkretem Asset. +- **Benutzerwert:** Referenz, gegen die Ist verglichen wird — Grundlage jeder + Beladungskontrolle. +- **Abhängigkeiten:** ASSET-003, INV-002/003 +- **Datenmodell:** `beladungsvorlage` (id, asset_type_id, version, status), + `vorlagenposition` (vorlage_id, material_id, sollmenge) +- **Backend:** CRUD Vorlage+Positionen, Versionierung +- **Frontend:** Vorlagen-Editor +- **Mobile:** Anzeige +- **QR-Code/Seriennummer/Inventarnummer:** nein +- **Akte:** Beladungsbereich +- **Rechte:** Materialwart/Administrator +- **Audit:** Änderung geloggt +- **Akzeptanzkriterien:** Vorlage mit mehreren Positionen anlegen, neue Version bricht + bestehende Fahrzeuge nicht. +- **Tests:** CRUD-Test, Versionierungstest. +- **DoD:** deckt sich mit MABEA `Beladungsvorlage`/`Vorlagenposition` (bereits umgesetzt, + inkl. Versionierung). + +## LOAD-002 — Ist-Beladung + +- **Ziel:** Aktuelle tatsächliche Materialzuordnung je Fahrzeug/Behälter. +- **Beschreibung:** Struktur analog Objektposition — welches Material mit welcher + Ist-Menge liegt gerade im Fahrzeug. +- **Benutzerwert:** Tatsächlicher Zustand, nicht nur Soll-Theorie. +- **Abhängigkeiten:** LOAD-001 +- **Datenmodell:** `objektposition` (objekt_id, material_id, istmenge, ...) +- **Backend:** CRUD +- **Frontend:** Positionen-Panel +- **Mobile:** Erfassung bei Kontrolle +- **QR-Code:** nein direkt +- **Seriennummer/Inventarnummer:** SN/Charge/Ablaufdatum je Position (Ausbau) +- **Akte:** Beladungsbereich +- **Rechte:** Mitarbeiter+ erfasst, Materialwart pflegt Struktur +- **Audit:** Änderung geloggt +- **Akzeptanzkriterien:** Ist-Menge je Position erfassbar/änderbar. +- **Tests:** CRUD-Test. +- **DoD:** deckt sich mit MABEA `Objektposition` (bereits umgesetzt). + +## LOAD-003 — Abweichungserkennung + +- **Ziel:** Automatisch erkennen, wenn Ist ≠ Soll. +- **Beschreibung:** Vergleich Soll (LOAD-001, ggf. Override) vs. Ist (LOAD-002), + Abweichungsflag. +- **Benutzerwert:** Kein manuelles Nachzählen von Soll/Ist nötig, Fehlbestand entsteht + automatisch (Kopplung zu INV-006). +- **Abhängigkeiten:** LOAD-002 +- **Datenmodell:** keins neu (berechnet aus vorhandenen Werten) +- **Backend:** Vergleichslogik, löst bei Abweichung Fehlbestand aus (INV-006) +- **Frontend:** Abweichungsanzeige (Warnsymbol/Farbe) +- **Mobile:** Anzeige bei Kontrolle +- **QR-Code/Seriennummer/Inventarnummer:** nein +- **Akte:** Beladungsbereich +- **Rechte:** wie Lese-Recht +- **Audit:** Fehlbestand-Entstehung wird über INV-006 geloggt +- **Akzeptanzkriterien:** Abweichung wird erkannt und korrekt markiert, exakte + Übereinstimmung erzeugt keinen Fehlbestand. +- **Tests:** Abweichungstest, Übereinstimmungstest. +- **DoD:** deckt sich mit MABEA (automatische Fehlbestand-Erzeugung bei + Kontroll-Abweichung, bereits umgesetzt). + +## LOAD-004 — Digitale Beladungskontrolle + +- **Ziel:** Strukturierter Ablauf, bei dem ein Helfer jede Position durchgeht und + bestätigt/korrigiert. +- **Beschreibung:** Kontroll-Vorgang mit Start/Ende, je Position Ist-Menge erfassen, am + Ende Abschluss (nur wenn vollständig). +- **Benutzerwert:** Nachvollziehbare, wiederholbare Prüfroutine statt Zuruf/Zettel. +- **Abhängigkeiten:** LOAD-003 +- **Datenmodell:** `kontrolle` (id, asset_id, benutzer_id, status, gestartet_am, + beendet_am), `kontrollposition` (kontrolle_id, material_id, sollmenge_snapshot, + istmenge_erfasst, abweichung) +- **Backend:** Start-/Erfassen-/Abschließen-Endpunkte, Sperre gegen Parallel-Kontrolle + desselben Assets +- **Frontend:** Kontroll-Flow-UI +- **Mobile:** zentraler mobiler Ablauf (siehe MOBILE-005) +- **QR-Code:** Scan startet/öffnet Kontrolle für das gescannte Asset +- **Seriennummer/Inventarnummer:** SN-Erfassung je Position möglich +- **Akte:** Beladungs- und Historienbereich +- **Rechte:** Mitarbeiter+ führt durch +- **Audit:** jede Kontrolle protokolliert (Wer/Wann/Ergebnis) +- **Akzeptanzkriterien:** Kontrolle kann nicht abgeschlossen werden, solange Positionen + fehlen; parallele Kontrolle desselben Assets wird verhindert. +- **Tests:** Vollständigkeits-Test, Sperr-Test. +- **DoD:** deckt sich 1:1 mit MABEA Kontroll-Flow — Kernstück des gesamten MABEA-Projekts, + sehr ausgereift (Sperre, Sofort-Nachfüllung, Signatur bereits vorhanden). + +## LOAD-005 — Kontrollhistorie + +- **Ziel:** Nachvollziehen, wann eine Beladungskontrolle mit welchem Ergebnis stattfand. +- **Beschreibung:** Liste vergangener Kontrollen je Asset, mit Ergebnis-Zusammenfassung. +- **Benutzerwert:** „Wann wurde zuletzt kontrolliert" ist Kernfrage im Alltag. +- **Abhängigkeiten:** LOAD-004, FOUND-006 +- **Datenmodell:** keins neu (Historie aus LOAD-004-Daten) +- **Backend:** Abfrage „letzte abgeschlossene Kontrolle je Asset" +- **Frontend:** Anzeige in Akte/Objektliste +- **Mobile:** Anzeige +- **QR-Code/Seriennummer/Inventarnummer:** nein +- **Akte:** Historienbereich +- **Rechte:** wie Lese-Recht +- **Audit:** zeigt Audit-relevante Daten +- **Akzeptanzkriterien:** letztes Kontrolldatum korrekt angezeigt, „noch nie kontrolliert" + für neue Assets. +- **Tests:** Test mit/ohne vorherige Kontrolle. +- **DoD:** deckt sich mit MABEA (`letzte_kontrolle_am`, in dieser Session als konkrete + Nutzerfrage gebaut). + +## LOAD-006 — Readiness-Kopplung + +- **Ziel:** Beladungsabweichung fließt in die Einsatzbereitschafts-Bewertung ein. +- **Beschreibung:** Offene Abweichung (aus LOAD-003/Fehlbestand) ist ein Eingabefaktor für + READY-003. +- **Benutzerwert:** Ein Fahrzeug mit fehlendem Material darf nicht als „einsatzbereit" + gelten. +- **Abhängigkeiten:** LOAD-003, READY-001 +- **Datenmodell:** keins neu +- **Backend:** Readiness-Regel liest offene Fehlbestände je Asset +- **Frontend:** Grund-Anzeige im Readiness-Dashboard +- **Mobile:** Anzeige +- **QR-Code/Seriennummer/Inventarnummer:** nein +- **Akte:** Readiness-Anzeige im Stammdatenbereich +- **Rechte:** wie Lese-Recht +- **Audit:** nein zusätzlich +- **Akzeptanzkriterien:** offene Abweichung erscheint als Grund in der + Readiness-Berechnung. +- **Tests:** Integrationstest. +- **DoD:** deckt sich mit MABEA (Fehlbestand ist bereits ein Grund in + `dashboard.einsatzbereitschaft()`). + +--- + +**MABEA-Ist-Stand-Abgleich:** Das komplette Loadout-Epic ist in MABEA vorhanden und **das +am weitesten ausgereifte Epic im ganzen Backlog** — Beladungsvorlage/-versionierung, +Objektposition, automatische Fehlbestand-Erkennung, der komplette Kontroll-Flow (inkl. +Sperre gegen Parallelkontrolle, Sofort-Nachfüllung während der Kontrolle, digitale +Signatur), letzte-Kontrolle-Anzeige und Readiness-Kopplung sind alle bereits produktiv im +Einsatz. Keine offenen Lücken in diesem Epic.