From 3e0633def29b63ef8f9a963aaab581812fcef2af Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Fri, 4 Jul 2025 17:45:16 +0530 Subject: [PATCH] Updated generate pallet number functionality globally instead of plant wise --- app/Filament/Pages/PalletFromLocator.php | 18 +++++----- .../Resources/PalletValidationResource.php | 35 ++++++++----------- 2 files changed, 24 insertions(+), 29 deletions(-) diff --git a/app/Filament/Pages/PalletFromLocator.php b/app/Filament/Pages/PalletFromLocator.php index 749d882..459d6b2 100644 --- a/app/Filament/Pages/PalletFromLocator.php +++ b/app/Filament/Pages/PalletFromLocator.php @@ -330,7 +330,7 @@ class PalletFromLocator extends Page implements HasForms ->orWhere('pallet_number', ''); }) ->where('locator_number', $locatorNo) - ->orderByDesc('created_at') + ->orderBy('created_at', 'asc') //orderByDesc('created_at') ->get() ->map(function ($record) use($operatorName) { return [ @@ -673,14 +673,14 @@ class PalletFromLocator extends Page implements HasForms $month = now()->format('m'); $prefix = "EP-{$year}{$month}"; - $lastPallet = PalletValidation::where('pallet_number', 'like', "{$prefix}%") - ->where('plant_id', $plantId) - ->orderByDesc('pallet_number') - ->first(); - - $newNumber = $lastPallet - ? str_pad(intval(substr($lastPallet->pallet_number, -3)) + 1, 3, '0', STR_PAD_LEFT) - : '001'; + $lastPallet = PalletValidation::where('pallet_number', 'like', "{$prefix}%")->orderByDesc('pallet_number')->first(); //->where('plant_id', $plantId) + $newNumber = '001'; // $lastPallet ? str_pad(intval(substr($lastPallet->pallet_number, -3)) + 1, 3, '0', STR_PAD_LEFT) : '001'; + if ($lastPallet) { + $serialPart = substr($lastPallet->pallet_number, strlen($prefix)); + // OR + // $serialPart = str_replace($prefix, '', $lastPallet->pallet_number); + $newNumber = str_pad(intval($serialPart) + 1, strlen($serialPart), '0', STR_PAD_LEFT); + } $newPalletNumber = "{$prefix}{$newNumber}"; diff --git a/app/Filament/Resources/PalletValidationResource.php b/app/Filament/Resources/PalletValidationResource.php index 40b1805..d904dbe 100644 --- a/app/Filament/Resources/PalletValidationResource.php +++ b/app/Filament/Resources/PalletValidationResource.php @@ -68,7 +68,7 @@ class PalletValidationResource extends Resource 'x-on:keydown.enter.prevent' => '$wire.processPalletNo()', ]) ->suffixAction(fn ($get,$set) => - Forms\Components\Actions\Action::make('addPallet') + Forms\Components\Actions\Action::make('addPallet') ->label('') ->button() ->icon('heroicon-o-plus') @@ -79,28 +79,23 @@ class PalletValidationResource extends Resource ->action(function ($get, $set, $livewire) { $plantId = $get('plant_id'); - $user = Filament::auth()->user(); + session(['pallet_clicked_time' => now()->toDateTimeString()]); - $operatorName = $user->name; - - $clickedTime = now(); - - $created = $operatorName; - - session(['pallet_clicked_time' => $clickedTime->toDateTimeString()]); - - session(['pallet_created_by' => $created]); + session(['pallet_created_by' => Filament::auth()->user()->name]); $year = now()->format('y'); $month = now()->format('m'); $prefix = "EP-{$year}{$month}"; - $lastPallet = PalletValidation::where('pallet_number', 'like', "{$prefix}%") - ->where('plant_id', $plantId) - ->orderByDesc('pallet_number') - ->first(); - $newNumber = $lastPallet - ? str_pad(intval(substr($lastPallet->pallet_number, -3)) + 1, 3, '0', STR_PAD_LEFT) - : '001'; + + $lastPallet = PalletValidation::where('pallet_number', 'like', "{$prefix}%")->orderByDesc('pallet_number')->first(); //->where('plant_id', $plantId) + $newNumber = '001'; // $lastPallet ? str_pad(intval(substr($lastPallet->pallet_number, -3)) + 1, 3, '0', STR_PAD_LEFT) : '001'; + if ($lastPallet) { + $serialPart = substr($lastPallet->pallet_number, strlen($prefix)); + // OR + // $serialPart = str_replace($prefix, '', $lastPallet->pallet_number); + $newNumber = str_pad(intval($serialPart) + 1, strlen($serialPart), '0', STR_PAD_LEFT); + } + $newPalletNumber = "{$prefix}{$newNumber}"; $set('pallet_number', $newPalletNumber); @@ -326,8 +321,8 @@ class PalletValidationResource extends Resource ->label('Locator Quantity') ->options([ 0 => 0, - 1 => '1', - 2 => '2', + 1 => 1, + 2 => 2, ]) ->reactive(), DateTimePicker::make(name: 'created_from')