From ce901e3b788a0659e33d066d5297cfedeeeeb6ca Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Fri, 18 Jul 2025 20:37:11 +0530 Subject: [PATCH] Added scan_quantity and pend_quantity fields with respective validations --- .../LocatorInvoiceValidationResource.php | 35 ++- .../Pages/CreateLocatorInvoiceValidation.php | 216 +++++++++++++----- 2 files changed, 195 insertions(+), 56 deletions(-) diff --git a/app/Filament/Resources/LocatorInvoiceValidationResource.php b/app/Filament/Resources/LocatorInvoiceValidationResource.php index 351c38f..97f57a1 100644 --- a/app/Filament/Resources/LocatorInvoiceValidationResource.php +++ b/app/Filament/Resources/LocatorInvoiceValidationResource.php @@ -65,7 +65,9 @@ class LocatorInvoiceValidationResource extends Resource $set('invoice_number', null); $set('pallet_number', null); $set('serial_number', null); - $set('sno_quantity', null); + $set('sno_quantity', 0); + $set('scan_quantity', 0); + $set('pend_quantity', 0); } else { @@ -73,7 +75,9 @@ class LocatorInvoiceValidationResource extends Resource $set('invoice_number', null); $set('pallet_number', null); $set('serial_number', null); - $set('sno_quantity', null); + $set('sno_quantity', 0); + $set('scan_quantity', 0); + $set('pend_quantity', 0); } }), @@ -92,14 +96,28 @@ class LocatorInvoiceValidationResource extends Resource ->readOnly(fn (callable $get) => !$get('plant') || $get('pallet_number') || $get('serial_number')) ->afterStateUpdated(function ($state, callable $set, callable $get) { $plantId = $get('plant'); + $invNo = $get('invoice_number'); + $snoCount = 0; + $pendingCount = 0; + $scannedCount = 0; if (!$plantId) { $set('invoice_number', null); $set('pallet_number', null); + } + else if ($invNo) + { + $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invNo)->count(); + $pendingCount = LocatorInvoiceValidation::where('invoice_number', $invNo)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count(); + + $scannedCount = LocatorInvoiceValidation::where('invoice_number', $invNo)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count(); } $set('update_invoice', null); $set('pallet_number', null); $set('serial_number', null); + $set('sno_quantity', $snoCount); + $set('scan_quantity', $scannedCount); + $set('pend_quantity', $pendingCount); }), Forms\Components\TextInput::make('pallet_number') ->label('Scan Pallet No') @@ -180,7 +198,18 @@ class LocatorInvoiceValidationResource extends Resource 'x-on:keydown.enter.prevent' => '$wire.processSerialNo()', ]), Forms\Components\TextInput::make('sno_quantity') - ->label('SNo. Quantity') + ->label('Invoice Quantity') + ->default(0) + ->readOnly(), + + Forms\Components\TextInput::make('scan_quantity') + ->label('Scanned Quantity') + ->default(0) + ->readOnly(), + + Forms\Components\TextInput::make('pend_quantity') + ->label('Pending Quantity') + ->default(0) ->readOnly(), //Forms\Components\View::make('forms.components.update-invoice-button'), diff --git a/app/Filament/Resources/LocatorInvoiceValidationResource/Pages/CreateLocatorInvoiceValidation.php b/app/Filament/Resources/LocatorInvoiceValidationResource/Pages/CreateLocatorInvoiceValidation.php index 9410229..2ddfd0a 100644 --- a/app/Filament/Resources/LocatorInvoiceValidationResource/Pages/CreateLocatorInvoiceValidation.php +++ b/app/Filament/Resources/LocatorInvoiceValidationResource/Pages/CreateLocatorInvoiceValidation.php @@ -72,7 +72,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'invoice_number' => $invoiceNumber, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -112,10 +114,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -157,10 +161,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -191,10 +197,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -256,7 +264,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'invoice_number' => $invoiceNumber, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -282,7 +292,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'invoice_number' => $invoiceNumber, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -304,10 +316,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -342,6 +356,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -414,17 +430,22 @@ class CreateLocatorInvoiceValidation extends CreateRecord $disk->delete($filePath); } - $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId) - ->where('invoice_number', $invoiceNumber) - ->count(); + $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count(); + + $pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count(); + + $scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count(); $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, 'invoice_number' => $invoiceNumber, + 'update_invoice' => 0, 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -461,20 +482,16 @@ class CreateLocatorInvoiceValidation extends CreateRecord ->duration(5000) ->send(); - $this->form->fill([ - 'plant_id' => $plantId, - 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, - 'serial_number' => null, - ]); $this->dispatch('loadData', '', $plantId); $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -504,10 +521,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -569,7 +588,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'invoice_number' => $invoiceNumber, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -597,7 +618,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'invoice_number' => $invoiceNumber, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -619,10 +642,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -655,7 +680,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'invoice_number' => $invoiceNumber, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -707,17 +734,22 @@ class CreateLocatorInvoiceValidation extends CreateRecord $disk->delete($filePath); } - $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId) - ->where('invoice_number', $invoiceNumber) - ->count(); + $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count(); + + $pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count(); + + $scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count(); $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, 'invoice_number' => $invoiceNumber, + 'update_invoice' => 0, 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -735,9 +767,11 @@ class CreateLocatorInvoiceValidation extends CreateRecord ->duration(1000) ->send(); - $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId) - ->where('invoice_number', $invoiceNumber) - ->count(); + $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count(); + + $pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count(); + + $scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count(); $this->form->fill([ 'plant_id' => $plantId, @@ -746,6 +780,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -763,11 +799,13 @@ class CreateLocatorInvoiceValidation extends CreateRecord ->duration(5000) ->send(); - $this->dispatch('loadData', $invoiceNumber, $plantId); - $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId) - ->where('invoice_number', $invoiceNumber) - ->count(); + $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count(); + $pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count(); + + $scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count(); + + $this->dispatch('loadData', $invoiceNumber, $plantId); $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, @@ -775,6 +813,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -825,10 +865,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -862,10 +904,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -873,6 +917,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord } } + $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count(); + + $pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count(); + + $scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count(); + if ($palletNumber == '' || $palletNumber == null) { Notification::make() @@ -881,8 +931,6 @@ class CreateLocatorInvoiceValidation extends CreateRecord ->duration(5000) ->send(); - $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber) - ->count(); $this->dispatch('loadData', $invoiceNumber, $plantId); $this->form->fill([ 'plant_id' => $plantId, @@ -892,13 +940,14 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); return; } - $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count(); if (strlen($palletNumber) < 10) { Notification::make() @@ -916,6 +965,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -943,6 +994,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -978,6 +1031,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1020,6 +1075,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1061,6 +1118,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1144,11 +1203,13 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'update_invoice' => 0, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1156,6 +1217,10 @@ class CreateLocatorInvoiceValidation extends CreateRecord } else { + $pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count(); + + $scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count(); + $this->dispatch('loadData', $invoiceNumber, $plantId); $this->form->fill([ 'plant_id' => $plantId, @@ -1165,6 +1230,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1234,11 +1301,13 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'update_invoice' => 0, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1246,6 +1315,10 @@ class CreateLocatorInvoiceValidation extends CreateRecord } else { + $pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count(); + + $scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count(); + $this->dispatch('loadData', $invoiceNumber, $plantId); $this->form->fill([ 'plant_id' => $plantId, @@ -1255,6 +1328,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1310,7 +1385,9 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'invoice_number' => $invoiceNumber, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1344,10 +1421,12 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1356,6 +1435,11 @@ class CreateLocatorInvoiceValidation extends CreateRecord } $snoCount = LocatorInvoiceValidation::where('plant_id', $plantId)->where('invoice_number', $invoiceNumber)->count(); + + $pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count(); + + $scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count(); + if ($serialNumber == '' || $serialNumber == null) { Notification::make() @@ -1374,6 +1458,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1396,6 +1482,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1418,6 +1506,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1443,6 +1533,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1465,6 +1557,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1497,6 +1591,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1530,6 +1626,8 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'pallet_number' => null, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1615,11 +1713,13 @@ class CreateLocatorInvoiceValidation extends CreateRecord $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, - 'invoice_number' => $invoiceNumber, + 'invoice_number' => null, 'pallet_number' => null, 'update_invoice' => 0, 'serial_number' => null, - 'sno_quantity' => null, + 'sno_quantity' => 0, + 'scan_quantity' => 0, + 'pend_quantity' => 0, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1627,14 +1727,21 @@ class CreateLocatorInvoiceValidation extends CreateRecord } else { + $pendingCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->whereNull('scanned_status')->orWhere('scanned_status', '=', '')->count(); + + $scannedCount = LocatorInvoiceValidation::where('invoice_number', $invoiceNumber)->where('plant_id', $plantId)->where('scanned_status', '=', 'Scanned')->count(); + $this->dispatch('loadData', $invoiceNumber, $plantId); $this->form->fill([ 'plant_id' => $plantId, 'plant' => $plantId, 'invoice_number' => $invoiceNumber, 'pallet_number' => null, + 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]); @@ -1655,8 +1762,11 @@ class CreateLocatorInvoiceValidation extends CreateRecord 'plant' => $plantId, 'invoice_number' => $invoiceNumber, 'pallet_number' => null, + 'update_invoice' => 0, 'serial_number' => null, 'sno_quantity' => $snoCount, + 'scan_quantity' => $scannedCount, + 'pend_quantity' => $pendingCount, 'created_by' => $operatorName, 'scanned_by' => $operatorName, ]);