feat(akte): Ablaufdatum in der Beladung-Tabelle
CI / backend-tests (push) Failing after 2m6s
CI / frontend-build (push) Successful in 18s

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
This commit is contained in:
2026-09-06 23:48:31 +02:00
co-authored by Claude Sonnet 5
parent a18ec5bbce
commit cc016f09d3
5 changed files with 16 additions and 1 deletions
+2 -1
View File
@@ -1,5 +1,5 @@
import uuid
from datetime import datetime
from datetime import date, datetime
from decimal import Decimal
from pydantic import BaseModel, ConfigDict
@@ -27,6 +27,7 @@ class BeladungsPosition(BaseModel):
fach: str | None
sollmenge: Decimal
istmenge: Decimal
ablaufdatum: date | None
class AkteRead(BaseModel):
+1
View File
@@ -123,6 +123,7 @@ async def akte_fuer_objekt(db: AsyncSession, objekt_id: int) -> AkteRead | None:
if material.materialtyp == MaterialTyp.geraet_sn
else position.istmenge
),
ablaufdatum=position.ablaufdatum,
)
for position, material in beladung_result.all()
]
+1
View File
@@ -54,6 +54,7 @@ async def test_akte_buendelt_teilbereiche(client, db_session, objekt_mit_positio
assert body["beladung"][0]["material_id"] == _material.id
assert body["beladung"][0]["sollmenge"] == "10"
assert body["beladung"][0]["istmenge"] == "0"
assert body["beladung"][0]["ablaufdatum"] is None
@pytest.mark.asyncio