From 04da674868e696aafe4b860e67460970fd8571c1 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Thu, 3 Jul 2025 13:40:52 +0530 Subject: [PATCH] Added work_center column in resource file --- app/Filament/Resources/MachineResource.php | 26 +++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/app/Filament/Resources/MachineResource.php b/app/Filament/Resources/MachineResource.php index 49a5a6c..b633677 100644 --- a/app/Filament/Resources/MachineResource.php +++ b/app/Filament/Resources/MachineResource.php @@ -19,6 +19,8 @@ use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; use Filament\Tables\Actions\ImportAction; use Filament\Tables\Actions\ExportAction; +use Illuminate\Validation\Rule; +use Str; class MachineResource extends Resource { @@ -85,6 +87,13 @@ class MachineResource extends Resource } else { + $grpWrkCnr = Line::find($lineId)->group_work_center; + if (!$grpWrkCnr || Str::length($grpWrkCnr) < 1) + { + $set('mLineError', 'Please select a group work center line.'); + $set('line_id', null); + return; + } $set('mLineError', null); } }) @@ -95,7 +104,17 @@ class MachineResource extends Resource ->hintColor('danger'), Forms\Components\TextInput::make('name') ->label('Name') - ->required(), + ->placeholder('Scan the valid Machine Name') + ->required() + ->rule(function (callable $get) { + return Rule::unique('machines', 'name') + ->where('line_id', $get('line_id')) + ->where('plant_id', $get('plant_id')) + ->ignore($get('id')); // Ignore current record during updates + }), + Forms\Components\TextInput::make('work_center') + ->label('Work Center') + ->placeholder('Scan the valid Work Center'), Forms\Components\TextInput::make('id') ->hidden() ->readOnly(), @@ -126,6 +145,11 @@ class MachineResource extends Resource ->label('Name') ->searchable() ->alignCenter(), + Tables\Columns\TextColumn::make('work_center') + ->label('Work Center') + ->alignCenter() + ->sortable() + ->searchable(), Tables\Columns\TextColumn::make('created_at') ->label('Created At') ->alignCenter()