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);
|
||||||
$weekEnd = $weekStart->copy()->addDays(6)->endOfDay();
|
$weekEnd = $weekStart->copy()->addDays(6)->endOfDay();
|
||||||
|
|
||||||
// If week end exceeds end of month, limit it
|
// If week end exceeds end of month, limit it
|
||||||
if ($weekEnd->greaterThan($endOfMonth)) {
|
if ($weekEnd->greaterThan($endOfMonth)) {
|
||||||
$weekEnd = $endOfMonth->copy()->endOfDay();
|
$weekEnd = $endOfMonth->copy()->endOfDay();
|
||||||
@@ -241,17 +242,46 @@ 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('updated_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("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') {
|
} 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("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') {
|
} elseif ($selectedInvoice == 'bundle_material') {
|
||||||
$queryCompleted->where('quantity', '>', 1)
|
$queryCompleted->where('quantity', '>', 1)
|
||||||
->groupBy('invoice_number')
|
->groupBy('invoice_number')
|
||||||
|
|||||||
Reference in New Issue
Block a user