Files
MABEA/backend/app/schemas/lager.py
T
patrickandClaude Sonnet 5 b33d1c83a9
CI / backend-tests (push) Successful in 1m58s
CI / frontend-build (push) Successful in 18s
feat(warehouse): WH-005 Umlagerung zwischen Lagerplätzen
Atomare Aus+Ein-Buchung in einer Materialbewegung-Zeile statt zwei
Einzelschritten. NOTIF-001 war bereits produktiv umgesetzt, Backlog
war nur veraltet - korrigiert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
2026-09-06 09:36:19 +02:00

75 lines
1.5 KiB
Python

import uuid
from datetime import datetime
from decimal import Decimal
from pydantic import BaseModel, ConfigDict
from app.models.lager import LagerortTyp
class LagerortCreate(BaseModel):
name: str
parent_id: int | None = None
typ: LagerortTyp
class LagerortUpdate(BaseModel):
name: str | None = None
parent_id: int | None = None
typ: LagerortTyp | None = None
class LagerortRead(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
name: str
parent_id: int | None
typ: LagerortTyp
class LagerplatzCreate(BaseModel):
lagerort_id: int
code: str
bezeichnung: str | None = None
class LagerplatzRead(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
lagerort_id: int
code: str
bezeichnung: str | None
class BestandRead(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: uuid.UUID
lagerplatz_id: int
material_id: int
menge: Decimal
class EinAuslagernRequest(BaseModel):
material_id: int
menge: Decimal
grund: str | None = None
class UmlagernRequest(BaseModel):
nach_lagerplatz_id: int
material_id: int
menge: Decimal
grund: str | None = None
class MaterialbewegungRead(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: uuid.UUID
material_id: int
menge: Decimal
von_lagerplatz_id: int | None
nach_lagerplatz_id: int | None
benutzer_id: int
zeitpunkt: datetime
grund: str | None