Enhance logging and vehicle checks in DirectorWorker: Added SQL queries to verify the existence of vehicles in the source region and routes between regions. Improved debug logging to provide insights into vehicle counts and route availability, enhancing traceability during transport planning operations.

This commit is contained in:
Torsten Schulz (local)
2025-12-03 16:54:22 +01:00
parent 66b19fbe7c
commit 940706bed3

View File

@@ -1152,6 +1152,56 @@ impl DirectorWorker {
source_region: i32, source_region: i32,
target_region: i32, target_region: i32,
) -> Result<Vec<TransportVehicle>, DbError> { ) -> Result<Vec<TransportVehicle>, DbError> {
// Debug: Prüfe zuerst, ob Fahrzeuge in der Quellregion existieren
const QUERY_COUNT_VEHICLES_IN_REGION: &str = r#"
SELECT COUNT(*) AS count
FROM falukant_data.vehicle v
WHERE v.falukant_user_id = $1
AND v.region_id = $2;
"#;
conn.prepare("count_vehicles_in_region", QUERY_COUNT_VEHICLES_IN_REGION)?;
let vehicle_count_rows = conn.execute(
"count_vehicles_in_region",
&[&falukant_user_id, &source_region],
)?;
let vehicle_count = vehicle_count_rows
.into_iter()
.next()
.and_then(|row| row.get("count").and_then(|v| v.parse::<i32>().ok()))
.unwrap_or(0);
eprintln!(
"[DirectorWorker] Fahrzeuge in Region {} für User {}: {}",
source_region, falukant_user_id, vehicle_count
);
// Debug: Prüfe, ob eine Route existiert
const QUERY_CHECK_ROUTE: &str = r#"
SELECT COUNT(*) AS count
FROM falukant_data.region_distance rd
WHERE (rd.source_region_id = $1 AND rd.target_region_id = $2)
OR (rd.source_region_id = $2 AND rd.target_region_id = $1);
"#;
conn.prepare("check_route", QUERY_CHECK_ROUTE)?;
let route_rows = conn.execute(
"check_route",
&[&source_region, &target_region],
)?;
let route_exists = route_rows
.into_iter()
.next()
.and_then(|row| row.get("count").and_then(|v| v.parse::<i32>().ok()))
.unwrap_or(0) > 0;
eprintln!(
"[DirectorWorker] Route von Region {} nach Region {} existiert: {}",
source_region, target_region, route_exists
);
conn.prepare( conn.prepare(
"get_transport_vehicles_for_route", "get_transport_vehicles_for_route",
QUERY_GET_TRANSPORT_VEHICLES_FOR_ROUTE, QUERY_GET_TRANSPORT_VEHICLES_FOR_ROUTE,
@@ -1177,6 +1227,11 @@ impl DirectorWorker {
} }
} }
eprintln!(
"[DirectorWorker] Gefundene Transportmittel für Route {} -> {}: {}",
source_region, target_region, result.len()
);
Ok(result) Ok(result)
} }