From 3f6852c5deeec8bc9f977dab6aecd9ba0a36605e Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Tue, 8 Sep 2026 15:20:37 +0530 Subject: [PATCH] Added logic to tube sticker panel and warranty panel in panel box validation --- .../Resources/PanelBoxValidationResource.php | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/app/Filament/Resources/PanelBoxValidationResource.php b/app/Filament/Resources/PanelBoxValidationResource.php index 9ef74f4..a7685ca 100644 --- a/app/Filament/Resources/PanelBoxValidationResource.php +++ b/app/Filament/Resources/PanelBoxValidationResource.php @@ -1254,7 +1254,7 @@ class PanelBoxValidationResource extends Resource return; } - $parts = explode('/', $state); + $parts = explode('/', $state); if (count($parts) < 3) { @@ -1331,18 +1331,20 @@ 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))); if ($extracted == '') { $set('tubeStickerPanelError', "SerialNumber can't be empty!"); @@ -1361,13 +1363,13 @@ class PanelBoxValidationResource extends Resource $set('tubeStickerPanelError', null); $set('tube_sticker_panel_qr', $extracted); $set('tube_sticker_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); @@ -1376,9 +1378,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); @@ -1407,18 +1407,20 @@ 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))); if ($extracted == '') { $set('warrantyCardPanelError', "SerialNumber can't be empty!"); @@ -1437,13 +1439,13 @@ class PanelBoxValidationResource extends Resource $set('warrantyCardPanelError', null); $set('warranty_card_qr', $extracted); $set('warranty_card_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); @@ -1452,9 +1454,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);