From 17fcaf8b206f0d1d1fdc275349df2126c6381fe8 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Thu, 26 Feb 2026 22:11:36 +0530 Subject: [PATCH] Added hasMany relation on model files and Updated report filter functionality (and plant order by code) on resource file --- app/Filament/Resources/ProcessOrderResource.php | 2 +- .../ProductCharacteristicsMasterResource.php | 16 ++++++++++++---- app/Models/Plant.php | 5 +++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app/Filament/Resources/ProcessOrderResource.php b/app/Filament/Resources/ProcessOrderResource.php index 82192d1..6a84b18 100644 --- a/app/Filament/Resources/ProcessOrderResource.php +++ b/app/Filament/Resources/ProcessOrderResource.php @@ -791,7 +791,7 @@ class ProcessOrderResource extends Resource } else { return Plant::whereHas('processOrders', function ($query) { $query->whereNotNull('id'); - })->pluck('name', 'id'); + })->orderBy('code')->pluck('name', 'id'); } // return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray(); diff --git a/app/Filament/Resources/ProductCharacteristicsMasterResource.php b/app/Filament/Resources/ProductCharacteristicsMasterResource.php index 9a489c7..c087b1d 100644 --- a/app/Filament/Resources/ProductCharacteristicsMasterResource.php +++ b/app/Filament/Resources/ProductCharacteristicsMasterResource.php @@ -432,7 +432,15 @@ class ProductCharacteristicsMasterResource extends Resource ->options(function (callable $get) { $userHas = Filament::auth()->user()->plant_id; - return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray(); + if ($userHas && strlen($userHas) > 0) { + Plant::where('id', $userHas)->pluck('name', 'id')->toArray(); + } else { + return Plant::whereHas('productCharacteristicsMasters', function ($query) { + $query->whereNotNull('id'); + })->orderBy('code')->pluck('name', 'id'); + } + + // return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray(); }) ->afterStateUpdated(function ($state, callable $set, callable $get) { $set('Item', null); @@ -463,6 +471,7 @@ class ProductCharacteristicsMasterResource extends Resource ->label('Search by Item Code') ->nullable() ->searchable() + ->reactive() ->options(function (callable $get) { $plantId = $get('Plant'); @@ -475,8 +484,7 @@ class ProductCharacteristicsMasterResource extends Resource $query->where('plant_id', $plantId); } })->pluck('code', 'id'); - }) - ->reactive(), + }), // ->afterStateUpdated(function ($state, callable $set, callable $get) { // $set('process_order', null); // }), @@ -517,7 +525,7 @@ class ProductCharacteristicsMasterResource extends Resource } return Machine::whereHas('productCharacteristicsMasters', function ($query) use ($plantId, $lineId, $workGroupMasterId) { - if ($plantId && $lineId) { + if ($plantId && $lineId && $workGroupMasterId) { $query->where('plant_id', $plantId)->where('line_id', $lineId)->where('work_group_master_id', $workGroupMasterId); } })->pluck('work_center', 'id'); diff --git a/app/Models/Plant.php b/app/Models/Plant.php index 5318fd3..3b0cf40 100644 --- a/app/Models/Plant.php +++ b/app/Models/Plant.php @@ -93,6 +93,11 @@ class Plant extends Model return $this->hasMany(ProcessOrder::class); } + public function productCharacteristicsMasters() + { + return $this->hasMany(ProductCharacteristicsMaster::class); + } + public function equipmentMasters() { return $this->hasMany(EquipmentMaster::class, 'plant_id', 'id');