mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
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
This commit is contained in:
1 parent
44c8f05519
commit
d938db04ff
1 file changed
+12
-3
+12
-3
@@ -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<number>`COALESCE(SUM(CAST(${deliveries.quantity} as INTEGER)), 0)`,
|
||||
totalPackages: sql<number>`COALESCE(COUNT(*), 0)`,
|
||||
avgDelay: sql<number>`COALESCE(AVG(EXTRACT(DAY FROM (${deliveries.deliveredDate} - ${deliveries.scheduledDate}))), 0)`
|
||||
avgDelay: sql<number>`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,
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user