changed logic in invoice chart
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 10s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 9s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 13s
Laravel Pint / pint (pull_request) Successful in 2m27s
Laravel Larastan / larastan (pull_request) Failing after 3m17s

This commit is contained in:
dhanabalan
2026-01-20 18:17:27 +05:30
parent 98cafeb5af
commit 7e96c3cdbf

View File

@@ -203,7 +203,6 @@ class InvoiceChart extends ChartWidget
$weekIndex = 0; $weekIndex = 0;
while ($weekStart <= $endOfMonth) { while ($weekStart <= $endOfMonth) {
// $weekEnd = $weekStart->copy()->addDays(6); // $weekEnd = $weekStart->copy()->addDays(6);
$weekEnd = $weekStart->copy()->addDays(6)->endOfDay(); $weekEnd = $weekStart->copy()->addDays(6)->endOfDay();
@@ -242,46 +241,31 @@ class InvoiceChart extends ChartWidget
// --- Completed --- // --- Completed ---
$queryCompleted = InvoiceValidation::select('invoice_number') $queryCompleted = InvoiceValidation::select('invoice_number')
->where('plant_id', $selectedPlant); ->where('plant_id', $selectedPlant)
// ->whereBetween('updated_at', [$weekStart, $weekEnd]); ->whereBetween('created_at', [$weekStart, $weekEnd]);
if ($selectedInvoice == 'individual_material') { if ($selectedInvoice == 'individual_material') {
// $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)");
$queryCompleted
->where('quantity', 1)
->groupBy('invoice_number') ->groupBy('invoice_number')
->havingRaw(" ->havingRaw("COUNT(*) = SUM(CASE WHEN serial_number IS NOT NULL AND serial_number != '' THEN 1 ELSE 0 END)");
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]);
} elseif ($selectedInvoice == 'serial_invoice') { } elseif ($selectedInvoice == 'serial_invoice') {
// $queryCompleted->whereNull('quantity') $queryCompleted->whereNull('quantity')
// ->groupBy('invoice_number')
// ->havingRaw("COUNT(*) = SUM(CASE WHEN scanned_status = 'Scanned' THEN 1 ELSE 0 END)");
$queryCompleted
->whereNull('quantity')
->groupBy('invoice_number') ->groupBy('invoice_number')
->havingRaw(" ->havingRaw("COUNT(*) = SUM(CASE WHEN scanned_status = 'Scanned' THEN 1 ELSE 0 END)");
COUNT(*) = SUM( // $queryCompleted
CASE // ->whereNull('quantity')
WHEN scanned_status = 'Scanned' THEN 1 // ->groupBy('invoice_number')
ELSE 0 // ->havingRaw("
END // COUNT(*) = SUM(
) // CASE
") // WHEN scanned_status = 'Scanned' THEN 1
->havingRaw(" // ELSE 0
MAX(updated_at) BETWEEN ? AND ? // END
", [$weekStart, $weekEnd]); // )
// ")
// ->havingRaw("
// MAX(updated_at) BETWEEN ? AND ?
// ", [$weekStart, $weekEnd]);
} elseif ($selectedInvoice == 'bundle_material') { } elseif ($selectedInvoice == 'bundle_material') {
$queryCompleted->where('quantity', '>', 1) $queryCompleted->where('quantity', '>', 1)
->groupBy('invoice_number') ->groupBy('invoice_number')