Refactor pallet number generation to include LocatorInvoiceValidation for improved uniqueness
This commit is contained in:
@@ -7,6 +7,7 @@ use App\Filament\Imports\PalletValidationImporter;
|
||||
use App\Filament\Resources\PalletValidationResource\Pages;
|
||||
use App\Filament\Resources\PalletValidationResource\RelationManagers;
|
||||
use App\Models\Item;
|
||||
use App\Models\LocatorInvoiceValidation;
|
||||
use App\Models\PalletValidation;
|
||||
use App\Models\Plant;
|
||||
use App\Models\StickerMaster;
|
||||
@@ -89,13 +90,29 @@ class PalletValidationResource extends Resource
|
||||
$month = now()->format('m');
|
||||
$prefix = "EP-{$year}{$month}";
|
||||
|
||||
$lastPallet = PalletValidation::where('pallet_number', 'like', "{$prefix}%")->orderByDesc('pallet_number')->first(); //->where('plant_id', $plantId)
|
||||
$lastPallet1 = PalletValidation::where('pallet_number', 'like', "{$prefix}%")->orderByDesc('pallet_number')->first(); //->where('plant_id', $plantId)
|
||||
$lastPallet2 = LocatorInvoiceValidation::where('pallet_number', 'like', "{$prefix}%")->orderByDesc('pallet_number')->first();
|
||||
$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));
|
||||
if ($lastPallet1 && $lastPallet2) {
|
||||
$serialPart1 = substr($lastPallet1->pallet_number, strlen($prefix));
|
||||
$serialPart2 = substr($lastPallet2->pallet_number, strlen($prefix));
|
||||
if (intval($serialPart1) > intval($serialPart2)) {
|
||||
$newNumber = str_pad(intval($serialPart1) + 1, strlen($serialPart1), '0', STR_PAD_LEFT);
|
||||
} else {
|
||||
$newNumber = str_pad(intval($serialPart2) + 1, strlen($serialPart2), '0', STR_PAD_LEFT);
|
||||
}
|
||||
}
|
||||
else if ($lastPallet1) {
|
||||
$serialPart1 = substr($lastPallet1->pallet_number, strlen($prefix));
|
||||
// OR
|
||||
// $serialPart = str_replace($prefix, '', $lastPallet->pallet_number);
|
||||
$newNumber = str_pad(intval($serialPart) + 1, strlen($serialPart), '0', STR_PAD_LEFT);
|
||||
$newNumber = str_pad(intval($serialPart1) + 1, strlen($serialPart1), '0', STR_PAD_LEFT);
|
||||
}
|
||||
else if ($lastPallet2) {
|
||||
$serialPart2 = substr($lastPallet2->pallet_number, strlen($prefix));
|
||||
// OR
|
||||
// $serialPart = str_replace($prefix, '', $lastPallet->pallet_number);
|
||||
$newNumber = str_pad(intval($serialPart2) + 1, strlen($serialPart2), '0', STR_PAD_LEFT);
|
||||
}
|
||||
|
||||
$newPalletNumber = "{$prefix}{$newNumber}";
|
||||
|
||||
Reference in New Issue
Block a user