Merge pull request 'Updated validation logic against machin name on resource and import page' (#486) from ranjith-dev into master
Some checks are pending
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Waiting to run

Reviewed-on: #486
This commit was merged in pull request #486.
This commit is contained in:
2026-03-20 10:46:51 +00:00
2 changed files with 19 additions and 18 deletions

View File

@@ -132,7 +132,10 @@ class ProcessOrderImporter extends Importer
if ($iCode == null || $iCode == '') { if ($iCode == null || $iCode == '') {
$warnMsg[] = "Item code can't be empty!"; $warnMsg[] = "Item code can't be empty!";
} elseif (Str::length($iCode) < 6 || ! ctype_alnum($iCode)) { } elseif (Str::length($iCode) < 6 || ! ctype_alnum($iCode)) {
$warnMsg[] = 'Invalid item code found'; $warnMsg[] = 'Invalid item code found!';
}
if ($machineName != null && $machineName != '' && Str::length($machineName) > 18) {
$warnMsg[] = 'Invalid machine name found!';
} }
if ($processOrder == null || $processOrder == '') { if ($processOrder == null || $processOrder == '') {
$warnMsg[] = "Process order can't be empty!"; $warnMsg[] = "Process order can't be empty!";
@@ -169,7 +172,7 @@ class ProcessOrderImporter extends Importer
} elseif ($reworkStatus == 1 || $reworkStatus = '1') { } elseif ($reworkStatus == 1 || $reworkStatus = '1') {
$reworkStatus = 1; $reworkStatus = 1;
} else { } else {
$warnMsg[] = 'Invalid rework status found'; $warnMsg[] = 'Invalid rework status found!';
} }
if (! empty($warnMsg)) { if (! empty($warnMsg)) {
@@ -233,7 +236,7 @@ class ProcessOrderImporter extends Importer
->first(); ->first();
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!';
} }
} }
@@ -262,7 +265,7 @@ class ProcessOrderImporter extends Importer
->where('process_order', $processOrder) ->where('process_order', $processOrder)
->sum('received_quantity'); ->sum('received_quantity');
if($existing){ if ($existing) {
$liveOrdQuan = (float) $existing->order_quantity; $liveOrdQuan = (float) $existing->order_quantity;
$liveUpdatedOrdQuan = (float) $existing->updated_order_quantity; $liveUpdatedOrdQuan = (float) $existing->updated_order_quantity;
@@ -273,16 +276,15 @@ class ProcessOrderImporter extends Importer
if ($liveUpdatedOrdQuan > $maxAllowedQty) { if ($liveUpdatedOrdQuan > $maxAllowedQty) {
throw new RowImportFailedException( throw new RowImportFailedException(
"Updated order quantity cannot exceed 10% of existing order quantity. Max allowed: {$maxAllowedQty}" "Updated order quantity cannot exceed 10% of existing order quantity. Max allowed: {$maxAllowedQty}!"
); );
} } elseif ($liveUpdatedOrdQuan < $minAllowedQty) {
else if ($liveUpdatedOrdQuan < $minAllowedQty) {
throw new RowImportFailedException( throw new RowImportFailedException(
"Updated order quantity cannot decrease -10% of existing order quantity. Min allowed: {$minAllowedQty}" "Updated order quantity cannot decrease -10% of existing order quantity. Min allowed: {$minAllowedQty}!"
); );
}else if($liveUpdatedOrdQuan < $receivedQty) { } elseif ($liveUpdatedOrdQuan < $receivedQty) {
throw new RowImportFailedException( throw new RowImportFailedException(
"Updated order quantity cannot decrease below its received quantity {$receivedQty}" "Updated order quantity cannot decrease below its received quantity {$receivedQty}!"
); );
} }
} }
@@ -299,10 +301,9 @@ class ProcessOrderImporter extends Importer
// ->where('line_id', $lineId) // ->where('line_id', $lineId)
// ->first(); // ->first();
if($existing){ if ($existing) {
$existUpdateOrdQuan = $existing->updated_order_quantity; $existUpdateOrdQuan = $existing->updated_order_quantity;
} } else {
else{
$existUpdateOrdQuan = $updatedOrderQuan; $existUpdateOrdQuan = $updatedOrderQuan;
} }
@@ -350,10 +351,9 @@ class ProcessOrderImporter extends Importer
// // ->where('coil_number', $coilNo) // // ->where('coil_number', $coilNo)
// ->first(); // ->first();
if($existing){ if ($existing) {
$existUpdateOrdQuan = $existing->updated_order_quantity; $existUpdateOrdQuan = $existing->updated_order_quantity;
} } else {
else{
$existUpdateOrdQuan = $updatedOrderQuan; $existUpdateOrdQuan = $updatedOrderQuan;
} }

View File

@@ -410,13 +410,13 @@ class ProcessOrderResource extends Resource
$orderQty = (float) $get('order_quantity'); $orderQty = (float) $get('order_quantity');
$updatedQty = (float) $value; $updatedQty = (float) $value;
$allowedVariance = $orderQty * 0.10; $allowedVariance = $orderQty * 0.10;
$maxAllowed = $orderQty + $allowedVariance; $maxAllowed = $orderQty + $allowedVariance;
$minAllowed = $orderQty - $allowedVariance; $minAllowed = $orderQty - $allowedVariance;
if ($updatedQty > $maxAllowed || $updatedQty < $minAllowed) { if ($updatedQty > $maxAllowed || $updatedQty < $minAllowed) {
$fail("Quantity can vary by ±10% of the order quantity."); $fail('Quantity can vary by ±10% of the order quantity.');
} }
$otherReceivedQty = ProcessOrder::where('plant_id', $plantId) $otherReceivedQty = ProcessOrder::where('plant_id', $plantId)
@@ -631,6 +631,7 @@ class ProcessOrderResource extends Resource
Forms\Components\TextInput::make('machine_name') Forms\Components\TextInput::make('machine_name')
->label('Machine Name') ->label('Machine Name')
->reactive() ->reactive()
->maxLength(18)
->readOnly(fn ($get) => (trim($get('process_order')) == null || trim($get('process_order')) == '')) ->readOnly(fn ($get) => (trim($get('process_order')) == null || trim($get('process_order')) == ''))
->afterStateUpdated(function (callable $set, callable $get, ?string $state) { ->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
$set('updated_by', Filament::auth()->user()?->name); $set('updated_by', Filament::auth()->user()?->name);