Explizite Vorgabe: keine wachsenden Monolith-Dateien. AdminPage.tsx (349
Zeilen) in pages/admin/{Standort,Material,Objekt}Section.tsx aufgeteilt,
KontrollPage.tsx (277 Zeilen) in pages/kontrolle/{useKontrolle,
PositionCard,StatusBadge,types} aufgeteilt, services/kontrolle.py (332
Zeilen) in ein Package (lifecycle/erfassung/exceptions) aufgeteilt -
öffentliche API bleibt über __init__.py unverändert re-exportiert, kein
bestehender Import musste angepasst werden. Reines Refactoring, keine
Verhaltensänderung.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L85hmKbvX7Cqkq47KnQhFt
31 lines
894 B
Python
31 lines
894 B
Python
"""Kontroll-Domänenlogik (Prompt 02.3/09/16), aufgeteilt in Module:
|
|
|
|
- exceptions: ObjektGesperrtError/UnvollstaendigError
|
|
- lifecycle: Start/Übernahme/Abschluss/Abbruch, Mindermenge-Ablauf (U6)
|
|
- erfassung: Position erfassen + Fehlbestand-Synchronisierung
|
|
|
|
Öffentliche API bleibt hier re-exportiert, damit bestehender Code
|
|
(`from app.services.kontrolle import starte_kontrolle`) unverändert funktioniert.
|
|
"""
|
|
|
|
from .erfassung import erfasse_position
|
|
from .exceptions import ObjektGesperrtError, UnvollstaendigError
|
|
from .lifecycle import (
|
|
abbreche_kontrolle,
|
|
abschliesse_kontrolle,
|
|
aktive_kontrolle,
|
|
fehlende_material_ids,
|
|
starte_kontrolle,
|
|
)
|
|
|
|
__all__ = [
|
|
"ObjektGesperrtError",
|
|
"UnvollstaendigError",
|
|
"abbreche_kontrolle",
|
|
"abschliesse_kontrolle",
|
|
"aktive_kontrolle",
|
|
"erfasse_position",
|
|
"fehlende_material_ids",
|
|
"starte_kontrolle",
|
|
]
|