Neue Tabelle fahrzeugdetails (1:1 zu Objekt, additiv/optional): Kennzeichen, Funkrufname, Baujahr, Kilometerstand, Betriebsstunden, nächste HU/UVV. objekt_status um 'in_wartung' erweitert (Nutzer-Vorgabe: einsatzbereit/ eingeschränkt/nicht einsatzbereit/in Wartung/außer Dienst - die ersten drei bleiben weiterhin rein rechnerisch über dashboard.einsatzbereitschaft(), in_wartung/ausser_dienst sind die beiden manuell gesetzten Zustände). dashboard.einsatzbereitschaft(): ausser_dienst-Objekte zählen nicht mehr mit, in_wartung und überfällige HU/UVV sind neue Gründe für "nicht einsatzbereit". dashboard.bevorstehende_prueftermine() (Kachel 2) zeigt jetzt Geräte- UND Fahrzeugprüfungen (HU/UVV) in einer Liste (Nutzer-Vorgabe: ein Konzept für "welche Prüfungen bald fällig sind") - Schema dafür verallgemeinert (typ/bezeichnung/faelligkeitsdatum statt geräte-spezifischer Felder). Frontend: Status-Dropdown + Fahrzeugdetails-Formular in ObjektSection (nur für Objekttypen mit ist_zugfahrzeug=True), Dashboard-Kachel 2 zeigt gemischte Liste. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD
55 lines
1.4 KiB
Python
55 lines
1.4 KiB
Python
import uuid
|
|
from datetime import date
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class KennzahlenRead(BaseModel):
|
|
anzahl_offener_fehlbestaende: int
|
|
anzahl_genehmigter_mindermengen: int
|
|
anzahl_kuerzlich_erledigter_fehlbestaende: int
|
|
anzahl_bevorstehender_ablaufdaten: int
|
|
anzahl_problematischer_objekte: int
|
|
anzahl_objekte_gesamt: int
|
|
|
|
|
|
class AblaufdatumRead(BaseModel):
|
|
objekt_id: int
|
|
material_id: int
|
|
ablaufdatum: date
|
|
verbleibende_tage: int
|
|
status: str
|
|
|
|
|
|
class ObjektMangelRead(BaseModel):
|
|
objekt_id: int
|
|
code: str
|
|
name: str
|
|
gruende: list[str]
|
|
|
|
|
|
class EinsatzbereitschaftRead(BaseModel):
|
|
einsatzbereit: int
|
|
eingeschraenkt_einsatzbereit: int
|
|
nicht_einsatzbereit: int
|
|
gesamt: int
|
|
details: list[ObjektMangelRead]
|
|
|
|
|
|
class PrueftermineintragRead(BaseModel):
|
|
"""typ='geraet' (Karte 14) oder 'fahrzeug_hu'/'fahrzeug_uvv' (Roadmap Phase
|
|
3, Modul Fahrzeuge) - eine Kachel für beide (Nutzer-Vorgabe: "welche
|
|
Prüfungen bald fällig sind" ist ein Konzept). Die geraet-spezifischen
|
|
Felder sind bei Fahrzeug-Einträgen None."""
|
|
|
|
typ: str
|
|
objekt_id: int
|
|
bezeichnung: str
|
|
faelligkeitsdatum: date
|
|
verbleibende_tage: int
|
|
status: str
|
|
geraet_instanz_id: uuid.UUID | None = None
|
|
objektposition_id: uuid.UUID | None = None
|
|
material_id: int | None = None
|
|
seriennummer: str | None = None
|