1
0
forked from poc/pds

redirected to create page after scanning process completed

This commit is contained in:
dhanabalan
2025-04-07 08:38:18 +05:30
parent e84a2e87b2
commit 34e83282fa

View File

@@ -51,14 +51,13 @@ class QualityValidationResource extends Resource
->required(), ->required(),
Forms\Components\TextInput::make('production_order') Forms\Components\TextInput::make('production_order')
->required(), ->required(),
// ->unique('quality_validations', 'production_order'), // Ensures unique values,
//..
Forms\Components\TextInput::make('item_id') Forms\Components\TextInput::make('item_id')
->label('Item Code') ->label('Item Code')
->placeholder('Scan the valid QR code') ->placeholder('Scan the valid QR code')
->reactive() ->reactive()
->required() ->required()
->autofocus()
->afterStateUpdated(function (callable $set, callable $get, ?string $state) { ->afterStateUpdated(function (callable $set, callable $get, ?string $state) {
$serialFields = [ $serialFields = [
@@ -158,7 +157,7 @@ class QualityValidationResource extends Resource
} }
else if ($serialNumber === '') { else if ($serialNumber === '') {
$set('validationError', 'Waiting for full QR scan...'); $set('validationError', 'Waiting for full QR scan...');
return; // Do not clear item_id, just wait for full input return;
} }
else if (strlen($serialNumber) < 9) { else if (strlen($serialNumber) < 9) {
$set('validationError', 'Serial Number must be at least 9 digits.'); $set('validationError', 'Serial Number must be at least 9 digits.');
@@ -259,6 +258,7 @@ class QualityValidationResource extends Resource
foreach ($serialnumber as $field) { foreach ($serialnumber as $field) {
if ($get("{$field}_visible")) { if ($get("{$field}_visible")) {
$set($field, $serialNumber); $set($field, $serialNumber);
break;
} }
} }
@@ -297,8 +297,10 @@ class QualityValidationResource extends Resource
return; 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) { 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.'); $set('pack_slip_motor_error', 'Scan valid QR code.');
return; return;
} }
@@ -339,7 +341,7 @@ class QualityValidationResource extends Resource
$itemCode = trim($parts[0]); $itemCode = trim($parts[0]);
$serialNumber = trim($parts[1]); $serialNumber = trim($parts[1]);
$serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove
// Retrieve visible serial numbers // Retrieve visible serial numbers
$visibleSerialNumbers = array_filter([ $visibleSerialNumbers = array_filter([
@@ -396,8 +398,10 @@ class QualityValidationResource extends Resource
return; 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) { 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.'); $set('pack_slip_pump_error', 'Scan valid QR code.');
return; return;
} }
@@ -438,7 +442,7 @@ class QualityValidationResource extends Resource
$itemCode = trim($parts[0]); $itemCode = trim($parts[0]);
$serialNumber = trim($parts[1]); $serialNumber = trim($parts[1]);
$serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove
// Retrieve visible serial numbers // Retrieve visible serial numbers
$visibleSerialNumbers = array_filter([ $visibleSerialNumbers = array_filter([
@@ -493,8 +497,10 @@ class QualityValidationResource extends Resource
return; 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) { 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.'); $set('pack_slip_pumpset_error', 'Scan valid QR code.');
return; return;
} }
@@ -535,7 +541,7 @@ class QualityValidationResource extends Resource
$itemCode = trim($parts[0]); $itemCode = trim($parts[0]);
$serialNumber = trim($parts[1]); $serialNumber = trim($parts[1]);
$serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove
// Retrieve visible serial numbers // Retrieve visible serial numbers
$visibleSerialNumbers = array_filter([ $visibleSerialNumbers = array_filter([
@@ -591,8 +597,10 @@ class QualityValidationResource extends Resource
return; 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) { 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.'); $set('name_plate_motor_error', 'Scan valid QR code.');
return; return;
} }
@@ -633,7 +641,7 @@ class QualityValidationResource extends Resource
$itemCode = trim($parts[0]); $itemCode = trim($parts[0]);
$serialNumber = trim($parts[1]); $serialNumber = trim($parts[1]);
$serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove
// Retrieve visible serial numbers // Retrieve visible serial numbers
$visibleSerialNumbers = array_filter([ $visibleSerialNumbers = array_filter([
@@ -689,8 +697,10 @@ class QualityValidationResource extends Resource
return; 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) { 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.'); $set('name_plate_pump_error', 'Scan valid QR code.');
return; return;
} }
@@ -731,7 +741,7 @@ class QualityValidationResource extends Resource
$itemCode = trim($parts[0]); $itemCode = trim($parts[0]);
$serialNumber = trim($parts[1]); $serialNumber = trim($parts[1]);
$serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove
// Retrieve visible serial numbers // Retrieve visible serial numbers
$visibleSerialNumbers = array_filter([ $visibleSerialNumbers = array_filter([
@@ -787,8 +797,10 @@ class QualityValidationResource extends Resource
return; 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) { 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.'); $set('name_plate_pumpset_error', 'Scan valid QR code.');
return; return;
} }
@@ -829,7 +841,7 @@ class QualityValidationResource extends Resource
$itemCode = trim($parts[0]); $itemCode = trim($parts[0]);
$serialNumber = trim($parts[1]); $serialNumber = trim($parts[1]);
$serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove
// Retrieve visible serial numbers // Retrieve visible serial numbers
$visibleSerialNumbers = array_filter([ $visibleSerialNumbers = array_filter([
@@ -885,8 +897,10 @@ class QualityValidationResource extends Resource
return; 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) { 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.'); $set('tube_sticker_motor_error', 'Scan valid QR code.');
return; return;
} }
@@ -927,7 +941,7 @@ class QualityValidationResource extends Resource
$itemCode = trim($parts[0]); $itemCode = trim($parts[0]);
$serialNumber = trim($parts[1]); $serialNumber = trim($parts[1]);
$serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove
// Retrieve visible serial numbers // Retrieve visible serial numbers
$visibleSerialNumbers = array_filter([ $visibleSerialNumbers = array_filter([
@@ -983,8 +997,10 @@ class QualityValidationResource extends Resource
return; 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) { 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.'); $set('tube_sticker_pump_error', 'Scan valid QR code.');
return; return;
} }
@@ -1025,7 +1041,7 @@ class QualityValidationResource extends Resource
$itemCode = trim($parts[0]); $itemCode = trim($parts[0]);
$serialNumber = trim($parts[1]); $serialNumber = trim($parts[1]);
$serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove
// Retrieve visible serial numbers // Retrieve visible serial numbers
$visibleSerialNumbers = array_filter([ $visibleSerialNumbers = array_filter([
@@ -1081,7 +1097,7 @@ class QualityValidationResource extends Resource
return; 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) { if (strpos($state, '|') === false) {
$set('tube_sticker_pumpset_error', 'Scan valid QR code.'); $set('tube_sticker_pumpset_error', 'Scan valid QR code.');
return; return;
@@ -1123,7 +1139,7 @@ class QualityValidationResource extends Resource
$itemCode = trim($parts[0]); $itemCode = trim($parts[0]);
$serialNumber = trim($parts[1]); $serialNumber = trim($parts[1]);
$serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove
// Retrieve visible serial numbers // Retrieve visible serial numbers
$visibleSerialNumbers = array_filter([ $visibleSerialNumbers = array_filter([
@@ -1179,8 +1195,10 @@ class QualityValidationResource extends Resource
return; 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) { 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.'); $set('warranty_card_error', 'Scan valid QR code.');
return; return;
} }
@@ -1221,7 +1239,7 @@ class QualityValidationResource extends Resource
$itemCode = trim($parts[0]); $itemCode = trim($parts[0]);
$serialNumber = trim($parts[1]); $serialNumber = trim($parts[1]);
$serialNumber = preg_replace('/\/[MmPp]$/', '', $serialNumber); // Remove $serialNumber = preg_replace('/\/[MmPpCc]$/', '', $serialNumber); // Remove
// Retrieve visible serial numbers // Retrieve visible serial numbers
$visibleSerialNumbers = array_filter([ $visibleSerialNumbers = array_filter([
@@ -1441,7 +1459,7 @@ class QualityValidationResource extends Resource
return; return;
} }
$expectedValue = $stickerMaster->part_validation4; $expectedValue = $stickerMaster->part_validation5;
// If input is empty, reset the error // If input is empty, reset the error
if ($state === null || trim($state) === '') { if ($state === null || trim($state) === '') {
@@ -1538,7 +1556,7 @@ class QualityValidationResource extends Resource
->filters([ ->filters([
Tables\Filters\TrashedFilter::make(), Tables\Filters\TrashedFilter::make(),
Filter::make('advanced_filters') Filter::make('advanced_filters')
->label('Advanced Filters') ->label('Advanced Filters')
->form([ ->form([
@@ -1552,12 +1570,14 @@ class QualityValidationResource extends Resource
})->pluck('code', 'id'); })->pluck('code', 'id');
}) })
->searchable(), ->searchable(),
DateTimePicker::make('created_from') DateTimePicker::make(name: 'created_from')
->label('Created From') ->label('Created From')
->reactive()
->native(false), ->native(false),
DateTimePicker::make('created_to') DateTimePicker::make('created_to')
->label('Created To') ->label('Created To')
->reactive()
->native(false), ->native(false),
]) ])
->query(function ($query, array $data) { ->query(function ($query, array $data) {