Added filter logic in asrs item validations resource page
Some checks failed
Gemini PR Review / Gemini PR Review (pull_request) Waiting to run
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Waiting to run
Laravel Larastan / larastan (pull_request) Waiting to run
Laravel Pint / pint (pull_request) Waiting to run
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled

This commit is contained in:
dhanabalan
2026-05-26 10:04:17 +05:30
parent 1f3d697b57
commit da526c7c0d

View File

@@ -215,7 +215,7 @@ class AsrsItemValidationResource extends Resource
if ($userHas && strlen($userHas) > 0) {
return Plant::where('id', $userHas)->pluck('name', 'id')->toArray();
} else {
return Plant::whereHas('vehicleEntries', function ($query) {
return Plant::whereHas('asrsItemValidations', function ($query) {
$query->whereNotNull('id');
})->orderBy('code')->pluck('name', 'id');
}
@@ -247,7 +247,6 @@ class AsrsItemValidationResource extends Resource
Select::make('status')
->label('Status')
->reactive()
->searchable()
->options(function (callable $get) {
$plantId = $get('Plant');
@@ -276,9 +275,27 @@ class AsrsItemValidationResource extends Resource
->native(false),
])
->query(function ($query, array $data) {
$status = $data['status'] ?? 'NotUpdated';
// Hide all records initially if no filters are applied
if (empty($data['Plant']) && empty($data['item_code']) && empty($data['status']) && empty($data['created_from']) && empty($data['created_to'])) {
return $query->whereRaw('1 = 0');
// if (empty($data['Plant']) && empty($data['item_code']) && empty($data['status']) && empty($data['created_from']) && empty($data['created_to'])) {
// // return $query->whereRaw('1 = 0');
// $query->where('status', 'NotUpdated');
// }
if (
empty($data['Plant']) &&
empty($data['item_code']) &&
empty($data['status']) &&
empty($data['created_from']) &&
empty($data['created_to'])
) {
// $query->where('status', 'NotUpdated');
$query->where(function ($q) {
$q->where('status', 'NotUpdated')
->orWhereNull('status')
->orWhere('status', '');
});
}
if (! empty($data['Plant'])) {
@@ -295,8 +312,17 @@ class AsrsItemValidationResource extends Resource
$query->where('item_code', 'like', '%'.$data['item_code'].'%');
}
if (! empty($data['status'])) {
$query->where('status', $data['status']);
if (!empty($data['status'])) {
if ($data['status'] == 'NotUpdated') {
$query->where(function ($q) {
$q->where('status', 'NotUpdated')
->orWhereNull('status')
->orWhere('status', '');
});
} else {
$query->where('status', $data['status']);
}
}
if (! empty($data['created_from'])) {