fix(laporan-penilai-jaminan): perbaikkan filter tanggal dan stype llaporan

This commit is contained in:
majid
2025-03-26 15:01:19 +07:00
committed by putrakuningan
parent c8183fd3c1
commit 1b87f62b36
2 changed files with 80 additions and 53 deletions

View File

@@ -89,13 +89,16 @@ class LaporanPenilaiJaminanController extends Controller
$userTeam = TeamsUsers::with('team')->firstWhere('user_id', $user->id);
$regionId = $userTeam?->team->regions_id;
}
$paramsSearch = null;
// dd($startDate);
// Retrieve data from the database
$query = Permohonan::query();
// Apply search filter if provided
if ($request->has('search') && !empty($request->get('search'))) {
$search = $request->get('search');
$paramsSearch = json_decode($search);
$query->where(function ($q) use ($search) {
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%')
->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%')
@@ -104,10 +107,14 @@ class LaporanPenilaiJaminanController extends Controller
->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%')
->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%');
// Split search term by comma to allow multiple statuses
if (!empty($paramsSearch->tanggal_awal) && !empty($paramsSearch->tanggal_akhir)) {
$q->whereBetween('tanggal_permohonan', [$paramsSearch->tanggal_awal, $paramsSearch->tanggal_akhir]);
}
$statusKeywords = explode(',', $search);
foreach ($statusKeywords as $keyword) {
$q->orWhere('status', 'LIKE', '%' . trim($keyword) . '%');
$q->orWhereRelation('penilai', 'type_penilai', 'LIKE', '%' . trim($keyword) . '%');
}
});
}