Added new validation characteristics form in pop up and updating data in production characteristics
Some checks failed
Gemini PR Review / Gemini PR Review (pull_request) Waiting to run
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Waiting to run
Laravel Larastan / larastan (pull_request) Waiting to run
Laravel Pint / pint (pull_request) Waiting to run
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled

This commit is contained in:
dhanabalan
2026-04-07 17:40:48 +05:30
parent 80c9ca827f
commit 5c3fd2bb04
5 changed files with 222 additions and 13 deletions

View File

@@ -92,7 +92,12 @@ class QualityValidationResource extends Resource
->hint(fn ($get) => $get('pqPlantError') ? $get('pqPlantError') : null)
->hintColor('danger'),
Forms\Components\Hidden::make('plant')
->default(fn () => session('last_selected_plant_id')),
->default(fn () => session('last_selected_plant_id'))
->afterStateHydrated(function ($state, $set) {
if (!$state && request()->has('plant_id')) {
$set('plant_id', request()->get('plant_id'));
}
}),
Forms\Components\Select::make('line_id')
->label('Line Name')
@@ -129,7 +134,12 @@ class QualityValidationResource extends Resource
->hint(fn ($get) => $get('pqLineError') ? $get('pqLineError') : null)
->hintColor('danger'),
Forms\Components\Hidden::make('line')
->default(fn () => session('last_selected_line')),
->default(fn () => session('last_selected_line'))
->afterStateHydrated(function ($state, $set) {
if (!$state && request()->has('line_id')) {
$set('line_id', request()->get('line_id'));
}
}),
Forms\Components\Hidden::make('sticker_master_id')
// ->relationship('stickerMaster', 'id')
->required(),
@@ -166,7 +176,12 @@ class QualityValidationResource extends Resource
->required(),
Forms\Components\Hidden::make('production')
->default(fn () => session('last_selected_production')),
->default(fn () => session('last_selected_production'))
->afterStateHydrated(function ($state, $set) {
if (!$state && request()->has('production_order')) {
$set('production_order', request()->get('production_order'));
}
}),
Forms\Components\Hidden::make('operator_id')
->required()
@@ -202,6 +217,7 @@ class QualityValidationResource extends Resource
Forms\Components\TextInput::make('item_id')
->label('Item Code')
// ->id('item_id')
->placeholder('Scan the valid QR code')
->reactive()
->required()
@@ -572,6 +588,9 @@ class QualityValidationResource extends Resource
->extraAttributes([
'onkeydown' => "if (event.key === 'Enter') { event.preventDefault(); return false; }",
])
->extraAttributes([
'id' => 'item_id'
])
->hint(fn ($get) => $get('validationError') ? $get('validationError') : null)
->hintColor('danger'),
@@ -2378,6 +2397,7 @@ class QualityValidationResource extends Resource
}
$expectedValue = $stickerMaster->part_validation1;
$mExpectedValue = $expectedValue ?? null;
if ($state == null || trim($state) == '') {
$set('part_validation1_error', null);
@@ -2398,10 +2418,11 @@ class QualityValidationResource extends Resource
$emails = $mailData['emails'];
$mUserName = Filament::auth()->user()->name;
if (! empty($emails)) {
// Mail::to($emails)->send(new InvalidSerialMail($serNo, $invoiceNumber, $mPlantName, $mInvoiceType));
Mail::to($emails)->send(
new InvalidQualityMail($state, $mPorder, $mPlantName, $mLinePart, $mUserName, 'InvalidPartNumber')
new InvalidQualityMail($state, $mPorder, $mPlantName, $mLinePart, $mUserName, $mExpectedValue, 'InvalidPartNumber')
);
} else {
\Log::warning("No recipients found for plant {$mPlantName}, module Serial, rule invalid_serial.");
@@ -2475,6 +2496,7 @@ class QualityValidationResource extends Resource
}
$expectedValue = $stickerMaster->part_validation2;
$mExpectedValue = $expectedValue ?? null;
if ($state == null || trim($state) == '') {
$set('part_validation2_error', null);
@@ -2492,10 +2514,11 @@ class QualityValidationResource extends Resource
$emails = $mailData['emails'];
$mUserName = Filament::auth()->user()->name;
if (! empty($emails)) {
// Mail::to($emails)->send(new InvalidSerialMail($serNo, $invoiceNumber, $mPlantName, $mInvoiceType));
Mail::to($emails)->send(
new InvalidQualityMail($state, $mPorder, $mPlantName, $mLinePart, $mUserName, 'InvalidPartNumber2')
new InvalidQualityMail($state, $mPorder, $mPlantName, $mLinePart, $mUserName, $mExpectedValue, 'InvalidPartNumber2')
);
} else {
\Log::warning("No recipients found for plant {$mPlantName}, module Serial, rule invalid_serial.");
@@ -2576,6 +2599,7 @@ class QualityValidationResource extends Resource
}
$expectedValue = $stickerMaster->part_validation3;
$mExpectedValue = $expectedValue ?? null;
if ($state == $expectedValue) {
$set('part_validation3_error', null);
@@ -2590,7 +2614,7 @@ class QualityValidationResource extends Resource
if (! empty($emails)) {
// Mail::to($emails)->send(new InvalidSerialMail($serNo, $invoiceNumber, $mPlantName, $mInvoiceType));
Mail::to($emails)->send(
new InvalidQualityMail($state, $mPorder, $mPlantName, $mLinePart, $mUserName, 'InvalidPartNumber3')
new InvalidQualityMail($state, $mPorder, $mPlantName, $mLinePart, $mUserName, $mExpectedValue, 'InvalidPartNumber3')
);
} else {
\Log::warning("No recipients found for plant {$mPlantName}, module Serial, rule invalid_serial.");
@@ -2663,6 +2687,7 @@ class QualityValidationResource extends Resource
}
$expectedValue = $stickerMaster->part_validation4;
$mExpectedValue = $expectedValue ?? null;
// If input is empty, reset the error
if ($state == null || trim($state) == '') {
@@ -2681,10 +2706,11 @@ class QualityValidationResource extends Resource
$emails = $mailData['emails'];
$mUserName = Filament::auth()->user()->name;
if (! empty($emails)) {
// Mail::to($emails)->send(new InvalidSerialMail($serNo, $invoiceNumber, $mPlantName, $mInvoiceType));
Mail::to($emails)->send(
new InvalidQualityMail($state, $mPorder, $mPlantName, $mLinePart, $mUserName, 'InvalidPartNumber4')
new InvalidQualityMail($state, $mPorder, $mPlantName, $mLinePart, $mUserName, $mExpectedValue, 'InvalidPartNumber4')
);
} else {
\Log::warning("No recipients found for plant {$mPlantName}, module Serial, rule invalid_serial.");
@@ -2823,12 +2849,31 @@ class QualityValidationResource extends Resource
Forms\Components\TextInput::make('id')
->hidden()
->readOnly(),
Forms\Components\View::make('components.production-checklist-wrapper')
->visible(fn ($livewire) => $livewire->showChecklist)
->statePath('checklist')
->viewData(fn ($livewire) => [
'existingRecords' => $livewire->existingRecords->toArray(),
'data' => $livewire->data,
'showChecklist' => $livewire->showChecklist,
]),
// Forms\Components\View::make('components.production-checklist-wrapper')
// ->statePath('checklist')
// ->key('checklist-view')
// ->viewData(fn ($livewire) => [
// 'existingRecords' => is_array($livewire->existingRecords)
// ? $livewire->existingRecords
// : $livewire->existingRecords->toArray(),
// 'showChecklist' => $livewire->showChecklist,
// ]),
]);
}
public static function getMailData($plantId)
{
$globalEmails = AlertMailRule::where('plant', 0)
->where('module', 'QualityValidation')
->where('rule_name', 'QualityMail')
@@ -3240,7 +3285,6 @@ class QualityValidationResource extends Resource
Tables\Actions\ViewAction::make(),
Tables\Actions\EditAction::make(),
])
->bulkActions([
Tables\Actions\BulkActionGroup::make([
Tables\Actions\DeleteBulkAction::make(),