Files
lpj/resources/views/penilai/components/print-out-standar.blade.php
Daeng Deni Mardaeni 2937add646 🐛 fix(ui-print): Format nilai pasar wajar & perbaiki hitung hari kerja migrasi
- Terapkan number_format(ID) untuk nilai pasar wajar (0 desimal, ',' desimal, '.' ribuan)
- print-out-sederhana: format nilai per kategori & nilai perbandingan agar konsisten
- print-out-standar: format nilai per kategori, nilai perbandingan, dan total nilai pasar wajar
- Ganti perhitungan manual floor/diffInDays menjadi fungsi hitungHariKerja() yang akurat
- Parsing tanggal migrasi pakai Carbon::createFromFormat('d/m/Y H:i:s', ...) sebelum dihitung
- Tata ulang tampilan informasi Dinas Tata Ruang: wrapper tabel 'judul', struktur tabel rapi, <br> untuk array
- Inisialisasi $totalNilaiPasarWajar = 0 dan akumulasi nilai kategori + perbandingan dengan fallback kalkulasi
- Pastikan konsistensi format angka di seluruh laporan & fallback bila data backend tidak tersedia
- Uji: verifikasi format ribuan/jutaan, akurasi hari kerja (migrasi/non-migrasi), dan total nilai terhitung benar
2025-10-16 10:04:40 +07:00

458 lines
19 KiB
PHP

