From 34e83282fa5b6f2e7410225d0d0b6443aca6a007 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Mon, 7 Apr 2025 08:38:18 +0530 Subject: [PATCH] redirected to create page after scanning process completed --- .../Resources/QualityValidationResource.php | 90 +++++++++++-------- 1 file changed, 55 insertions(+), 35 deletions(-) diff --git a/app/Filament/Resources/QualityValidationResource.php b/app/Filament/Resources/QualityValidationResource.php index fe9301513..27a399dc2 100644 --- a/app/Filament/Resources/QualityValidationResource.php +++ b/app/Filament/Resources/QualityValidationResource.php @@ -51,14 +51,13 @@ class QualityValidationResource extends Resource ->required(), Forms\Components\TextInput::make('production_order') ->required(), - // ->unique('quality_validations', 'production_order'), // Ensures unique values, - //.. Forms\Components\TextInput::make('item_id') ->label('Item Code') ->placeholder('Scan the valid QR code') ->reactive() ->required() + ->autofocus() ->afterStateUpdated(function (callable $set, callable $get, ?string $state) { $serialFields = [ @@ -158,7 +157,7 @@ class QualityValidationResource extends Resource } else if ($serialNumber === '') { $set('validationError', 'Waiting for full QR scan...'); - return; // Do not clear item_id, just wait for full input + return; } else if (strlen($serialNumber) < 9) { $set('validationError', 'Serial Number must be at least 9 digits.'); @@ -259,6 +258,7 @@ class QualityValidationResource extends Resource foreach ($serialnumber as $field) { if ($get("{$field}_visible")) { $set($field, $serialNumber); + break; } } @@ -297,8 +297,10 @@ class QualityValidationResource extends Resource return; } - if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPp]\|?$/', $state)) { - if (strpos($state, '|') === false) { + //if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPpCc]\|?$/', $state)) { + if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPpCc])?\|?$/', $state)) { + + if (strpos($state, '|') === false) { $set('pack_slip_motor_error', 'Scan valid QR code.'); return; } @@ -339,7 +341,7 @@ class QualityValidationResource extends Resource $itemCode = trim($parts[0]); $serialNumber = trim($parts[1]); - $serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove + $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove // Retrieve visible serial numbers $visibleSerialNumbers = array_filter([ @@ -396,8 +398,10 @@ class QualityValidationResource extends Resource return; } - if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPp]\|?$/', $state)) { - if (strpos($state, '|') === false) { + // if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPpCc]\|?$/', $state)) { + if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPpCc])?\|?$/', $state)) { + + if (strpos($state, '|') === false) { $set('pack_slip_pump_error', 'Scan valid QR code.'); return; } @@ -438,7 +442,7 @@ class QualityValidationResource extends Resource $itemCode = trim($parts[0]); $serialNumber = trim($parts[1]); - $serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove + $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove // Retrieve visible serial numbers $visibleSerialNumbers = array_filter([ @@ -493,8 +497,10 @@ class QualityValidationResource extends Resource return; } - if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPp]\|?$/', $state)) { - if (strpos($state, '|') === false) { + // if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPpCc]\|?$/', $state)) { + if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPpCc])?\|?$/', $state)) { + + if (strpos($state, '|') === false) { $set('pack_slip_pumpset_error', 'Scan valid QR code.'); return; } @@ -535,7 +541,7 @@ class QualityValidationResource extends Resource $itemCode = trim($parts[0]); $serialNumber = trim($parts[1]); - $serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove + $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove // Retrieve visible serial numbers $visibleSerialNumbers = array_filter([ @@ -591,8 +597,10 @@ class QualityValidationResource extends Resource return; } - if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPp]\|?$/', $state)) { - if (strpos($state, '|') === false) { + // if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPpCc]\|?$/', $state)) { + if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPpCc])?\|?$/', $state)) { + + if (strpos($state, '|') === false) { $set('name_plate_motor_error', 'Scan valid QR code.'); return; } @@ -633,7 +641,7 @@ class QualityValidationResource extends Resource $itemCode = trim($parts[0]); $serialNumber = trim($parts[1]); - $serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove + $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove // Retrieve visible serial numbers $visibleSerialNumbers = array_filter([ @@ -689,8 +697,10 @@ class QualityValidationResource extends Resource return; } - if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPp]\|?$/', $state)) { - if (strpos($state, '|') === false) { + // if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPpCc]\|?$/', $state)) { + if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPpCc])?\|?$/', $state)) { + + if (strpos($state, '|') === false) { $set('name_plate_pump_error', 'Scan valid QR code.'); return; } @@ -731,7 +741,7 @@ class QualityValidationResource extends Resource $itemCode = trim($parts[0]); $serialNumber = trim($parts[1]); - $serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove + $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove // Retrieve visible serial numbers $visibleSerialNumbers = array_filter([ @@ -787,8 +797,10 @@ class QualityValidationResource extends Resource return; } - if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPp]\|?$/', $state)) { - if (strpos($state, '|') === false) { + // if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPpCc]\|?$/', $state)) { + if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPpCc])?\|?$/', $state)) { + + if (strpos($state, '|') === false) { $set('name_plate_pumpset_error', 'Scan valid QR code.'); return; } @@ -829,7 +841,7 @@ class QualityValidationResource extends Resource $itemCode = trim($parts[0]); $serialNumber = trim($parts[1]); - $serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove + $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove // Retrieve visible serial numbers $visibleSerialNumbers = array_filter([ @@ -885,8 +897,10 @@ class QualityValidationResource extends Resource return; } - if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPp]\|?$/', $state)) { - if (strpos($state, '|') === false) { + // if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPpCc]\|?$/', $state)) { + if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPpCc])?\|?$/', $state)) { + + if (strpos($state, '|') === false) { $set('tube_sticker_motor_error', 'Scan valid QR code.'); return; } @@ -927,7 +941,7 @@ class QualityValidationResource extends Resource $itemCode = trim($parts[0]); $serialNumber = trim($parts[1]); - $serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove + $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove // Retrieve visible serial numbers $visibleSerialNumbers = array_filter([ @@ -983,8 +997,10 @@ class QualityValidationResource extends Resource return; } - if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPp]\|?$/', $state)) { - if (strpos($state, '|') === false) { + // if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPpCc]\|?$/', $state)) { + if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPpCc])?\|?$/', $state)) { + + if (strpos($state, '|') === false) { $set('tube_sticker_pump_error', 'Scan valid QR code.'); return; } @@ -1025,7 +1041,7 @@ class QualityValidationResource extends Resource $itemCode = trim($parts[0]); $serialNumber = trim($parts[1]); - $serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove + $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove // Retrieve visible serial numbers $visibleSerialNumbers = array_filter([ @@ -1081,7 +1097,7 @@ class QualityValidationResource extends Resource return; } - if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPp]\|?$/', $state)) { + if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPpCc]\|?$/', $state)) { if (strpos($state, '|') === false) { $set('tube_sticker_pumpset_error', 'Scan valid QR code.'); return; @@ -1123,7 +1139,7 @@ class QualityValidationResource extends Resource $itemCode = trim($parts[0]); $serialNumber = trim($parts[1]); - $serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove + $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove // Retrieve visible serial numbers $visibleSerialNumbers = array_filter([ @@ -1179,8 +1195,10 @@ class QualityValidationResource extends Resource return; } - if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPp]\|?$/', $state)) { - if (strpos($state, '|') === false) { + // if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})\/[MmPpCc]\|?$/', $state)) { + if (!preg_match('/^([a-zA-Z0-9]{6,})\|([1-9][a-zA-Z0-9]{8,})(?:\/[MmPpCc])?\|?$/', $state)) { + + if (strpos($state, '|') === false) { $set('warranty_card_error', 'Scan valid QR code.'); return; } @@ -1221,7 +1239,7 @@ class QualityValidationResource extends Resource $itemCode = trim($parts[0]); $serialNumber = trim($parts[1]); - $serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove + $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove // Retrieve visible serial numbers $visibleSerialNumbers = array_filter([ @@ -1441,7 +1459,7 @@ class QualityValidationResource extends Resource return; } - $expectedValue = $stickerMaster->part_validation4; + $expectedValue = $stickerMaster->part_validation5; // If input is empty, reset the error if ($state === null || trim($state) === '') { @@ -1538,7 +1556,7 @@ class QualityValidationResource extends Resource ->filters([ - Tables\Filters\TrashedFilter::make(), + Tables\Filters\TrashedFilter::make(), Filter::make('advanced_filters') ->label('Advanced Filters') ->form([ @@ -1552,12 +1570,14 @@ class QualityValidationResource extends Resource })->pluck('code', 'id'); }) ->searchable(), - DateTimePicker::make('created_from') + DateTimePicker::make(name: 'created_from') ->label('Created From') + ->reactive() ->native(false), DateTimePicker::make('created_to') ->label('Created To') + ->reactive() ->native(false), ]) ->query(function ($query, array $data) {