solved filter of item code logic in panel box validations page #916

Merged
jothi merged 1 commits from ranjith-dev into master 2026-08-20 09:03:36 +00:00

View File

@@ -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'])) {