From 98daa2fd7e2b982d1da65960f8ce623c1a67ab55 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Thu, 20 Aug 2026 14:33:17 +0530 Subject: [PATCH] solved filter of item code logic in panel box validations page --- .../Resources/PanelBoxValidationResource.php | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/app/Filament/Resources/PanelBoxValidationResource.php b/app/Filament/Resources/PanelBoxValidationResource.php index 83d7289..a79ed97 100644 --- a/app/Filament/Resources/PanelBoxValidationResource.php +++ b/app/Filament/Resources/PanelBoxValidationResource.php @@ -1826,26 +1826,23 @@ class PanelBoxValidationResource extends Resource ->afterStateUpdated(function ($state, callable $set, callable $get) { $set('Item', null); }), - Select::make('Item') + Select::make('sticker_master_id') ->label('Search by Item Code') ->nullable() ->searchable() ->reactive() ->options(function (callable $get) { - $plantId = $get('Plant'); + $pId = $get('Plant'); - if (empty($plantId)) { - return []; - } - - return Item::whereHas('productionCharacteristics', function ($query) use ($plantId) { - if ($plantId) { - $query->where('plant_id', $plantId); + // if (empty($pId)) { + // return []; + // } + return Item::whereHas('stickerMasters', function ($query) use ($pId) { + if ($pId) { + $query->where('plant_id', $pId); } + $query->whereHas('panelBoxValidations'); })->pluck('code', 'id'); - }) - ->afterStateUpdated(function ($state, callable $set, callable $get) { - $set('production_order', null); }), TextInput::make('production_order') ->label('Production Order / Doc No') @@ -1893,8 +1890,14 @@ class PanelBoxValidationResource extends Resource $query->where('line_id', $data['Line']); } - if (! empty($data['Item'])) { - $query->where('item_id', $data['Item']); + if (! empty($data['sticker_master_id'])) { + $stickerMasterIds = StickerMaster::where('item_id', $data['sticker_master_id']) + ->pluck('id') + ->toArray(); + + if (! empty($stickerMasterIds)) { + $query->whereIn('sticker_master_id', $stickerMasterIds); + } } if (! empty($data['production_order'])) { @@ -1934,8 +1937,9 @@ class PanelBoxValidationResource extends Resource $indicators[] = 'Line Name: '.Line::where('id', $data['Line'])->value('name'); } - if (! empty($data['Item'])) { - $indicators[] = 'Item Code: '.Item::where('id', $data['Item'])->value('code'); + if (! empty($data['sticker_master_id'])) { + $itemCode = Item::find($data['sticker_master_id'])->code ?? 'Unknown'; + $indicators[] = 'Item Code: '.$itemCode; } if (! empty($data['production_order'])) {