Bevorstehende Ablaufdaten waren nur im Dashboard und als Einsatzbereitschafts-Grund sichtbar, nicht direkt an der jeweiligen Beladungsposition in der Akte. Neue Spalte "Ablauf", rot bei überfälligem, gelb bei <30 Tagen verbleibender Zeit. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
import uuid
|
|
from datetime import date, datetime
|
|
from decimal import Decimal
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
from app.schemas.dokument import DokumentRead
|
|
from app.schemas.geraet_instanz import GeraetInstanzRead
|
|
from app.schemas.historie import HistorieRead
|
|
from app.schemas.mangel import MangelRead
|
|
from app.schemas.objekt import FahrzeugdetailsRead, ObjektRead
|
|
from app.schemas.zustaendigkeit import KontrollverantwortungRead
|
|
|
|
|
|
class ZustaendigerBenutzer(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
id: int
|
|
name: str
|
|
quelle: str # "standort" oder "objekt" (Vereinigungslogik Karte 04)
|
|
|
|
|
|
class BeladungsPosition(BaseModel):
|
|
objektposition_id: uuid.UUID
|
|
material_id: int
|
|
material_name: str
|
|
einheit: str
|
|
fach: str | None
|
|
sollmenge: Decimal
|
|
istmenge: Decimal
|
|
ablaufdatum: date | None
|
|
|
|
|
|
class AkteRead(BaseModel):
|
|
"""FILE-001..006: gebündelte Aggregations-Sicht über alle bereits existierenden
|
|
Teilbereiche einer Ressource (aktuell nur Objekttyp "objekt" - Prompt 24/Backlog-
|
|
Roadmap sieht perspektivisch weitere Ressourcentypen vor, siehe arbeitskacheln/
|
|
03_digital_file.md)."""
|
|
|
|
objekt: ObjektRead
|
|
einsatzbereitschaft_status: str
|
|
einsatzbereitschaft_gruende: list[str]
|
|
objekttyp_name: str
|
|
standort_name: str
|
|
fahrzeugdetails: FahrzeugdetailsRead | None
|
|
zustaendige_benutzer: list[ZustaendigerBenutzer]
|
|
kontrollverantwortung: list[KontrollverantwortungRead]
|
|
letzte_kontrolle_am: datetime | None
|
|
historie: list[HistorieRead]
|
|
dokumente: list[DokumentRead]
|
|
geraete: list[GeraetInstanzRead]
|
|
maengel: list[MangelRead]
|
|
beladung: list[BeladungsPosition]
|