From 4593a5268e7ca9eb19cb38124c82f7ff8b397b6d Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Tue, 8 Sep 2026 14:50:38 +0530 Subject: [PATCH] changed pack slip panel logic in panel box validation --- .../Resources/PanelBoxValidationResource.php | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/app/Filament/Resources/PanelBoxValidationResource.php b/app/Filament/Resources/PanelBoxValidationResource.php index 22ffba1..8075357 100644 --- a/app/Filament/Resources/PanelBoxValidationResource.php +++ b/app/Filament/Resources/PanelBoxValidationResource.php @@ -1189,16 +1189,28 @@ class PanelBoxValidationResource extends Resource } $parts = explode('/', $state); + + if (count($parts) < 3) { + + Notification::make() + ->title('Invalid QR Format') + ->body('Expected format: plantcode/itemcode/yearmm/serialnumber (Or) plantcode/panelboxcode/serialnumber') + ->danger() + ->send(); + $set('item_id', null); + return; + } + $extracted = trim(end($parts)); + $expected = $get('serial_number'); + if ($extracted == '') { $set('packSlipPanelError', "SerialNumber can't be empty!"); $set('pack_slip_panel_qr', null); return; } - $expected = $get('serial_number'); - if ($extracted != $expected) { $set('packSlipPanelError', 'Pack Slip Panel serial does not match.'); $set('pack_slip_panel', null); @@ -1208,13 +1220,13 @@ class PanelBoxValidationResource extends Resource $set('packSlipPanelError', null); $set('pack_slip_panel_qr', $extracted); $set('pack_slip_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); @@ -1223,9 +1235,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);