Files
MABEA/backend/app/models/__init__.py
T
patrickandClaude Sonnet 5 f7367f6df3
CI / backend-tests (push) Successful in 1m56s
CI / frontend-build (push) Successful in 18s
feat(lager): Warehouse-Epic Kern (WH-001..004+007)
Lagerort-Hierarchie (organisation/standort/gebaeude/raum/lager, self-referenzierend),
Lagerplätze mit eindeutigem Code, Bestand je Lagerplatz+Material, Ein-/Auslagerung
mit lückenlosem Materialbewegungsprotokoll (append-only, analog Lagerbewegung
auf Objekt-Ebene, hier aber Material-/Lagerplatz-fein).

- Migration 0019: 4 neue Tabellen (lagerort, lagerplatz, bestand, materialbewegung)
- Backend: CRUD Lagerort/Lagerplatz, Bestandsabfrage, Ein-/Auslagern-Endpunkte,
  Negativbestand vorab abgefangen (kein DB-Constraint-Exception-Pfad, gleiches
  Muster wie objekte.py-Fix vom 2026-09-05)
- Frontend: neuer Admin-Tab "Lager" (Lagerort/-platz-Verwaltung, Bestand+Buchung
  je Lagerplatz)
- 2 neue Tests, 139 Tests weiterhin grün

WH-005 (Umlagerung) und WH-006 (Inventur) bewusst zurückgestellt - Kern zuerst,
laut Nutzer-Entscheidung.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
2026-09-05 21:42:37 +02:00

82 lines
2.5 KiB
Python

from app.models.auth import Benutzer, BenutzerRolle, RolleTyp, Systemknoten, KnotenTyp
from app.models.dokument import Dokument
from app.models.eskalation import EskalationKonfiguration
from app.models.fahrzeugdetails import Fahrzeugdetails
from app.models.fehlbestand import Fehlbestand, FehlbestandStatus
from app.models.geraet_instanz import GeraetInstanz, GeraetStatus
from app.models.historie import Historie
from app.models.kontrolle import Kontrolle, KontrollStatus, Kontrollposition
from app.models.lager import Bestand, Lagerort, LagerortTyp, Lagerplatz, Materialbewegung
from app.models.lagerbewegung import Lagerbewegung
from app.models.mangel import Mangel, MangelPrioritaet, MangelStatus
from app.models.mindermenge import MindermengeStatus, MindermengenGenehmigung
from app.models.nachfuellung import Nachfuellung
from app.models.objekt import Objekt, ObjektStatus
from app.models.objektposition import Objektposition, ObjektpositionStatus
from app.models.permission import Berechtigung, BenutzerRolleZuordnung, Rolle, RolleBerechtigung
from app.models.personal import (
BenutzerQualifikation,
Einheit,
ObjekttypQualifikationsanforderung,
Qualifikationskategorie,
Qualifikationstyp,
)
from app.models.stammdaten import Bereich, Kategorie, Material, MaterialTyp, Objekttyp, Standort
from app.models.vorlage import Beladungsvorlage, VorlageStatus, Vorlagenposition
from app.models.zustaendigkeit import Kontrollverantwortung, Zustaendigkeit
__all__ = [
"Benutzer",
"BenutzerRolle",
"RolleTyp",
"Systemknoten",
"KnotenTyp",
"Dokument",
"EskalationKonfiguration",
"Fahrzeugdetails",
"Fehlbestand",
"FehlbestandStatus",
"GeraetInstanz",
"GeraetStatus",
"Historie",
"Kontrolle",
"KontrollStatus",
"Kontrollposition",
"Bestand",
"Lagerort",
"LagerortTyp",
"Lagerplatz",
"Materialbewegung",
"Lagerbewegung",
"Mangel",
"MangelPrioritaet",
"MangelStatus",
"MindermengeStatus",
"MindermengenGenehmigung",
"Nachfuellung",
"Objekt",
"ObjektStatus",
"Objektposition",
"ObjektpositionStatus",
"Berechtigung",
"BenutzerRolleZuordnung",
"Rolle",
"RolleBerechtigung",
"BenutzerQualifikation",
"Einheit",
"ObjekttypQualifikationsanforderung",
"Qualifikationskategorie",
"Qualifikationstyp",
"Bereich",
"Kategorie",
"Material",
"MaterialTyp",
"Objekttyp",
"Standort",
"Beladungsvorlage",
"VorlageStatus",
"Vorlagenposition",
"Kontrollverantwortung",
"Zustaendigkeit",
]