From 44c8f055194d28f60a0787f525e1350557f853cb Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 3 Sep 2025 14:43:49 +0000 Subject: [PATCH 1/2] Adjust Replit configuration to ensure proper startup Update .replit file to correctly specify the order of integrations. Replit-Commit-Author: Agent Replit-Commit-Session-Id: cfbfe47c-0c9a-4ebf-8a41-2937407eccff Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/cfbfe47c-0c9a-4ebf-8a41-2937407eccff/ECRh2Iu --- .replit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.replit b/.replit index baa3edd..22e8e1f 100644 --- a/.replit +++ b/.replit @@ -37,4 +37,4 @@ args = "npm run dev" waitForPort = 5000 [agent] -integrations = ["javascript_object_storage==1.0.0", "javascript_log_in_with_replit==1.0.0", "javascript_database==1.0.0"] +integrations = ["javascript_log_in_with_replit==1.0.0", "javascript_object_storage==1.0.0", "javascript_database==1.0.0"] From d938db04ff39cbdee203e6f769a525a04414871f Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Wed, 3 Sep 2025 14:46:31 +0000 Subject: [PATCH 2/2] Improve delivery time calculation to only include orders with linked deliveries Update the average delivery time calculation to consider only deliveries with an associated order, measuring the time between the order's planned date and the delivery date. Replit-Commit-Author: Agent Replit-Commit-Session-Id: cfbfe47c-0c9a-4ebf-8a41-2937407eccff Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/cfbfe47c-0c9a-4ebf-8a41-2937407eccff/ECRh2Iu --- server/storage.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/server/storage.ts b/server/storage.ts index 53b6ef6..678f646 100644 --- a/server/storage.ts +++ b/server/storage.ts @@ -1149,14 +1149,23 @@ export class DatabaseStorage implements IStorage { deliveredWhereCondition = and(deliveredWhereCondition, inArray(deliveries.groupId, groupIds)); } + // NOUVEAU: Calculer le délai moyen entre la date de commande et la date de livraison + // Uniquement pour les livraisons qui ont une commande liée const deliveriesStatsResult = await db .select({ totalPalettes: sql`COALESCE(SUM(CAST(${deliveries.quantity} as INTEGER)), 0)`, totalPackages: sql`COALESCE(COUNT(*), 0)`, - avgDelay: sql`COALESCE(AVG(EXTRACT(DAY FROM (${deliveries.deliveredDate} - ${deliveries.scheduledDate}))), 0)` + avgDelay: sql`COALESCE(AVG(EXTRACT(DAY FROM (${deliveries.deliveredDate} - ${orders.plannedDate}))), 0)` }) .from(deliveries) - .where(deliveredWhereCondition); + .innerJoin(orders, eq(deliveries.orderId, orders.id)) + .where( + and( + deliveredWhereCondition, + isNotNull(deliveries.orderId), // S'assurer qu'il y a une commande liée + isNotNull(orders.plannedDate) // S'assurer que la commande a une date + ) + ); const ordersCount = Number(ordersResult[0]?.count || 0); const deliveriesCount = Number(deliveriesResult[0]?.count || 0); @@ -1169,7 +1178,7 @@ export class DatabaseStorage implements IStorage { ordersCount, deliveriesCount, pendingOrdersCount, - averageDeliveryTime, + averageDeliveryTime: `${averageDeliveryTime} jours (commande → livraison, livraisons avec commande liée uniquement)`, totalPalettes, totalPackages, });