Merge pull request 'ranjith-dev' (#493) from ranjith-dev into master
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled

Reviewed-on: #493
This commit was merged in pull request #493.
This commit is contained in:
2026-03-25 05:50:50 +00:00
2 changed files with 23 additions and 6 deletions

View File

@@ -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;
@@ -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();

View File

@@ -9,6 +9,7 @@ use App\Models\Item;
use App\Models\Line;
use App\Models\Plant;
use App\Models\ProcessOrder;
use App\Models\ProductCharacteristicsMaster;
use Closure;
use Filament\Facades\Filament;
use Filament\Forms;
@@ -130,11 +131,14 @@ class ProcessOrderResource extends Resource
->reactive()
->options(function (callable $get) {
$plantId = $get('plant_id');
if (empty($plantId)) {
$lineId = $get('line_id');
if (empty($plantId) || empty($lineId)) {
return [];
}
return Item::where('plant_id', $plantId)->pluck('code', 'id');
$availItems = ProductCharacteristicsMaster::where('plant_id', $plantId)->where('line_id', $lineId)->pluck('item_id', 'item_id')->toArray();
return Item::where('plant_id', $plantId)->whereIn('id', $availItems)->pluck('code', 'id'); // return Item::where('plant_id', $plantId)->pluck('code', 'id');
})
->disabled(fn (Get $get) => ! empty($get('id')))
->afterStateUpdated(function (callable $set, callable $get, ?string $state) {