Added logic to tube sticker panel and warranty panel in panel box validation
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 13s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 14s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 20s
Laravel Pint / pint (pull_request) Successful in 4m4s
Laravel Larastan / larastan (pull_request) Failing after 4m25s

This commit is contained in:
dhanabalan
2026-09-08 15:20:37 +05:30
parent 0a2f6607cb
commit 3f6852c5de

View File

@@ -1254,7 +1254,7 @@ class PanelBoxValidationResource extends Resource
return; return;
} }
$parts = explode('/', $state); $parts = explode('/', $state);
if (count($parts) < 3) { if (count($parts) < 3) {
@@ -1331,18 +1331,20 @@ class PanelBoxValidationResource extends Resource
return; return;
} }
if (!preg_match('/^\d+\/\d+\/\d+\/\d+$/', $state)) { $parts = explode('/', $state);
if (count($parts) < 3) {
Notification::make() Notification::make()
->title('Invalid QR Format') ->title('Invalid QR Format')
->body('Expected format: plantcode/itemcode/yearmm/serialnumber') ->body('Expected format: plantcode/itemcode/yearmm/serialnumber (Or) plantcode/panelboxcode/serialnumber')
->danger() ->danger()
->send(); ->send();
$set('serial_number_panel_qr', null); $set('item_id', null);
return; return;
} }
$parts = explode('/', $state); $extracted = trim(implode('/', array_slice($parts, 2)));
$extracted = trim(end($parts));
if ($extracted == '') { if ($extracted == '') {
$set('tubeStickerPanelError', "SerialNumber can't be empty!"); $set('tubeStickerPanelError', "SerialNumber can't be empty!");
@@ -1361,13 +1363,13 @@ class PanelBoxValidationResource extends Resource
$set('tubeStickerPanelError', null); $set('tubeStickerPanelError', null);
$set('tube_sticker_panel_qr', $extracted); $set('tube_sticker_panel_qr', $extracted);
$set('tube_sticker_panel', '1'); $set('tube_sticker_panel', '1');
$panelParts = array_map('trim', explode('/', $state)); $panelParts = explode('/', $state);
if (count($panelParts) != 4) { if (count($panelParts) < 3) {
Notification::make() Notification::make()
->title('Invalid QR Format') ->title('Invalid QR Format')
->body('Expected format: plantcode/itemcode/yearmm/serialnumber') ->body('Expected format: plantcode/itemcode/yearmm/serialnumber (Or) plantcode/panelboxcode/serialnumber')
->danger() ->danger()
->send(); ->send();
$set('item_id', null); $set('item_id', null);
@@ -1376,9 +1378,7 @@ class PanelBoxValidationResource extends Resource
$supplier = $panelParts[0]; $supplier = $panelParts[0];
$panelBoxCode = $panelParts[1]; $panelBoxCode = $panelParts[1];
$yearMonth = $panelParts[2]; $panelBoxSerialNo = implode('/', array_slice($panelParts, 2));
$serialNumber = $panelParts[3];
$panelBoxSerialNo = $yearMonth . $serialNumber;
$set('panel_box_supplier', $supplier); $set('panel_box_supplier', $supplier);
$set('panel_box_serial_number', $panelBoxSerialNo); $set('panel_box_serial_number', $panelBoxSerialNo);
@@ -1407,18 +1407,20 @@ class PanelBoxValidationResource extends Resource
return; return;
} }
if (!preg_match('/^\d+\/\d+\/\d+\/\d+$/', $state)) { $parts = explode('/', $state);
if (count($parts) < 3) {
Notification::make() Notification::make()
->title('Invalid QR Format') ->title('Invalid QR Format')
->body('Expected format: plantcode/itemcode/yearmm/serialnumber') ->body('Expected format: plantcode/itemcode/yearmm/serialnumber (Or) plantcode/panelboxcode/serialnumber')
->danger() ->danger()
->send(); ->send();
$set('serial_number_panel_qr', null); $set('item_id', null);
return; return;
} }
$parts = explode('/', $state); $extracted = trim(implode('/', array_slice($parts, 2)));
$extracted = trim(end($parts));
if ($extracted == '') { if ($extracted == '') {
$set('warrantyCardPanelError', "SerialNumber can't be empty!"); $set('warrantyCardPanelError', "SerialNumber can't be empty!");
@@ -1437,13 +1439,13 @@ class PanelBoxValidationResource extends Resource
$set('warrantyCardPanelError', null); $set('warrantyCardPanelError', null);
$set('warranty_card_qr', $extracted); $set('warranty_card_qr', $extracted);
$set('warranty_card_panel', '1'); $set('warranty_card_panel', '1');
$panelParts = array_map('trim', explode('/', $state)); $panelParts = explode('/', $state);
if (count($panelParts) != 4) { if (count($panelParts) < 3) {
Notification::make() Notification::make()
->title('Invalid QR Format') ->title('Invalid QR Format')
->body('Expected format: plantcode/itemcode/yearmm/serialnumber') ->body('Expected format: plantcode/itemcode/yearmm/serialnumber (Or) plantcode/panelboxcode/serialnumber')
->danger() ->danger()
->send(); ->send();
$set('item_id', null); $set('item_id', null);
@@ -1452,9 +1454,7 @@ class PanelBoxValidationResource extends Resource
$supplier = $panelParts[0]; $supplier = $panelParts[0];
$panelBoxCode = $panelParts[1]; $panelBoxCode = $panelParts[1];
$yearMonth = $panelParts[2]; $panelBoxSerialNo = implode('/', array_slice($panelParts, 2));
$serialNumber = $panelParts[3];
$panelBoxSerialNo = $yearMonth . $serialNumber;
$set('panel_box_supplier', $supplier); $set('panel_box_supplier', $supplier);
$set('panel_box_serial_number', $panelBoxSerialNo); $set('panel_box_serial_number', $panelBoxSerialNo);