Neues Wartungskonzept: Wartungsplan+Position+Intervall (zeit/km/ Betriebsstunden, kombinierbar - fällig sobald ein Kriterium erreicht ist), Wartungsauftrag mit intern/externer Werkstatt, Status offen/ in_arbeit/erledigt, Kosten, Historie, Dokument-Anhang. Ad-hoc-Aufträge ohne Plan möglich (z.B. kleinere Reparatur). Admin-Tab "Wartungspläne". Objektakte-Redesign (Epic 21, Nutzer-Feedback "wirkt nicht modern"): CSS-Grid statt Karten-Stapel, einspaltig mobil, zweispaltig ab 900px; Fahrzeug-Objekte zeigen Wartung/Fahrzeugdaten prominent, Geräte/ Rucksäcke die Beladung. Dabei gefundene Lücke: Beladung (Soll/Ist je Position) fehlte in der Akte komplett, nur über eine laufende Kontrolle sichtbar - jetzt eigene Karte. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
import uuid
|
|
from datetime import 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
|
|
|
|
|
|
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]
|