fix(tours): Tagesumschlag nach Ortszeit statt UTC

'Heute' wurde per Utc::now().date_naive() bestimmt. Bei CEST (UTC+2)
wechselte der Tag dadurch erst um 02:00 Ortszeit — der Fahrer sah nach
Mitternacht noch die Touren von gestern. Umgestellt auf Local::now() in
list_my_tours_today sowie den Import-/Resync-Defaults und dem
Scheduler-Catch-up.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dennis Nemec
2026-07-11 00:10:53 +02:00
parent f4f534463d
commit a30f2778fd
4 changed files with 11 additions and 6 deletions

View File

@ -1,6 +1,6 @@
use std::sync::Arc;
use chrono::{NaiveDate, Utc};
use chrono::{Local, NaiveDate};
use crate::dto::TourSummary;
use crate::error::ApplicationError;
@ -27,9 +27,14 @@ impl ListMyToursTodayUseCase {
}
pub async fn execute(&self, personalnummer: i64) -> Result<Vec<TourSummary>, ApplicationError> {
// Bewusst Local statt Utc: der Tagesumschlag muss sich nach der
// Ortszeit des Fahrers richten. Mit Utc wechselt "heute" erst um
// 02:00 Ortszeit (CEST = UTC+2) — bis dahin sähe der Fahrer nach
// Mitternacht noch die Touren von gestern. Der Server läuft in
// Europe/Vienna, daher ist Local hier korrekt.
let today = self
.today_override
.unwrap_or_else(|| Utc::now().date_naive());
.unwrap_or_else(|| Local::now().date_naive());
self.repository
.find_today_for_driver(personalnummer, today)
.await