from datetime import datetime, timedelta from app.models import WorkSession from app.timezone import now REPORTING_EXPIRE_MINUTES = 15 REPORTING_EXPIRED_DETAIL = "报工填写已超过15分钟,请重新扫码点击重新报工" def is_reporting_expired(session: WorkSession, current_time: datetime | None = None) -> bool: if session.end_at is None: return False timestamp = current_time or now() return timestamp - session.end_at > timedelta(minutes=REPORTING_EXPIRE_MINUTES)