diff --git a/app/Filament/Resources/PanelBoxValidationResource.php b/app/Filament/Resources/PanelBoxValidationResource.php index b9be41f..9ef74f4 100644 --- a/app/Filament/Resources/PanelBoxValidationResource.php +++ b/app/Filament/Resources/PanelBoxValidationResource.php @@ -1179,16 +1179,6 @@ class PanelBoxValidationResource extends Resource return; } - if (!preg_match('/^\d+\/\d+\/\d+\/\d+$/', $state)) { - Notification::make() - ->title('Invalid QR Format') - ->body('Expected format: plantcode/itemcode/yearmm/serialnumber') - ->danger() - ->send(); - $set('pack_slip_panel_qr', null); - return; - } - $parts = explode('/', $state); if (count($parts) < 3) { @@ -1264,18 +1254,22 @@ class PanelBoxValidationResource extends Resource return; } - if (!preg_match('/^\d+\/\d+\/\d+\/\d+$/', $state)) { + $parts = explode('/', $state); + + if (count($parts) < 3) { + Notification::make() ->title('Invalid QR Format') - ->body('Expected format: plantcode/itemcode/yearmm/serialnumber') + ->body('Expected format: plantcode/itemcode/yearmm/serialnumber (Or) plantcode/panelboxcode/serialnumber') ->danger() ->send(); - $set('serial_number_panel_qr', null); + $set('item_id', null); return; } - $parts = explode('/', $state); - $extracted = trim(end($parts)); + $extracted = trim(implode('/', array_slice($parts, 2))); + + $expected = $get('serial_number'); if ($extracted == '') { $set('namePlatePanelError', "SerialNumber cant't be empty!"); @@ -1294,13 +1288,13 @@ class PanelBoxValidationResource extends Resource $set('namePlatePanelError', null); $set('name_plate_panel_qr', $extracted); $set('name_plate_panel', '1'); - $panelParts = array_map('trim', explode('/', $state)); + $panelParts = explode('/', $state); - if (count($panelParts) != 4) { + if (count($panelParts) < 3) { Notification::make() ->title('Invalid QR Format') - ->body('Expected format: plantcode/itemcode/yearmm/serialnumber') + ->body('Expected format: plantcode/itemcode/yearmm/serialnumber (Or) plantcode/panelboxcode/serialnumber') ->danger() ->send(); $set('item_id', null); @@ -1309,9 +1303,7 @@ class PanelBoxValidationResource extends Resource $supplier = $panelParts[0]; $panelBoxCode = $panelParts[1]; - $yearMonth = $panelParts[2]; - $serialNumber = $panelParts[3]; - $panelBoxSerialNo = $yearMonth . $serialNumber; + $panelBoxSerialNo = implode('/', array_slice($panelParts, 2)); $set('panel_box_supplier', $supplier); $set('panel_box_serial_number', $panelBoxSerialNo);