@include('lpj::penilai.components.header')
@php
$data = '';
$dokument = null;
foreach ($permohonan->documents as $dokumen) {
$data .= $dokumen->jenisJaminan->name . ', ';
$jenisAset = $dokumen->jenisJaminan->name;
$dokument = $dokumen;
}
$data = rtrim($data, ', ');
@endphp
<main class="content">
@php
$senior_officer = null;
if ($permohonan->debiture && $permohonan->documents) {
foreach ($permohonan->documents as $dokumen) {
$penilai = $permohonan->penilaian->userPenilai->where('role', 'penilai')->first();
$teams = $permohonan->region->teams;
if ($teams) {
foreach ($teams as $team) {
$team_users = $team->teamsUsers;
// print_r($team_users);
if ($team_users) {
foreach ($team_users as $team_user) {
$user = $team_user->user;
if ($user && $user->hasRole('senior-officer')) {
$senior_officer = $user;
break 3;
}
}
}
}
}
}
}
@endphp
<div style="text-align: center; margin-top: 5px;">
<h4 style="text-transform: uppercase; font-size: 16px; margin: 0;">LAPORAN PENILAIAN ATAS
{{ $data }}</h4>
<p style="font-size: 12px; margin: 5px 0;">NO: {{ $nomorLaporan }}</p>
</div>
<hr />
<table style="width: 100%; ">
<tr>
<td style="vertical-align: top;">
<table>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Cabang/Pemohon</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; vertical-align: top;">
{{ $permohonan->debiture->branch->name ?? '' }}
</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px;">Tujuan Penilai</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ $permohonan->jenisFasilitasKredit->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px;">Ao</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">{{ $permohonan->user->name ?? $permohonan->mig_nama_ao ?? '' }}</td>
</tr>
</table>
</td>
<td style="vertical-align: top;">
<table>
<tr>
<td style="width: 25%; padding: 2px;">Tanggal Order</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; padding: 2px;">
{{ formatTanggalIndonesia($permohonan->tanggal_permohonan) }}</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px;">Tanggal Penilaian</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td style="vertical-align: top; width: 79%;">
{{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}
</td>
</tr>
</table>
</td>
</tr>
</table>
<div class="no-break">
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
IDENTITAS CADEB/DEBITUR
</td>
</tr>
</table>
<table style="width: 100%; ">
<tr>
<td style="width: 5%; padding: 2px; vertical-align: top;">Nama Debitur</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top; ">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Debitur / Wakil Debitur</td>
<td style="width: 1%; vertical-align: top;">:</td>
@if (isset($forminspeksi['asset']['debitur_perwakilan']))
<td>
@if (is_array($forminspeksi['asset']['debitur_perwakilan']))
@foreach ($forminspeksi['asset']['debitur_perwakilan'] as $item)
{{ $item ?? $permohonan->debiture->name ?? '' }}<br>
@endforeach
@else
{{ $forminspeksi['asset']['debitur_perwakilan'] ?? $permohonan->debiture->name ?? '' }}
@endif
</td>
@endif
</tr>
<tr>
<td style="width: 25%; padding: 2px; vertical-align: top;">Pihak Bank selain Appraisal</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="vertical-align: top;">{{ $forminspeksi['asset']['pihak_bank'] ?? '' }}
</td>
</tr>
</table>
</div>
<div class="no-break">
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
DESKRIPSI DAN ALAMAT ASET
</td>
</tr>
</table>
@if ($permohonan->is_mig == 1)
<table style="width: 100%; ">
@if (@isset($dokumen))
@foreach ($dokumen->detail as $detail)
@if (!empty($detail->name) && isset($detail->details) && !empty($detail->dokumen_jaminan))
<tr>
<td width="25%"><strong>{{ $detail->name ?? '' }}</strong></td>
</tr>
@endif
@if (isset($detail->details) && $detail->name == 'LOKASI JAMINAN')
@php
$details = json_decode($detail->details, true);
@endphp
@include('lpj::component.detail-lokasi', ['details' => $details])
@endif
@endforeach
@endif
</table>
@else
<table style="width: 100%; ">
<tr>
<td width="25%">Terletak di</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
<tr>
<td>Desa/Kelurahan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['village_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kecamatan</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['district_code'] ?? '' }}</td>
</tr>
<tr>
<td>Kabupaten/Kota</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $alamat['city_code'] ?? '' }}</td>
</tr>
<tr>
<td>Provinsi</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td>{{ $alamat['province_code'] ?? '' }}</td>
</tr>
</table>
@endif
</div>
{{-- <div class="no-break"> --}}
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
DOKUMEN
</td>
</tr>
</table>
<table style="width: 100%; ">
@include('lpj::component.print-out-dokument')
</table>
{{-- </div> --}}
<div class="no-break">
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
HUBUNGAN CADEB/DEBITUR DENGAN PEMILIK DAN PENGHUNI
</td>
</tr>
</table>
<table style="width:100%">
<tr>
@php
$cekHubDebitur = isset($forminspeksi['asset']['hub_cadeb']) &&
$forminspeksi['asset']['hub_cadeb'] === 'sesuai'
? 'sesuai'
: 'tidak sesuai';
$hubCadebDebitur = isset($forminspeksi['asset']['hub_cadeb'][$cekHubDebitur])
? $forminspeksi['asset']['hub_cadeb']['tidak sesuai']
: $forminspeksi['asset']['hub_cadeb']['sesuai'];
@endphp
<td style="width:25%; padding: 2px; vertical-align: top;">Hubungan Pemilik Jaminan dengan Debitur</td>
<td style="width:1%; padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $cekHubDebitur ?? '' }}</td>
</tr>
<tr>
@php
$cekHub =
isset($forminspeksi['asset']['hub_cadeb_penghuni']) &&
$forminspeksi['asset']['hub_cadeb_penghuni'] === 'sesuai'
? 'sesuai'
: 'tidak sesuai';
$hubCadeb = isset($forminspeksi['asset']['hub_cadeb_penghuni'][$cekHub])
? ($forminspeksi['asset']['hub_cadeb_penghuni']['tidak sesuai'] ?? null)
: ($forminspeksi['asset']['hub_cadeb_penghuni']['sesuai'] ?? null);
@endphp
<td style=" padding: 2px; vertical-align: top;">Hubungan Penghuni Jaminan dengan Debitur</td>
<td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
</tr>
</table>
</div>
@if ($permohonan->is_mig)
@php $mig_detail_legalitas_jaminan = json_decode($inspeksi->mig_detail_legalitas_jaminan, true); @endphp
@foreach($mig_detail_legalitas_jaminan as $key => $items)
<table width="100%">
<tr>
<td colspan="3" style="border: 1px solid #000; text-align: center;">
{{ $key }}
</td>
</tr>
@foreach ($items as $item)
<tr>
<td style="padding: 2px; vertical-align: top;">{{ $item['label'] }}</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $item['value'] }}</td>
</tr>
@endforeach
</table>
@endforeach
@endif
@foreach ($permohonan->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
@endphp
@if(!$permohonan->is_mig)
@if (isset($formKategori) && $formKategori)
@php
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
$kategoriUnik = array_unique($kategoriArray);
@endphp
@foreach ($kategoriUnik as $kategori)
@include('lpj::penilai.components.analisa.' . str_replace('-', '-', $kategori), [
'dokumen' => $dokumen,
])
@endforeach
@endif
@endif
@endif
@endforeach
<div class="no-break">
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
INFORMASI DATA PEMBANDING
</td>
</tr>
</table>
@if(isset($dataPembanding))
@include('lpj::penilai.components.print-pembanding')
@endif
</div>
<div class="no-break">
<table style="width: 100%; ">
<tr>
<td style="width: 100%; border: 1px solid #000; text-align: center;">
TOTAL NILAI PASAR WAJAR
</td>
</tr>
</table>
<table>
<tr>
<td colspan="3" style=" padding: 8px; text-align: left;">1. Total Nilai Pasar Wajar
</td>
</tr>
@php
$totalNilaiPasarWajar = 0;
$labelNilai = [
'bangunan' => 'Luas Bangunan',
'tanah' => 'Luas Tanah',
'apartemen-kantor' => 'Luas Unit',
'alat-berat' => 'Luas Alat Berat',
'mesin' => 'Luas Mesin',
'kendaraan' => 'Luas Kendaraan',
'pesawat' => 'Luas Pesawat',
'kapal' => 'Luas Kapal',
];
if (strcasecmp($jenisAset, 'RUKO/RUKAN') === 0) {
$labelNilai['bangunan'] = 'Luas Unit';
unset($labelNilai['tanah']);
}
@endphp
@foreach ($labelNilai as $key => $label)
@if (isset($lpjData['luas_' . $key]))
<tr>
<td style="padding: 3px; text-align: right; width:45%; ">
{{ $label }} {{ $lpjData['luas_' . $key] ?? '' }} m<sup>2</sup>
</td>
<td style="padding: 3px; width:5%;">
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
{{ $lpjData['nilai_' . $key . '_1'] ?? '' }}
</td>
<td style="padding: 3px; text-align: left; width:60%;">
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
{{ number_format($lpjData['nilai_' . $key . '_2'], 0, ',', '.') ?? '' }}
</td>
</tr>
@php $totalNilaiPasarWajar += $lpjData['nilai_' . $key . '_2']; @endphp
@endif
@endforeach
@if (isset($lpjData['npw_tambahan']))
@foreach ($lpjData['npw_tambahan'] as $npw)
<tr>
<td style="padding: 3px; text-align: right;">
{{ $npw['name'] }} {{ $npw['luas'] }} m<sup>2</sup>
</td>
<td style="padding: 3px;">
<span style="padding-left:20px; padding-right: 20px">X</span> Rp
{{ $npw['nilai_1'] }}
</td>
<td style="padding: 3px; text-align: left; width:70%">
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
{{ number_format($npw['nilai_2'], 0, ',', '.') ?? '' }}
</td>
</tr>
@php $totalNilaiPasarWajar += $npw['nilai_2']; @endphp
@endforeach
@endif
<tr>
<td style="padding: 3px; font-weight: bold; width:10%;">Total Nilai Pasar Wajar</td>
<td style="padding: 3px; text-align: right; font-weight: bold; width:10%"></td>
<td style="padding: 3px; text-align: left; font-weight: bold; width: 70%;">
<span style="padding-left: 20px; padding-right: 20px;">=</span>
<div style="display: inline-block; border-top: 1px solid black; padding-top: 3px;">
Rp {{ $lpjData['total_nilai_pasar_wajar'] ?? number_format($totalNilaiPasarWajar, 0, ',', '.') ?? '' }}
</div>
</td>
</tr>
<!-- Total Nilai Likuidasi -->
@if (isset($lpjData['likuidasi']) && $lpjData['likuidasi_nilai_2'] > 0)
<tr>
<td colspan="3" style="padding: 8px; text-align: left">
2. Total Nilai Likuidasi
</td>
</tr>
<tr>
<td style="padding: 3px; text-align: right; width:10%">
{{ $lpjData['likuidasi'] ?? '' }}%
</td>
<td style="padding: 3px; text-align: left; font-weight: bold; width:10%">
<span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar Wajar
</td>
<td style="padding: 3px; text-align: left; width:70%;">
<span style="padding-left:20px; padding-right: 20px"> = </span> Rp
{{ $lpjData['likuidasi_nilai_2'] ?? '' }}
</td>
</tr>
@endif
</table>
</div>
@php
$keterangan = $lpjData['keterangan_penilai'] ?? '';
if (is_array($keterangan)) {
$keterangan = implode(', ', array_filter($keterangan));
}
@endphp
@if (!empty($keterangan))
<table style="width: 100% margin-top: 20px">
<tr>
<td style="width: 25%; vertical-align: top;">Catatan yang Perlu Diperhatikan</td>
<td style="width:
1%; vertical-align: top">:</td>
<td style="vertical-align: top">
{!! nl2br(e($keterangan)) !!}
</td>
</tr>
</table>
@endif
<div class="no-break">
<table style="width: 100%">
<tr>
<td>Demikian laporan penilai jaminan ini di buat secara objektif, tanpa adanya pengaruh baik intern
maupun ekstern</td>
</tr>
</table>
@include('lpj::penilai.components.signature-approval')
</div>
<hr />
<table style="width: 100%; ">
<div style="margin-top: 20px;">
<label style="font-weight: bold;">DISCLAIMER</label>
<div>
<ol style="padding-left: 20px; list-style-type: decimal; margin-top: 0;">
<li style="margin-bottom: 5px;">PENILAIAN INI DIBUAT BERDASARKAN ATURAN YANG
BERLAKU DI SUBDIT APPRAISAL</li>
<li style="margin-bottom: 5px;">LAPORAN INI DIBUAT BERDASARKAN DATA FOTOCOPY
DOKUMEN YANG DITERIMA PENILAI DENGAN ASUMSI BAHWA DATA TERSEBUT SESUAI DENGAN
DOKUMEN ASLINYA</li>
<li style="margin-bottom: 5px;">PENILAI TIDAK MELAKUKAN PEMBUKTIAN LEBIH RINCI ATAU
PENGAKUAN TERTULIS DARI PIHAK YANG DITEMUI SAAT PENILAIAN, ATAS INFORMASI YANG
DIBERIKAN SECARA LISAN SEHUBUNGAN DENGAN IDENTITAS DIRI DAN HUBUNGAN DI ANTARA
PIHAK TERKAIT SAAT MELAKUKAN INSPEKSI OBJEK YANG DINILAI</li>
<li style="margin-bottom: 5px;">LAPORAN INI DIGUNAKAN HANYA UNTUK KEPENTINGAN
INTERNAL DAN DILARANG MENYEBARKAN KEPADA PIHAK KETIGA</li>
</ol>
</div>
</div>
</table>
</main>
@include('lpj::penilai.components.footer')