Ablauf/Charge/SN gehören zur Kontroll-Erfassung, nicht nur zur Admin-Pflege
CI / backend-tests (push) Successful in 54s
CI / frontend-build (push) Successful in 18s

Nutzer-Vorgabe: "Ablauf/Charge/SN gehört mit zu den Kontrollen wie auch die
Menge". PUT .../positionen/{material_id} akzeptiert jetzt optional
ablaufdatum/chargennummer/seriennummer und schreibt sie auf die
Objektposition (Vier-Kernbegriffe bleiben unberührt: nur diese drei Felder,
niemals istmenge - das bleibt exklusiv Nachfüllung vorbehalten). Offline-
Queue und PositionCard erweitert: Felder erscheinen nur passend zum
Materialtyp (ablauf_charge -> Datum+Charge, geraet_sn -> SN). Admin-Panel
(ObjektPositionenPanel) bleibt zusätzlich für nachträgliche Korrekturen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L85hmKbvX7Cqkq47KnQhFt
This commit is contained in:
2026-09-04 01:11:17 +02:00
co-authored by Claude Sonnet 5
parent a6e68b0a94
commit 0988f8d026
8 changed files with 138 additions and 18 deletions
+9 -1
View File
@@ -1,5 +1,5 @@
import uuid
from datetime import datetime
from datetime import date, datetime
from decimal import Decimal
from pydantic import BaseModel, ConfigDict
@@ -24,6 +24,14 @@ class KontrolleRead(BaseModel):
class KontrollpositionInput(BaseModel):
istmenge: Decimal
# Nutzer-Vorgabe: Ablauf/Charge/SN gehören zur Erfassung während der
# Kontrolle dazu, wie die Menge - werden hier optional mitgegeben und auf
# der Objektposition gespeichert (Vier-Kernbegriffe bleiben unberührt:
# nur Objektposition.istmenge darf ausschließlich Nachfüllung ändern,
# diese drei Felder sind unabhängig davon).
ablaufdatum: date | None = None
chargennummer: str | None = None
seriennummer: str | None = None
class KontrollpositionRead(BaseModel):