2 Commits

Author SHA1 Message Date
b07a9596e5 Merge pull request 'Added order quantity in process order importer' (#162) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 13s
Reviewed-on: #162
2026-01-04 09:26:15 +00:00
dhanabalan
59b94b2b26 Added order quantity in process order importer
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 11s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 11s
Gemini PR Review / review (pull_request) Failing after 55s
Laravel Pint / pint (pull_request) Successful in 2m8s
Laravel Larastan / larastan (pull_request) Failing after 2m56s
2026-01-04 14:56:03 +05:30

View File

@@ -10,6 +10,7 @@ use Filament\Actions\Imports\Exceptions\RowImportFailedException;
use Filament\Actions\Imports\ImportColumn; use Filament\Actions\Imports\ImportColumn;
use Filament\Actions\Imports\Importer; use Filament\Actions\Imports\Importer;
use Filament\Actions\Imports\Models\Import; use Filament\Actions\Imports\Models\Import;
use Filament\Facades\Filament;
use Str; use Str;
class ProcessOrderImporter extends Importer class ProcessOrderImporter extends Importer
@@ -38,41 +39,57 @@ class ProcessOrderImporter extends Importer
->example('202500123456') ->example('202500123456')
->label('PROCESS ORDER') ->label('PROCESS ORDER')
->rules(['required']), ->rules(['required']),
ImportColumn::make('created_by') ImportColumn::make('order_quantity')
->exampleHeader('CREATED BY') ->exampleHeader('ORDER QUANTITY')
->example('RAW01234') ->example('100')
->label('CREATED BY') ->label('ORDER QUANTITY')
->rules(['required']), ->rules(['required']),
// ImportColumn::make('created_by')
// ->exampleHeader('CREATED BY')
// ->example('RAW01234')
// ->label('CREATED BY')
// ->rules(['required']),
]; ];
} }
public function resolveRecord(): ?ProcessOrder public function resolveRecord(): ?ProcessOrder
{ {
$warnMsg = []; $warnMsg = [];
$plant = Plant::where('code', $this->data['plant'])->first(); $plantCod = $this->data['plant'];
$itemCode = Item::where('code', $this->data['item'])->first(); $plant = null;
$iCode = trim($this->data['item']); $iCode = trim($this->data['item']);
$processOrder = trim($this->data['process_order'] ?? '');
$user = Filament::auth()->user();
$operatorName = $user->name;
if (! $plant) { if (Str::length($plantCod) < 4 || ! is_numeric($plantCod) || ! preg_match('/^[1-9]\d{3,}$/', $plantCod)) {
$warnMsg[] = 'Plant not found'; $warnMsg[] = 'Invalid plant code found';
} elseif (Str::length($iCode) < 6 || ! ctype_alnum($iCode)) { } else {
$warnMsg[] = 'Invalid item code found'; $plant = Plant::where('code', $plantCod)->first();
} elseif (! $itemCode) { if (! $plant) {
$warnMsg[] = 'Item Code not found'; $warnMsg[] = 'Plant not found';
}
} }
$processOrder = trim($this->data['process_order'] ?? ''); if (Str::length($iCode) < 6 || ! ctype_alnum($iCode)) {
$warnMsg[] = 'Invalid item code found';
} else {
$itemCode = Item::where('code', $iCode)->first();
if (! $itemCode) {
$warnMsg[] = 'Item Code not found';
}
}
if ($processOrder == '') { if ($processOrder == '') {
$warnMsg[] = 'Process Order cannot be empty'; $warnMsg[] = 'Process Order cannot be empty';
} }
$user = User::where('name', $this->data['created_by'])->first(); // $user = User::where('name', $this->data['created_by'])->first();
if (! $user) { // if (! $user) {
$warnMsg[] = 'User not found'; // $warnMsg[] = 'User not found';
} // }
if ($plant && $processOrder != '') { if ($plant && $itemCode && $processOrder != '') {
$existingOrder = ProcessOrder::where('plant_id', $plant->id) $existingOrder = ProcessOrder::where('plant_id', $plant->id)
->where('process_order', $processOrder) ->where('process_order', $processOrder)
@@ -94,7 +111,7 @@ class ProcessOrderImporter extends Importer
'coil_number' => '0', 'coil_number' => '0',
'order_quantity' => 0, 'order_quantity' => 0,
'received_quantity' => 0, 'received_quantity' => 0,
'created_by' => $user->name, 'created_by' => $operatorName,
]); ]);
// return new ProcessOrder(); // return new ProcessOrder();