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 2m31s
Laravel Larastan / larastan (pull_request) Failing after 3m17s
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 2m31s
Laravel Larastan / larastan (pull_request) Failing after 3m17s
This commit is contained in:
@@ -206,6 +206,7 @@ class InvoiceChart extends ChartWidget
|
||||
|
||||
// $weekEnd = $weekStart->copy()->addDays(6);
|
||||
$weekEnd = $weekStart->copy()->addDays(6)->endOfDay();
|
||||
|
||||
// If week end exceeds end of month, limit it
|
||||
if ($weekEnd->greaterThan($endOfMonth)) {
|
||||
$weekEnd = $endOfMonth->copy()->endOfDay();
|
||||
@@ -241,17 +242,46 @@ class InvoiceChart extends ChartWidget
|
||||
|
||||
// --- Completed ---
|
||||
$queryCompleted = InvoiceValidation::select('invoice_number')
|
||||
->where('plant_id', $selectedPlant)
|
||||
->whereBetween('updated_at', [$weekStart, $weekEnd]);
|
||||
->where('plant_id', $selectedPlant);
|
||||
// ->whereBetween('updated_at', [$weekStart, $weekEnd]);
|
||||
|
||||
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')
|
||||
->havingRaw("COUNT(*) = SUM(CASE WHEN serial_number IS NOT NULL AND serial_number != '' THEN 1 ELSE 0 END)");
|
||||
->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]);
|
||||
} 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')
|
||||
->havingRaw("COUNT(*) = SUM(CASE WHEN scanned_status = 'Scanned' THEN 1 ELSE 0 END)");
|
||||
->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')
|
||||
|
||||
Reference in New Issue
Block a user