Files
MABEA/arbeitskacheln/08_loadout.md
T
patrickandClaude Sonnet 5 f7070c5c95
CI / backend-tests (push) Failing after 1m54s
CI / frontend-build (push) Successful in 17s
docs: Loadout-Epic komplettiert (LOAD-001..006)
Am weitesten ausgereiftes Epic im Backlog - Beladungsvorlage/-versionierung,
Kontroll-Flow inkl. Sperre/Sofort-Nachfüllung/Signatur, letzte-Kontrolle-
Anzeige, Readiness-Kopplung sind in MABEA alle bereits produktiv. Keine
offenen Lücken.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD
2026-09-05 15:29:53 +02:00

148 lines
6.7 KiB
Markdown

# 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.