Updated process order import only if it has characteristics master
Some checks failed
Gemini PR Review / Gemini PR Review (pull_request) Waiting to run
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Waiting to run
Laravel Larastan / larastan (pull_request) Waiting to run
Laravel Pint / pint (pull_request) Waiting to run
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled

This commit is contained in:
dhanabalan
2026-03-25 11:20:05 +05:30
parent c6fd61a9ba
commit 1c37e1bb0b

View File

@@ -6,6 +6,7 @@ use App\Models\Item;
use App\Models\Line; use App\Models\Line;
use App\Models\Plant; use App\Models\Plant;
use App\Models\ProcessOrder; use App\Models\ProcessOrder;
use App\Models\ProductCharacteristicsMaster;
use App\Models\User; use App\Models\User;
use Filament\Actions\Imports\Exceptions\RowImportFailedException; use Filament\Actions\Imports\Exceptions\RowImportFailedException;
use Filament\Actions\Imports\ImportColumn; use Filament\Actions\Imports\ImportColumn;
@@ -30,7 +31,7 @@ class ProcessOrderImporter extends Importer
->rules(['required']), ->rules(['required']),
ImportColumn::make('line') ImportColumn::make('line')
->exampleHeader('LINE NAME') ->exampleHeader('LINE NAME')
->example(' Poly Wrapped Wire SFG') ->example('Poly Wrapped Wire SFG')
->label('LINE NAME') ->label('LINE NAME')
->relationship(resolveUsing: 'name'), ->relationship(resolveUsing: 'name'),
ImportColumn::make('item') ImportColumn::make('item')
@@ -43,7 +44,7 @@ class ProcessOrderImporter extends Importer
ImportColumn::make('process_order') ImportColumn::make('process_order')
->requiredMapping() ->requiredMapping()
->exampleHeader('PROCESS ORDER') ->exampleHeader('PROCESS ORDER')
->example('2025002123456') ->example('202601123456')
->label('PROCESS ORDER') ->label('PROCESS ORDER')
->rules(['required']), ->rules(['required']),
ImportColumn::make('order_quantity') ImportColumn::make('order_quantity')
@@ -104,10 +105,10 @@ class ProcessOrderImporter extends Importer
$plant = null; $plant = null;
$plantCod = trim($this->data['plant']) ?? ''; $plantCod = trim($this->data['plant']) ?? '';
$plantId = null; $plantId = null;
$item = null;
$iCode = trim($this->data['item']) ?? ''; $iCode = trim($this->data['item']) ?? '';
$itemId = null; $itemId = null;
$lineNam = trim($this->data['line']) ?? ''; $lineNam = trim($this->data['line']) ?? '';
$lineId = null;
$processOrder = trim($this->data['process_order'] ?? ''); $processOrder = trim($this->data['process_order'] ?? '');
$coilNo = trim($this->data['coil_number'] ?? ''); $coilNo = trim($this->data['coil_number'] ?? '');
$sfgNo = trim($this->data['sfg_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) $existingOrder = ProcessOrder::where('plant_id', $plantId)
->where('process_order', $processOrder) ->where('process_order', $processOrder)
->first(); ->first();
@@ -238,6 +239,18 @@ class ProcessOrderImporter extends Importer
if ($existingOrder && $existingOrder->item_id !== ($itemId ?? null)) { if ($existingOrder && $existingOrder->item_id !== ($itemId ?? null)) {
$warnMsg[] = 'Same Process Order already exists for this Plant with a different Item Code!'; $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(); // $user = User::where('name', $this->data['created_by'])->first();