Update monthly statistics to include only delivered items

Refine calculation in DatabaseStorage to filter deliveries by 'delivered' status and non-null deliveredDate for monthly statistics.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 7c468936-2a88-4686-ac0a-84921a45222d
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/7c468936-2a88-4686-ac0a-84921a45222d/8m96Erd
This commit is contained in:
michaelschal committed 2025-08-13 13:47:51 +00:00
1 parent 7fb037bf53
commit 5ecf79edf3
1 file changed
+8 -5
+8 -5
View File
@@ -651,7 +651,13 @@ export class DatabaseStorage implements IStorage {
.from(orders)
.where(pendingWhereCondition);
// Calculer les totaux de palettes et colis du mois
// Calculer les totaux de palettes et colis du mois (SEULEMENT livraisons delivered)
let deliveredWhereCondition = and(
deliveriesWhereCondition,
eq(deliveries.status, 'delivered'),
isNotNull(deliveries.deliveredDate)
);
const deliveriesStatsResult = await db
.select({
totalPalettes: sql<number>`COALESCE(SUM(CAST(${deliveries.quantity} as INTEGER)), 0)`,
@@ -659,10 +665,7 @@ export class DatabaseStorage implements IStorage {
avgDelay: sql<number>`COALESCE(AVG(EXTRACT(DAY FROM (${deliveries.deliveredDate} - ${deliveries.scheduledDate}))), 0)`
})
.from(deliveries)
.where(and(
deliveriesWhereCondition,
isNotNull(deliveries.deliveredDate)
));
.where(deliveredWhereCondition);
const ordersCount = Number(ordersResult[0]?.count || 0);
const deliveriesCount = Number(deliveriesResult[0]?.count || 0);