diff --git a/app/Http/Controllers/LaporanHasilPenilaianJaminanInternalExternalController.php b/app/Http/Controllers/LaporanHasilPenilaianJaminanInternalExternalController.php index 91ef5d5..3bac546 100644 --- a/app/Http/Controllers/LaporanHasilPenilaianJaminanInternalExternalController.php +++ b/app/Http/Controllers/LaporanHasilPenilaianJaminanInternalExternalController.php @@ -4,9 +4,9 @@ use App\Http\Controllers\Controller; use Illuminate\Http\Request; + use Maatwebsite\Excel\Facades\Excel; use Modules\Lpj\Exports\LaporanHasilPenilaianJaminanInternalExternalExport; use Modules\Lpj\Models\Permohonan; - use Maatwebsite\Excel\Facades\Excel; class LaporanHasilPenilaianJaminanInternalExternalController extends Controller { @@ -47,7 +47,7 @@ } if (isset($search->penilai_id) && !empty($search->penilai_id)) { - $query->whereHas('penilaian._user_penilai.userPenilaiTeam', function($q) use ($search) { + $query->whereHas('penilaian._user_penilai.userPenilaiTeam', function ($q) use ($search) { $q->where('user_id', $search->penilai_id); }); } @@ -93,11 +93,11 @@ $data = $query->with(['debiture.branch'])->get(); $data = $data->map(function ($permohonan) { - $luas_tanah = 0; - $luas_bangunan = 0; + $luas_tanah = 0; + $luas_bangunan = 0; $nilai_tanah = 0; $nilai_bangunan = 0; - $npw = 0; + $npw = 0; $nilai_liquidasi = 0; if (isset($permohonan->penilai->lpj)) { @@ -107,59 +107,82 @@ $luas_tanah = $lpj['luas_tanah'] ?? 0; $luas_bangunan = $lpj['luas_bangunan'] ?? 0; // Calculate nilai_tanah dynamically by looking for all keys that start with 'nilai_tanah_' - $nilai_tanah = str_replace('.', '', $lpj['nilai_tanah_2'] ?? 0); + $nilai_tanah = str_replace('.', '', $lpj['nilai_tanah_2'] ?? 0); $nilai_bangunan = str_replace('.', '', $lpj['nilai_bangunan_2'] ?? 0); $nilai_liquidasi = str_replace('.', '', $lpj['likuidasi_nilai_2'] ?? 0); } return [ - 'id' => $permohonan->id, - 'nomor_registrasi' => $permohonan->nomor_registrasi, - 'jenis_penilaian' => $permohonan->jenisPenilaian?->name, - 'tujuan_penilaian' => $permohonan->tujuanPenilaian?->name, - 'jenis_fasilitas_kredit' => $permohonan->jenisFasilitasKredit?->name, - 'branch' => $permohonan->debiture->branch?->name, - 'pemohon' => $permohonan->creator?->name, - 'cif' => $permohonan->debiture->cif, - 'name' => $permohonan->debiture?->name, - 'jenis_agunan' => $permohonan->documents?->pluck('jenisJaminan.name')->unique()->implode(', '), - 'alamat_agunan' => $permohonan->documents?->map(function ($document) { + 'id' => $permohonan->id, + 'nomor_registrasi' => $permohonan->nomor_registrasi, + 'jenis_penilaian' => $permohonan->jenisPenilaian?->name, + 'tujuan_penilaian' => $permohonan->tujuanPenilaian?->name, + 'jenis_fasilitas_kredit' => $permohonan->jenisFasilitasKredit?->name, + 'branch' => $permohonan->debiture->branch?->name, + 'pemohon' => $permohonan->creator?->name, + 'cif' => $permohonan->debiture->cif, + 'name' => $permohonan->debiture?->name, + 'jenis_agunan' => $permohonan->documents?->pluck('jenisJaminan.name') + ->unique() + ->implode(', '), + 'alamat_agunan' => $permohonan->documents?->map(function ($document) { return formatAlamat($document); })->unique()->implode(', '), - 'bukti_kepemilikan' => $permohonan->documents?->flatMap(function ($document) { - return $document->detail->map(function ($detail) { - return (!empty($detail->dokumen_nomor) && is_array($detail->dokumen_nomor)) - ? ($detail->jenisLegalitasJaminan->name ?? '') . "\n" . implode(', ', $detail->dokumen_nomor) - : null; - }); - })->filter()->unique()->implode(', '), - 'nama_pemilik' => $permohonan->documents?->pluck('pemilik.name')->unique()->implode(', '), - 'luas_tanah' => $luas_tanah . ' m²', - 'nilai_tanah' => formatRupiah($nilai_tanah,2), - 'luas_bangunan' => $luas_bangunan . ' m²', - 'nilai_bangunan' => formatRupiah($nilai_bangunan,2), - 'nilai_njop' => formatRupiah($permohonan->nilai_njop,2), - 'nilai_pasar_wajar' => formatRupiah($npw,2), - 'nilai_likuidasi' => formatRupiah($nilai_liquidasi,2), - 'tanggal_documen_diterima' => $permohonan->documents?->map(function ($document) { + 'bukti_kepemilikan' => (function() use ($permohonan) { + $legalitasItems = $permohonan->documents?->flatMap(function ($document) { + return $document->detail->map(function ($detail) { + // Jika tidak ada jenis legalitas jaminan, lewati + if (empty($detail->jenisLegalitasJaminan)) { + return null; + } + + // Hanya tampilkan detail yang memiliki dokumen_jaminan + if (empty($detail->dokumen_jaminan)) { + return null; + } + + // Tampilkan nama legalitas jaminan saja + return $detail->jenisLegalitasJaminan->name ?? ''; + }); + })->filter()->unique()->values()->toArray(); + + // Buat daftar bernomor + $result = ''; + foreach ($legalitasItems as $index => $item) { + $result .= ($index + 1) . '. ' . $item . "\n"; + } + + return $result; + })(), + 'nama_pemilik' => $permohonan->documents?->pluck('pemilik.name') + ->unique() + ->implode(', '), + 'luas_tanah' => $luas_tanah . ' m²', + 'nilai_tanah' => formatRupiah($nilai_tanah, 2), + 'luas_bangunan' => $luas_bangunan . ' m²', + 'nilai_bangunan' => formatRupiah($nilai_bangunan, 2), + 'nilai_njop' => formatRupiah($permohonan->nilai_njop, 2), + 'nilai_pasar_wajar' => formatRupiah($npw, 2), + 'nilai_likuidasi' => formatRupiah($nilai_liquidasi, 2), + 'tanggal_documen_diterima' => $permohonan->documents?->map(function ($document) { return $document->created_at->format('d-m-Y'); }), - 'tanggal_spk' => '', - 'nomor_spk' => '', + 'tanggal_spk' => '', + 'nomor_spk' => '', 'tanggal_rencana_kunjunagn' => '', - 'tanggal_kunjungan' => '', - 'taggal_delivered' => '', - 'jangka_waktu_sla' => '', - 'nama_penilai' => $permohonan->penilaian?->_user_penilai?->userPenilaiTeam?->name, - 'nama_team_leader' => $permohonan->penilaian?->teams, - 'saran' => '', - 'catatan' => '', + 'tanggal_kunjungan' => '', + 'taggal_delivered' => '', + 'jangka_waktu_sla' => '', + 'nama_penilai' => $permohonan->penilaian?->_user_penilai?->userPenilaiTeam?->name, + 'nama_team_leader' => $permohonan->penilaian?->teams, + 'saran' => '', + 'catatan' => '', 'tanggal_permohonan' => $permohonan->tanggal_permohonan, - 'tanggal_laporan' => $permohonan->approval_dd_at ?? $permohonan->approval_eo_at ?? '', - 'tanggal_review' => $permohonan->penilaian?->tanggal_kunjungan ?? '', + 'tanggal_laporan' => $permohonan->approval_dd_at ?? $permohonan->approval_eo_at ?? '', + 'tanggal_review' => $permohonan->penilaian?->tanggal_kunjungan ?? '', ]; }); diff --git a/resources/views/laporan_hasil_penilaian_jaminan_internal_external/index.blade.php b/resources/views/laporan_hasil_penilaian_jaminan_internal_external/index.blade.php index 462792f..f67fb41 100644 --- a/resources/views/laporan_hasil_penilaian_jaminan_internal_external/index.blade.php +++ b/resources/views/laporan_hasil_penilaian_jaminan_internal_external/index.blade.php @@ -292,6 +292,13 @@ }, bukti_kepemilikan: { title: 'Bukti Kepemilikan', + render: (item, data) => { + if (data.bukti_kepemilikan) { + // Ganti karakter baris baru dengan tag
untuk HTML + return data.bukti_kepemilikan.split('\n').join('
'); + } + return '-'; + }, }, nama_pemilik: { title: 'Nama Pemilik',