diff --git a/app/Filament/Resources/ProcessOrderResource.php b/app/Filament/Resources/ProcessOrderResource.php index 0a559ed..56d34a4 100644 --- a/app/Filament/Resources/ProcessOrderResource.php +++ b/app/Filament/Resources/ProcessOrderResource.php @@ -30,6 +30,7 @@ use Illuminate\Database\Eloquent\SoftDeletingScope; use Livewire\Features\SupportFileUploads\TemporaryUploadedFile; use Smalot\PdfParser\Parser; use Storage; +use Str; // use App\Models\PalletValidation; // use Dom\Text; @@ -613,7 +614,7 @@ class ProcessOrderResource extends Resource ->label('Advanced Filters') ->form([ Select::make('Plant') - ->label('Select Plant') + ->label('Select Plant Name') ->nullable() ->options(function (callable $get) { $userHas = Filament::auth()->user()->plant_id; @@ -643,27 +644,46 @@ class ProcessOrderResource extends Resource }), TextInput::make('process_order') ->label('Process Order') - ->placeholder('Enter Process Order'), + ->reactive() + ->placeholder('Enter Process Order') + ->afterStateUpdated(function ($state, callable $set, callable $get) { + $set('Rework', null); + }), + TextInput::make('coil_number') + ->label('Coil Number') + ->reactive() + ->placeholder('Enter Coil Number'), TextInput::make('sfg_number') - ->label('Sfg Number') - ->placeholder(placeholder: 'Enter Sfg Number'), + ->label('SFG Number') + ->reactive() + ->placeholder('Enter SFG Number'), TextInput::make('machine_name') ->label('Machine Name') - ->placeholder(placeholder: 'Enter Machine Name'), + ->reactive() + ->placeholder('Enter Machine Name'), + Select::make('rework_status') + ->label('Search by Rework Status') + ->nullable() + ->searchable() + ->reactive() + ->options([ + 1 => 'Yes', + 0 => 'No', + ]), DateTimePicker::make(name: 'created_from') ->label('Created From') - ->placeholder(placeholder: 'Select From DateTime') + ->placeholder('Select From DateTime') ->reactive() ->native(false), DateTimePicker::make('created_to') ->label('Created To') - ->placeholder(placeholder: 'Select To DateTime') + ->placeholder('Select To DateTime') ->reactive() ->native(false), ]) ->query(function ($query, array $data) { // Hide all records initially if no filters are applied - if (empty($data['Plant']) && empty($data['Item']) && empty($data['process_order']) && empty($data['sfg_number']) && empty($data['created_from']) && empty($data['created_to']) && empty($data['machine_name'])) { + if (empty($data['Plant']) && empty($data['Item']) && empty($data['process_order']) && Str::length($data['coil_number']) <= 0 && empty($data['sfg_number']) && empty($data['machine_name']) && ($data['rework_status'] == null || $data['rework_status'] == '') && empty($data['created_from']) && empty($data['created_to'])) { return $query->whereRaw('1 = 0'); } @@ -682,11 +702,16 @@ class ProcessOrderResource extends Resource } if (! empty($data['process_order'])) { - $query->where('process_order', $data['process_order']); + $query->where('process_order', 'like', '%'.$data['process_order'].'%'); + } + + if (Str::length($data['coil_number']) > 0) { + // $query->where('machine_name', $data['machine_name']); + $query->where('coil_number', 'like', '%'.$data['coil_number'].'%'); } if (! empty($data['sfg_number'])) { - $query->where('sfg_number', $data['sfg_number']); + $query->where('sfg_number', 'like', '%'.$data['sfg_number'].'%'); } if (! empty($data['machine_name'])) { @@ -694,6 +719,10 @@ class ProcessOrderResource extends Resource $query->where('machine_name', 'like', '%'.$data['machine_name'].'%'); } + if ($data['rework_status'] != null && $data['rework_status'] != '') { + $query->where('rework_status', $data['rework_status']); + } + if (! empty($data['created_from'])) { $query->where('created_at', '>=', $data['created_from']); } @@ -724,14 +753,22 @@ class ProcessOrderResource extends Resource $indicators[] = 'Process Order: '.$data['process_order']; } + if (Str::length($data['coil_number']) > 0) { + $indicators[] = 'Coil Number: '.$data['coil_number']; + } + if (! empty($data['sfg_number'])) { - $indicators[] = 'Sfg Number: '.$data['sfg_number']; + $indicators[] = 'SFG Number: '.$data['sfg_number']; } if (! empty($data['machine_name'])) { $indicators[] = 'Machine Name: '.$data['machine_name']; } + if ($data['rework_status'] != null && $data['rework_status'] != '') { + $indicators[] = ($data['rework_status'] == 1) ? 'Rework Status: Yes' : 'Rework Status: No'; + } + if (! empty($data['created_from'])) { $indicators[] = 'From: '.$data['created_from']; }