diff --git a/src/worker/sql.rs b/src/worker/sql.rs index 90546a0..cd325a7 100644 --- a/src/worker/sql.rs +++ b/src/worker/sql.rs @@ -206,8 +206,12 @@ DELETE FROM falukant_data.inventory WHERE id = $1; "#; pub const QUERY_ADD_SELL_LOG: &str = r#" -INSERT INTO falukant_log.sell (region_id, product_id, quantity, seller_id) VALUES ($1, $2, $3, $4) -ON CONFLICT (region_id, product_id, seller_id) DO UPDATE SET quantity = falukant_log.sell.quantity + EXCLUDED.quantity; +INSERT INTO falukant_log.sell (region_id, product_id, quantity, seller_id, sell_timestamp) +VALUES ($1, $2, $3, $4, NOW()) +ON CONFLICT (region_id, product_id, seller_id) +DO UPDATE SET + quantity = falukant_log.sell.quantity + EXCLUDED.quantity, + sell_timestamp = COALESCE(EXCLUDED.sell_timestamp, NOW()); "#; pub const QUERY_GET_ARRIVED_TRANSPORTS: &str = r#" SELECT diff --git a/src/worker/transport.rs b/src/worker/transport.rs index a38d507..e0b7e70 100644 --- a/src/worker/transport.rs +++ b/src/worker/transport.rs @@ -75,14 +75,10 @@ impl TransportWorker { } for t in transports { - eprintln!( - "[TransportWorker] Verarbeite Transport {} (vehicle_id={}, product_id={:?}, size={})", - t.id, t.vehicle_id, t.product_id, t.size - ); if let Err(err) = Self::handle_arrived_transport(pool, broker, &t) { eprintln!( - "[TransportWorker] Fehler beim Verarbeiten von Transport {}: {err}", - t.id + "[TransportWorker] Fehler beim Verarbeiten von Transport {} (vehicle_id={}, product_id={:?}, size={}): {}", + t.id, t.vehicle_id, t.product_id, t.size, err ); } } @@ -247,6 +243,13 @@ impl TransportWorker { ); broker.publish(target_inventory_message); } + } else { + // Nichts konnte eingelagert werden - Transport bleibt unverändert + // Logge dies, damit wir sehen, dass der Transport wartet + eprintln!( + "[TransportWorker] Transport {} wartet: Kein Lagerplatz verfügbar (branch_id={}, product_id={}, size={})", + t.id, t.target_branch_id, product_id, t.size + ); } // Keine Notification für wartende Transporte, um Notification-System zu entlasten.