feat: penambahan pencarian berdasarkan nama debiture

This commit is contained in:
majid
2025-05-26 11:17:41 +07:00
parent 39424b5df5
commit f69128e18e
6 changed files with 237 additions and 226 deletions

View File

@@ -65,20 +65,18 @@ class LaporanPenilaiJaminanController extends Controller
$startDate = $search->start_date ?? '1900-01-01';
$endDate = $search->end_date ?? now()->toDateString();
$query->where(function ($q) use ($startDate, $endDate) {
$q->whereExists(function ($subQuery) use ($startDate, $endDate) {
$subQuery->select(DB::raw(1))
->from('penilaian')
->whereColumn('penilaian.nomor_registrasi', 'permohonan.nomor_registrasi')
->whereBetween('penilaian.tanggal_kunjungan', [$startDate, $endDate]);
})
->orWhereExists(function ($subQuery) use ($startDate, $endDate) {
$subQuery->select(DB::raw(1))
->from('penawaran')
->whereColumn('penawaran.nomor_registrasi', 'permohonan.nomor_registrasi')
->whereBetween('penawaran.tanggal_penilaian_sebelumnya', [$startDate, $endDate]);
$query->where(function ($q) use ($startDate, $endDate) {
$q->whereHas('penilaian', function ($q2) use ($startDate, $endDate) {
$q2->whereBetween('tanggal_kunjungan', [$startDate, $endDate]);
});
// OR check if has penawaran with date in range
$q->orWhereHas('penawaran', function ($q3) use ($startDate, $endDate) {
$q3->whereBetween('tanggal_penilaian_sebelumnya', [$startDate, $endDate]);
});
});
});
}
@@ -88,12 +86,12 @@ class LaporanPenilaiJaminanController extends Controller
}
if (isset($search->laporan) && is_array($search->laporan) && !empty($search->laporan)) {
foreach ($search->laporan as $type) {
$query->whereHas('penilai', function ($q) use ($type) {
$q->where('type_penilai', 'LIKE', '%' . $type . '%');
});
}
foreach ($search->laporan as $type) {
$query->whereHas('penilai', function ($q) use ($type) {
$q->where('type_penilai', 'LIKE', '%' . $type . '%');
});
}
}
// dd($search->search);
@@ -106,6 +104,8 @@ class LaporanPenilaiJaminanController extends Controller
$q->orWhereRelation('user', 'name', 'LIKE', '%' . $search->search . '%');
$q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search->search . '%');
$q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search->search . '%');
$q->orWhereRelation('debiture', DB::raw('LOWER(name)'), 'LIKE', '%' . strtolower($search->search) . '%');
$q->orWhereRelation('jenisFasilitasKredit', 'name', 'LIKE', '%' . $search->search . '%');
$q->orWhereRelation('jenisPenilaian', 'name', 'LIKE', '%' . $search->search . '%');
$q->orWhere('status', 'LIKE', '%' . $search->search . '%');
@@ -170,7 +170,7 @@ class LaporanPenilaiJaminanController extends Controller
$endDate = date('Y-m-d', strtotime($endDate));
if ($startDate > $endDate) {
return redirect()->back()->with('error', 'Tanggal awal tidak boleh lebih kecil dari tanggal akhir');
return redirect()->back()->with('error', 'Tanggal awal tidak boleh lebih kecil dari tanggal akhir');
}
}
// name the file