Add support for 'WOS' distribution in InvoiceDataChart for comprehensive invoice tracking
This commit is contained in:
@@ -176,6 +176,50 @@ class InvoiceDataChart extends ChartWidget
|
||||
],
|
||||
];
|
||||
}
|
||||
elseif ($selectedDistribution == 'WOS')
|
||||
{
|
||||
$totalInvoices = InvoiceDataValidation::where('plant_id', $selectedPlant)
|
||||
->where('distribution_channel_desc', $selectedDistribution)
|
||||
->whereBetween('document_date', [$startDate, $endDate])
|
||||
->distinct('document_number')
|
||||
->pluck('document_number')
|
||||
->toArray();
|
||||
|
||||
if (empty($totalInvoices)) {
|
||||
return [
|
||||
'labels' => ['Total', 'Went Out', 'Pending'],
|
||||
'datasets' => [
|
||||
[
|
||||
'label' => 'Invoice Count',
|
||||
'data' => [0, 0, 0],
|
||||
'backgroundColor' => ['#60A5FA', '#34D399', '#F87171'],
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
$wentOutInvoices = InvoiceOutValidation::where('plant_id', $selectedPlant)
|
||||
->whereIn('qr_code', $totalInvoices)
|
||||
->whereBetween('scanned_at', [$startDate, $endDate])
|
||||
->distinct('qr_code')
|
||||
->pluck('qr_code')
|
||||
->toArray();
|
||||
|
||||
$totalCount = count($totalInvoices);
|
||||
$wentOutCount = count($wentOutInvoices);
|
||||
$pendingCount = $totalCount - $wentOutCount;
|
||||
|
||||
return [
|
||||
'labels' => ['Total Invoices', 'Went Out', 'Pending'],
|
||||
'datasets' => [
|
||||
[
|
||||
'label' => ucfirst(str_replace('_', ' ', $activeFilter)),
|
||||
'data' => [$totalCount, $wentOutCount, $pendingCount],
|
||||
'backgroundColor' => ['#60A5FA', '#34D399', '#F87171'], // blue, green, red
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
elseif ($selectedDistribution == 'Challan')
|
||||
{
|
||||
$totalInvoices = InvoiceDataValidation::where('plant_id', $selectedPlant)
|
||||
|
||||
Reference in New Issue
Block a user