After Quality Validation changes

This commit is contained in:
dhanabalan
2025-03-31 09:19:26 +05:30
parent 6e44b690f1
commit a93fe806bb

View File

@@ -14,6 +14,7 @@ use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
class QualityValidationResource extends Resource
{
protected static ?string $model = QualityValidation::class;
@@ -87,6 +88,11 @@ class QualityValidationResource extends Resource
$serialNumber = trim($parts[1]);
// Store serial number before resetting fields
$previousSerialNumber = $serialNumber;
$previousItemCode = $itemCode;
if (strlen($itemCode) < 6) {
$set('validationError', 'Item code must be at least 6 digits.');
$set('item_id', null);
@@ -120,14 +126,13 @@ class QualityValidationResource extends Resource
return;
}
//$set('validationError', null);
//$set('validationError', null);
$plantId = $get('plant_id'); // Get selected plant
if (!$plantId) {
$set('validationError', 'Please select a plant first.');
$set('item_id', null);
$set('sticker_master_id', null);
return;
}
@@ -163,8 +168,36 @@ class QualityValidationResource extends Resource
}
}
$serialExists = QualityValidation::where('sticker_master_id', $stickerMaster->id)
->where(function ($query) use ($serialNumber, $serialFields) {
foreach ($serialFields as $column) {
$query->orWhere($column, $serialNumber);
}
})->exists();
if ($serialExists) {
$set('validationError', 'Already scanning process completed.');
$set('item_id', "$previousItemCode|$previousSerialNumber"); // Restore original QR code
return;
}
// Check if the serial number exists in any column of any row
$serialExists = QualityValidation::where(function ($query) use ($serialNumber, $serialFields) {
foreach ($serialFields as $column) {
$query->orWhere($column, $serialNumber);
}
})->exists();
if ($serialExists) {
$set('validationError', 'Serial number already exists in quality validation.');
// Restore the serial number before returning
$set('item_id', "$itemCode|$previousSerialNumber"); // Reinsert full QR code
return;
}
// Clear validation error if all inputs match
$set('validationError', null);
$set('validationError', null);
// Filter columns with value `1`
$visibleColumns = [];