from datetime import date from decimal import Decimal from sqlalchemy import Date, ForeignKey, Integer, Numeric, String from sqlalchemy.orm import Mapped, mapped_column from app.db.base import Base class Fahrzeugdetails(Base): """Roadmap Phase 3 (Modul "Fahrzeuge"): optionale 1:1-Erweiterung zu Objekt für Fahrzeug-Spezialfelder. Objekt bleibt generisch (Karte 11) - nicht jedes Objekt braucht das, daher eigene Tabelle statt Spalten direkt an Objekt.""" __tablename__ = "fahrzeugdetails" objekt_id: Mapped[int] = mapped_column(ForeignKey("objekt.id"), primary_key=True) kennzeichen: Mapped[str | None] = mapped_column(String) funkrufname: Mapped[str | None] = mapped_column(String) # BOS-Digitalfunk-Kennung (z.B. OPTA-Nummer) - eigenes Feld, nicht dasselbe wie # funkrufname (gesprochener Rufname vs. formale Funk-Identifikationsnummer). funkkenner: Mapped[str | None] = mapped_column(String) baujahr: Mapped[int | None] = mapped_column(Integer) kilometerstand: Mapped[int | None] = mapped_column(Integer) betriebsstunden: Mapped[Decimal | None] = mapped_column(Numeric) naechste_hu: Mapped[date | None] = mapped_column(Date) naechste_uvv: Mapped[date | None] = mapped_column(Date)