From 64cab3083486d2cd08303c0fd8ed0f2a65e64b6b Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Mon, 11 Aug 2025 21:26:32 +0000 Subject: [PATCH] Update statistics to count only delivered palettes and packages Modify SQL queries in DatabaseStorage to filter order and delivery counts, ensuring that only palettes and packages associated with delivered orders and deliveries are included in the statistics. This addresses an issue where counts were displaying incorrectly for delivered items. Replit-Commit-Author: Agent Replit-Commit-Session-Id: b163d4c0-de5e-4f4e-a9c0-aed4c7049718 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/b163d4c0-de5e-4f4e-a9c0-aed4c7049718/76gymRV --- attached_assets/image_1754947430630.png | Bin 0 -> 16981 bytes server/storage.ts | 16 +++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 attached_assets/image_1754947430630.png diff --git a/attached_assets/image_1754947430630.png b/attached_assets/image_1754947430630.png new file mode 100644 index 0000000000000000000000000000000000000000..4774539368c3fd0acde49d5e6a64e088acb36ae1 GIT binary patch literal 16981 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 LC`wmK8V3CrE+hFj literal 0 HcmV?d00001 diff --git a/server/storage.ts b/server/storage.ts index 88f0c9c..facf1ac 100644 --- a/server/storage.ts +++ b/server/storage.ts @@ -807,13 +807,19 @@ export class DatabaseStorage implements IStorage { lte(deliveries.scheduledDate, endDate) ); - // Get counts and totals + // Get counts and totals - only count palettes/packages from orders with delivered deliveries const [orderStats] = await db .select({ count: sql`count(*)`, pendingCount: sql`count(*) filter (where status = 'pending')`, - totalPalettes: sql`sum(case when unit = 'palettes' then quantity else 0 end)`, - totalPackages: sql`sum(case when unit = 'colis' then quantity else 0 end)`, + totalPalettes: sql`sum(case when unit = 'palettes' and exists( + select 1 from deliveries d + where d.order_id = orders.id and d.status = 'delivered' + ) then quantity else 0 end)`, + totalPackages: sql`sum(case when unit = 'colis' and exists( + select 1 from deliveries d + where d.order_id = orders.id and d.status = 'delivered' + ) then quantity else 0 end)`, }) .from(orders) .where(orderWhere); @@ -821,8 +827,8 @@ export class DatabaseStorage implements IStorage { const [deliveryStats] = await db .select({ count: sql`count(*)`, - totalPalettes: sql`sum(case when unit = 'palettes' then quantity else 0 end)`, - totalPackages: sql`sum(case when unit = 'colis' then quantity else 0 end)`, + totalPalettes: sql`sum(case when unit = 'palettes' and status = 'delivered' then quantity else 0 end)`, + totalPackages: sql`sum(case when unit = 'colis' and status = 'delivered' then quantity else 0 end)`, }) .from(deliveries) .where(deliveryWhere);