From 7e96c3cdbfd58b3a26fe16053e9cb88ac05c61e2 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Tue, 20 Jan 2026 18:17:27 +0530 Subject: [PATCH] changed logic in invoice chart --- app/Filament/Widgets/InvoiceChart.php | 56 ++++++++++----------------- 1 file changed, 20 insertions(+), 36 deletions(-) diff --git a/app/Filament/Widgets/InvoiceChart.php b/app/Filament/Widgets/InvoiceChart.php index 84a8149..124d24f 100644 --- a/app/Filament/Widgets/InvoiceChart.php +++ b/app/Filament/Widgets/InvoiceChart.php @@ -203,7 +203,6 @@ class InvoiceChart extends ChartWidget $weekIndex = 0; while ($weekStart <= $endOfMonth) { - // $weekEnd = $weekStart->copy()->addDays(6); $weekEnd = $weekStart->copy()->addDays(6)->endOfDay(); @@ -242,46 +241,31 @@ class InvoiceChart extends ChartWidget // --- Completed --- $queryCompleted = InvoiceValidation::select('invoice_number') - ->where('plant_id', $selectedPlant); - // ->whereBetween('updated_at', [$weekStart, $weekEnd]); + ->where('plant_id', $selectedPlant) + ->whereBetween('created_at', [$weekStart, $weekEnd]); if ($selectedInvoice == 'individual_material') { - // $queryCompleted->where('quantity', 1) - // ->groupBy('invoice_number') - // ->havingRaw("COUNT(*) = SUM(CASE WHEN serial_number IS NOT NULL AND serial_number != '' THEN 1 ELSE 0 END)"); - $queryCompleted - ->where('quantity', 1) + $queryCompleted->where('quantity', 1) ->groupBy('invoice_number') - ->havingRaw(" - COUNT(*) = SUM( - CASE - WHEN serial_number IS NOT NULL - AND serial_number != '' - THEN 1 ELSE 0 - END - ) - ") - ->havingRaw(" - MAX(updated_at) BETWEEN ? AND ? - ", [$weekStart, $weekEnd]); + ->havingRaw("COUNT(*) = SUM(CASE WHEN serial_number IS NOT NULL AND serial_number != '' THEN 1 ELSE 0 END)"); } elseif ($selectedInvoice == 'serial_invoice') { - // $queryCompleted->whereNull('quantity') - // ->groupBy('invoice_number') - // ->havingRaw("COUNT(*) = SUM(CASE WHEN scanned_status = 'Scanned' THEN 1 ELSE 0 END)"); - $queryCompleted - ->whereNull('quantity') + $queryCompleted->whereNull('quantity') ->groupBy('invoice_number') - ->havingRaw(" - COUNT(*) = SUM( - CASE - WHEN scanned_status = 'Scanned' THEN 1 - ELSE 0 - END - ) - ") - ->havingRaw(" - MAX(updated_at) BETWEEN ? AND ? - ", [$weekStart, $weekEnd]); + ->havingRaw("COUNT(*) = SUM(CASE WHEN scanned_status = 'Scanned' THEN 1 ELSE 0 END)"); + // $queryCompleted + // ->whereNull('quantity') + // ->groupBy('invoice_number') + // ->havingRaw(" + // COUNT(*) = SUM( + // CASE + // WHEN scanned_status = 'Scanned' THEN 1 + // ELSE 0 + // END + // ) + // ") + // ->havingRaw(" + // MAX(updated_at) BETWEEN ? AND ? + // ", [$weekStart, $weekEnd]); } elseif ($selectedInvoice == 'bundle_material') { $queryCompleted->where('quantity', '>', 1) ->groupBy('invoice_number')