diff --git a/backend/app/schemas/dashboard.py b/backend/app/schemas/dashboard.py index ad50041..c5c37ec 100644 --- a/backend/app/schemas/dashboard.py +++ b/backend/app/schemas/dashboard.py @@ -15,7 +15,9 @@ class KennzahlenRead(BaseModel): class AblaufdatumRead(BaseModel): objekt_id: int + objekt_name: str material_id: int + material_name: str ablaufdatum: date verbleibende_tage: int status: str diff --git a/backend/app/services/dashboard.py b/backend/app/services/dashboard.py index 77489e7..d179f44 100644 --- a/backend/app/services/dashboard.py +++ b/backend/app/services/dashboard.py @@ -75,12 +75,13 @@ async def bevorstehende_ablaufdaten(db: AsyncSession) -> list[dict]: aufsteigend (dringendste zuerst). "gueltig" gehört nicht in diese Liste.""" heute = datetime.now(timezone.utc).date() result = await db.execute( - select(Objektposition, Material) + select(Objektposition, Material, Objekt) .join(Material, Objektposition.material_id == Material.id) + .join(Objekt, Objektposition.objekt_id == Objekt.id) .where(Objektposition.ablaufdatum.is_not(None)) ) eintraege = [] - for objektposition, material in result.all(): + for objektposition, material, objekt in result.all(): warnzeitraum = material.warnzeitraum_tage or STANDARD_WARNZEITRAUM_TAGE status_wert, verbleibende_tage = _ablauf_status(objektposition.ablaufdatum, warnzeitraum, heute) if status_wert == "gueltig": @@ -88,7 +89,9 @@ async def bevorstehende_ablaufdaten(db: AsyncSession) -> list[dict]: eintraege.append( { "objekt_id": objektposition.objekt_id, + "objekt_name": objekt.name, "material_id": objektposition.material_id, + "material_name": material.name, "ablaufdatum": objektposition.ablaufdatum, "verbleibende_tage": verbleibende_tage, "status": status_wert, diff --git a/frontend/src/pages/DashboardPage.tsx b/frontend/src/pages/DashboardPage.tsx index 4374bf5..0a42803 100644 --- a/frontend/src/pages/DashboardPage.tsx +++ b/frontend/src/pages/DashboardPage.tsx @@ -58,7 +58,9 @@ interface Prueftermineintrag { interface Ablaufdatumeintrag { objekt_id: number; + objekt_name: string; material_id: number; + material_name: string; ablaufdatum: string; verbleibende_tage: number; status: string; @@ -237,7 +239,7 @@ export function DashboardPage() { {ablaufdaten.map((a) => (