diff --git a/app/Filament/Imports/ProcessOrderImporter.php b/app/Filament/Imports/ProcessOrderImporter.php index 1bf63ad..23f389d 100644 --- a/app/Filament/Imports/ProcessOrderImporter.php +++ b/app/Filament/Imports/ProcessOrderImporter.php @@ -6,6 +6,7 @@ use App\Models\Item; use App\Models\Line; use App\Models\Plant; use App\Models\ProcessOrder; +use App\Models\ProductCharacteristicsMaster; use App\Models\User; use Filament\Actions\Imports\Exceptions\RowImportFailedException; use Filament\Actions\Imports\ImportColumn; @@ -30,7 +31,7 @@ class ProcessOrderImporter extends Importer ->rules(['required']), ImportColumn::make('line') ->exampleHeader('LINE NAME') - ->example(' Poly Wrapped Wire SFG') + ->example('Poly Wrapped Wire SFG') ->label('LINE NAME') ->relationship(resolveUsing: 'name'), ImportColumn::make('item') @@ -43,7 +44,7 @@ class ProcessOrderImporter extends Importer ImportColumn::make('process_order') ->requiredMapping() ->exampleHeader('PROCESS ORDER') - ->example('2025002123456') + ->example('202601123456') ->label('PROCESS ORDER') ->rules(['required']), ImportColumn::make('order_quantity') @@ -104,10 +105,10 @@ class ProcessOrderImporter extends Importer $plant = null; $plantCod = trim($this->data['plant']) ?? ''; $plantId = null; - $item = null; $iCode = trim($this->data['item']) ?? ''; $itemId = null; $lineNam = trim($this->data['line']) ?? ''; + $lineId = null; $processOrder = trim($this->data['process_order'] ?? ''); $coilNo = trim($this->data['coil_number'] ?? ''); $sfgNo = trim($this->data['sfg_number'] ?? ''); @@ -230,7 +231,7 @@ class ProcessOrderImporter extends Importer } } - if ($plantId && $itemCode && $lineId && $processOrder != '') { + if ($plantId && $itemId && $lineId && $processOrder != '') { $existingOrder = ProcessOrder::where('plant_id', $plantId) ->where('process_order', $processOrder) ->first(); @@ -238,6 +239,18 @@ class ProcessOrderImporter extends Importer if ($existingOrder && $existingOrder->item_id !== ($itemId ?? null)) { $warnMsg[] = 'Same Process Order already exists for this Plant with a different Item Code!'; } + + $masterExist = ProductCharacteristicsMaster::where('plant_id', $plantId)->where('item_id', $itemId)->first(); + + if (! $masterExist) { + $warnMsg[] = 'Characteristics master not found for the given plant!'; + } else { + $masterExist = ProductCharacteristicsMaster::where('plant_id', $plantId)->where('line_id', $lineId)->where('item_id', $itemId)->first(); + + if (! $masterExist) { + $warnMsg[] = 'Characteristics master not found for the given line!'; + } + } } // $user = User::where('name', $this->data['created_by'])->first();