fix: perbaikan form-penilai,inspeksi denah - ubah dokument ke documentId, dan print-out-sederhana berdasarkan kategori form

This commit is contained in:
majid
2025-05-21 14:10:36 +07:00
parent 0e4c8760f8
commit fa659ff115
4 changed files with 38 additions and 563 deletions

View File

@@ -36,7 +36,7 @@
Informasi dan pembanding Informasi dan pembanding
</h3> </h3>
<div class="card-tools"> <div class="card-tools">
<a href="{{ route('penilai.showDataPembanding', ['id' => $permohonan->id]) }}?dokument={{ request()->dokument }}&jenis_jaminan={{ request()->jaminanId }}" <a href="{{ route('penilai.showDataPembanding', ['id' => $permohonan->id]) }}?documentId={{ request()->documentId }}&jenis_jaminan={{ request()->jaminanId }}"
class="btn btn-primary" data-bs-toggle="modal"> class="btn btn-primary" data-bs-toggle="modal">
Edit Data Pembanding Edit Data Pembanding
</a> </a>

View File

@@ -17,12 +17,12 @@
<hr /> <hr />
<table style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td style="vertical-align: top;"> <td style="width: 50%; vertical-align: top;">
<table style="width: 100%; border-collapse: collapse;"> <table style="width: 100%; border-collapse: collapse;">
<tr> <tr>
<td style=" padding: 2px; vertical-align: top;">Nama Debitur</td> <td style=" padding: 2px; vertical-align: top;">Nama Debitur</td>
<td style=" padding: 2px; vertical-align: top;">:</td> <td style=" padding: 2px; vertical-align: top;">:</td>
<td style=" padding: 2px; vertical-align: top;">{{ $permohonan->debiture->name ?? '' }}</td> <td style=" padding: 2px; vertical-align: top;">{{ u $permohonan->debiture->name ?? '' }}</td>
</tr> </tr>
<tr> <tr>
<td>Alamat dan Telpon</td> <td>Alamat dan Telpon</td>
@@ -120,7 +120,7 @@
</tr> </tr>
</table> </table>
</td> </td>
<td style="vertical-align: top"> <td style="width: 50%; vertical-align: top">
<table style="width: 100%; border-collapse: collapse;"> <table style="width: 100%; border-collapse: collapse;">
<tr> <tr>
<td style=" padding: 2px; vertical-align: top;">Fasilitas Kredit</td> <td style=" padding: 2px; vertical-align: top;">Fasilitas Kredit</td>
@@ -191,17 +191,17 @@
<table> <table>
<tr> <tr>
<td style="width: 50%; border: 1px solid #000;"> <td style="width: 50%; border: 1px solid #000;">
A. STATUS KEPEMILIKAN, HUBUNGAN DAN PENGHUNI STATUS KEPEMILIKAN, HUBUNGAN DAN PENGHUNI
</td> </td>
<td style="width: 50%; border: 1px solid #000;"> <td style="width: 50%; border: 1px solid #000;">
C. SARANA PELENGKAP DAN LINGKUNGAN SARANA PELENGKAP DAN LINGKUNGAN
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td style="vertical-align: top;">
<table> <table style="vertical-align: top;">
<tr> <tr>
@php @php
@@ -236,328 +236,6 @@
<td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td> <td style=" padding: 2px; vertical-align: top;">{{ $hubCadeb ?? '' }}</td>
</tr> </tr>
</table> </table>
<table style="width: 100%; border: 1px solid #000; text-transform: uppercase;">
<tr>
<td>
B. ANALISA {{ $data }}
</td>
</tr>
</table>
@foreach ($permohonan->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
@endphp
@if (isset($formKategori) && $formKategori)
@php
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
$kategoriUnik = array_unique($kategoriArray);
@endphp
@foreach ($kategoriUnik as $kategori)
@if ($kategori === 'tanah')
<table>
<tr>
@php
$cekLuas = isset($forminspeksi['tanah']['luas_tanah']['tidak sesuai'])
? 'tidak sesuai'
: 'sesuai';
$luas = $forminspeksi['tanah']['luas_tanah'][$cekLuas] ?? null;
@endphp
<td style="padding: 2px; vertical-align: top;">Luas Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $luas ?? '' }} <span></span></td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Bentuk Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukTanah = isset(
$forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah'],
)
? $forminspeksi['tanah']['bentuk_tanah']['bentuk_tanah']
: [];
$lainnya = isset($forminspeksi['tanah']['bentuk_tanah']['lainnya'])
? $forminspeksi['tanah']['bentuk_tanah']['lainnya']
: null;
@endphp
{{ !empty($bentukTanah) ? implode(', ', $bentukTanah) : '' }}
@if (in_array('lainnya', array_map('strtolower', $bentukTanah)) && !empty($lainnya))
({{ $lainnya }})
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Kontur Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$konturTanah = $forminspeksi['tanah']['kontur_tanah'] ?? [];
@endphp
@if (!empty($konturTanah))
{{ implode(', ', $konturTanah) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Permukaan dengan Jalan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$ketinggianTanah = $forminspeksi['tanah']['ketinggian_tanah'];
$ketinggian = $ketinggianTanah['ketinggian'][0] ?? '-';
$lebihTinggi = $ketinggianTanah['lebih_tinggi'];
$lebihRendah = $ketinggianTanah['lebih_rendah'];
@endphp
{{ $ketinggian }}
@if ($ketinggian === 'Lebih Tinggi' && $lebihTinggi !== null)
(Ketinggian: {{ $lebihTinggi }} cm)
@elseif($ketinggian === 'Lebih Rendah' && $lebihRendah !== null)
(Kerendahan: {{ $lebihRendah }} cm)
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Peruntukan Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">Perumahan bukan Real Estate
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Fisik Tanah</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$kondisiFisikTanah =
$forminspeksi['tanah']['kondisi_fisik_tanah'][
'kondisi_fisik_tanah'
][0] ?? '-';
$lainnya =
$forminspeksi['tanah']['kondisi_fisik_tanah']['lainnya'] ??
null;
@endphp
{{ $kondisiFisikTanah }}
@if (strcasecmp($kondisiFisikTanah, 'Lainnya') === 0 && $lainnya)
({{ $lainnya }})
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Luas Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$luasTanahBangunan =
$forminspeksi['bangunan']['luas_tanah_bagunan'];
$output = !empty($luasTanahBangunan['sesuai'])
? $luasTanahBangunan['sesuai']
: (!empty($luasTanahBangunan['tidak sesuai'])
? $luasTanahBangunan['tidak sesuai']
: '-');
@endphp
{{ $output }} <span></span>
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Jenis Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$jenisBangunan = $forminspeksi['bangunan']['jenis_bangunan'] ?? [];
@endphp
@if (!empty($jenisBangunan))
{{ implode(', ', $jenisBangunan) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Kondisi Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$kondisiBangunan =
$forminspeksi['bangunan']['kondisi_bangunan'] ?? [];
@endphp
@if (!empty($kondisiBangunan))
{{ implode(', ', $kondisiBangunan) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Sifat Bangunan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$sifatBangunan =
$forminspeksi['bangunan']['sifat_bangunan'][0] ?? '-';
$sifatBangunanInput =
$forminspeksi['bangunan']['sifat_bangunan_input'];
// Filter input yang tidak null
$inputTambahan = array_filter($sifatBangunanInput, function (
$value,
) {
return $value !== null && $value !== '';
});
// Gabungkan sifat bangunan dengan input tambahan
$output = $sifatBangunan;
if (!empty($inputTambahan)) {
$output .= ' (' . implode(', ', $inputTambahan) . ')';
}
@endphp
{{ $output }}
</td>
</tr>
@php
$spesifikasiBangunan =
$forminspeksi['bangunan']['spesifikasi_bangunan'] ?? [];
@endphp
@if (!empty($spesifikasiBangunan))
@foreach ($spesifikasiBangunan as $index => $bangunan)
@php
$spekKategori = $bangunan['spek_kategori_bangunan'] ?? [];
@endphp
@if (count($spesifikasiBangunan) > 1)
<tr>
<td colspan="3"
style="padding: 2px; vertical-align: top; font-weight: bold;">
{{ $bangunan['bagunan'] ?? 'Bangunan ' . ($index + 1) }}
</td>
</tr>
@endif
@foreach ($spekKategori as $kategori => $nilaiKategori)
@if (!empty($nilaiKategori))
<tr>
<td style="padding: 2px; vertical-align: top;">
{{ $kategori }}</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
{{ implode(', ', $nilaiKategori) }}</td>
</tr>
@endif
@endforeach
@endforeach
@else
<tr>
<td colspan="3" style="padding: 2px; vertical-align: top;">Tidak
ada data
spesifikasi bangunan</td>
</tr>
@endif
</table>
@elseif ($kategori === 'apartemen-kantor')
<table>
<tr>
@php
$cekLuas = isset($forminspeksi['luas_unit']['tidak sesuai'])
? 'tidak sesuai'
: 'sesuai';
$luas = $forminspeksi['luas_unit'][$cekLuas] ?? null;
@endphp
<td style="padding: 2px; vertical-align: top;">Luas Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $luas ?? '' }} m<sup>2</sup> </td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Bentuk Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['bentuk_unit'] ?? [];
@endphp
@if (!empty($bentukUnit))
{{ implode(', ', $bentukUnit) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Kondisi Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['kondisi_unit'] ?? [];
@endphp
@if (!empty($bentukUnit))
{{ implode(', ', $bentukUnit) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Posisi Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['posisi_unit'] ?? [];
@endphp
@if (!empty($bentukUnit))
{{ implode(', ', $bentukUnit) }}
@else
-
@endif
</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">View Unit</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">
@php
$bentukUnit = $forminspeksi['view'] ?? [];
@endphp
@if (!empty($bentukUnit))
{{ implode(', ', $bentukUnit) }}
@else
-
@endif
</td>
</tr>
</table>
@endif
@endforeach
@endif
@endif
@endforeach
</td> </td>
<td style="width: 50%; vertical-align: top;"> <td style="width: 50%; vertical-align: top;">
@@ -693,11 +371,36 @@
</tr> </tr>
</table> </table>
</div> </div>
@foreach ($permohonan->documents as $dokumen)
@if ($dokumen->jenisJaminan)
@php
$formKategori = json_decode($dokumen->jenisJaminan->form_kategori, true);
@endphp
@if (isset($formKategori) && $formKategori)
@php
$kategoriArray = is_array($formKategori) ? $formKategori : [$formKategori];
$kategoriUnik = array_unique($kategoriArray);
@endphp
@foreach ($kategoriUnik as $kategori)
@if ($kategori !== 'lingkungan')
@include('lpj::penilai.components.analisa.' . str_replace('-', '-', $kategori), [
'dokumen' => $dokumen,
])
@endif
@endforeach
@endif
@endif
@endforeach
<div class="no-break"> <div class="no-break">
<table style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td style=" border: 1px solid #000;"> <td style=" border: 1px solid #000; text-align: center;">
D. INFORMASI HARGA INFORMASI HARGA
</td> </td>
</tr> </tr>
</table> </table>
@@ -706,7 +409,7 @@
<div class="no-break"> <div class="no-break">
<table style="width: 100%"> <table style="width: 100%">
<tr> <tr>
<td style="border: 1px solid #000; "> <strong>E. INFORMASI NILAI</strong> <td style="border: 1px solid #000; text-align: center;"> INFORMASI NILAI
</td> </td>
</tr> </tr>
</table> </table>
@@ -801,233 +504,5 @@
</tr> </tr>
</table> </table>
</div> </div>
<div class="no-break">
<table style="width: 100%;">
<tr>
<td style="border: 1px solid #000;">
F. ANALISA FAKTA
</td>
</tr>
<tr>
<table>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Faktor Positif</strong></td>
<td>
@isset($forminspeksi['fakta']['fakta_positif'])
<table style="width: 100%; border-collapse: collapse;">
@foreach ($forminspeksi['fakta']['fakta_positif'] as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@endisset
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Faktor Negatif</strong></td>
<td>
@isset($forminspeksi['fakta']['fakta_negatif'])
<table style="width: 100%; border-collapse: collapse;">
@foreach ($forminspeksi['fakta']['fakta_negatif'] as $key => $item)
<tr>
<td>{!! nl2br(e($item)) !!}</td>
</tr>
@endforeach
</table>
@endisset
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Batas batas</strong></td>
<td>
@foreach ($forminspeksi['fakta']['batas_batas_input'] ?? [] as $arah => $batas)
@if ($batas)
<p> - {{ $arah }} : {{ $batas }}</p>
@endif
@endforeach
</td>
</tr>
<tr>
<td width="25%" style="vertical-align: top;"><strong>Informasi Dinas Tata Ruang</strong>
</td>
<td>
@php
$informasi = [
'peruntukan',
'kdb',
'kdh',
'gsb',
'max_lantai',
'klb',
'gss',
'pelebaran_jalan',
'nama_petugas',
];
@endphp
@foreach ($informasi as $key)
@if (isset($forminspeksi['fakta'][$key]) && $forminspeksi['fakta'][$key] !== '-')
@php
$displayKey = ucfirst(str_replace('_', ' ', $key));
if (strlen($key) == 3) {
$displayKey = strtoupper($key);
}
@endphp
<p> - {{ $displayKey }}: {{ $forminspeksi['fakta'][$key] }}</p>
@endif
@endforeach
</td>
</tr>
@if (!empty($forminspeksi['fakta']['keterangan']))
<tr>
<td width="25%" style="vertical-align: top;"><strong>Catatan yang Perlu
Diperhatikan</strong></td>
<td>
@php
$keterangan = $forminspeksi['fakta']['keterangan'] ?? '';
if (is_array($keterangan)) {
$keterangan = implode(', ', array_filter($keterangan));
}
@endphp
@if (!empty($keterangan))
<table style="width: 100%; border-collapse: collapse;">
<tr>
<td>{{ $keterangan }}</td>
</tr>
</table>
@endif
</td>
</tr>
@endif
</table>
</tr>
<tr>
<td>
<table>
<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>
</td>
</tr>
<tr>
<td>Demikian laporan penilai jaminan ini di buat secara objektif, tanpa adanya pengaruh baik intern
maupun ekstern</td>
</tr>
<tr>
<table style="width: 100%; border-collapse: collapse; text-align: center;">
@php
use Modules\Usermanagement\Models\User;
$penilaiUser = User::where('id', $penilai->userPenilaiTeam->id)->first();
$imagePathPenilai = storage_path(
'app/public/signatures/' . $penilaiUser->id . '/' . $penilaiUser->sign,
);
$soUser = User::where('id', $senior_officer->id)->first();
$imagePathSo = storage_path('app/public/signatures/' . $soUser->id . '/' . $soUser->sign);
$imagePathEO = storage_path(
'app/public/signatures/' .
User::role('EO Appraisal')->first()->id .
'/' .
User::role('EO Appraisal')->first()->sign,
);
$imagePathDD = storage_path(
'app/public/signatures/' .
User::role('DD Appraisal')->first()->id .
'/' .
User::role('DD Appraisal')->first()->sign,
);
@endphp
<tr>
<td style=" padding: 4px;height: 50px">
@if (file_exists($imagePathPenilai))
<img src="{{ $imagePathPenilai }}" alt="{{ $imagePathPenilai }}" width="80px">
@endif
</td>
@if ($permohonan->approval_so != null)
<td style=" padding: 4px;height: 50px">
@if (file_exists($imagePathSo))
<img src="{{ $imagePathSo }}" alt="{{ $imagePathSo }}" width="80px">
@endif
</td>
@endif
@if ($permohonan->approval_eo != null)
<td style=" padding: 4px;height: 50px">
@if (file_exists($imagePathEO))
<img src="{{ $imagePathEO }}" alt="{{ $imagePathEO }}" width="80px">
@endif
</td>
@endif
@if ($permohonan->approval_dd != null)
<td style=" padding: 4px;height: 50px">
@if (file_exists($imagePathDD))
<img src="{{ $imagePathDD }}" alt="{{ $imagePathDD }}" width="80px">
@endif
</td>
@endif
</tr>
<tr>
<td style=" padding: 4px;">{{ $penilai->userPenilaiTeam->name ?? '' }}</br>
<span>
{{ ucwords(strtolower('PENILAI')) }}
</span>
</td>
@if ($permohonan->approval_so != null)
<td style=" padding: 4px;">
{{ $senior_officer->name ?? '' }}</br>
<span>
{{ ucwords(strtolower('SENIOR OFFICER')) }}
</span>
</td>
@endif
@if ($permohonan->approval_eo != null)
<td style=" padding: 4px;">
{{ User::role('EO Appraisal')->first()->name ?? '' }}</br>
<span>
{{ ucwords(strtolower('EXECUTIVE OFFICER')) }}
</span>
</td>
@endif
@if ($permohonan->approval_dd != null)
<td style=" padding: 4px;">
{{ User::role('DD Appraisal')->first()->name ?? '' }}</br>
<span>
{{ ucwords(strtolower('DEPUTY DIRECTOR')) }}
</span>
</td>
@endif
</tr>
</table>
</tr>
</table>
</div>
</main> </main>
@include('lpj::penilai.components.footer') @include('lpj::penilai.components.footer')

View File

@@ -35,7 +35,7 @@
<form id="formDenah" method="POST" enctype="multipart/form-data" class="w-full"> <form id="formDenah" method="POST" enctype="multipart/form-data" class="w-full">
@csrf @csrf
<input type="hidden" value="{{ $permohonan->id }}" name="permohonan_id"> <input type="hidden" value="{{ $permohonan->id }}" name="permohonan_id">
<input type="hidden" name="dokument_id" value="{{ request('dokument') }}"> <input type="hidden" name="dokument_id" value="{{ request('documentId') }}">
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}"> <input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
<!-- Container untuk daftar denah --> <!-- Container untuk daftar denah -->
<div id="denah-container"> <div id="denah-container">

View File

@@ -10,7 +10,7 @@
<form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5"> <form id="formInspeksi" method="POST" enctype="multipart/form-data" class="grid gap-5">
@csrf @csrf
<input id="permohonan_id" type="hidden" name="permohonan_id" value="{{ $permohonan->id }}"> <input id="permohonan_id" type="hidden" name="permohonan_id" value="{{ $permohonan->id }}">
<input id="dokument_id" type="hidden" name="dokument_id" value="{{ request('dokument') }}"> <input id="dokument_id" type="hidden" name="dokument_id" value="{{ request('documentId') }}">
<input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}"> <input type="hidden" name="nomor_registrasi" value="{{ $permohonan->nomor_registrasi }}">
@if (strtolower($permohonan->tujuanPenilaian->name) == 'rap') @if (strtolower($permohonan->tujuanPenilaian->name) == 'rap')