fix(penilai): perbaikkan luas tanah, bangunan, dan print out sederhana, dan rap

This commit is contained in:
majid
2025-03-11 13:15:51 +07:00
parent 727c7a0dca
commit ef7a47ebb9
8 changed files with 101 additions and 52 deletions

View File

@@ -485,7 +485,7 @@ function calculateSLA($permohonan, $type)
* @param int $jenisLegalitas
* @return int
*/
function calculateTotalLuas($detailsArray, $key, $jenisLegalitas)
function calculateTotalLuas($detailsArray, $key, $jenisLegalitas, $defaultJenisLegalitas)
{
$total = 0;
@@ -503,7 +503,57 @@ function calculateTotalLuas($detailsArray, $key, $jenisLegalitas)
}
}
}
// Jika total masih 0, gunakan jenis jaminan ppjb
if ($total === 0) {
foreach ($detailsArray as $item) {
if (isset($item->jenis_legalitas_jaminan_id) && $item->jenis_legalitas_jaminan_id === $defaultJenisLegalitas) {
$details = json_decode($item->details, true);
if (is_array($details)) {
foreach ($details as $detail) {
if (isset($detail[$key]) && $detail[$key] !== null) {
$total += (int) $detail[$key];
}
}
}
}
}
}
// jika total masih kosong juga maka gunakan ppb
if ($total === 0 && $fallbackJenisLegalitas !== null) {
foreach ($detailsArray as $item) {
if (isset($item->jenis_legalitas_jaminan_id) && $item->jenis_legalitas_jaminan_id === $fallbackJenisLegalitas) {
$details = json_decode($item->details, true);
if (is_array($details)) {
foreach ($details as $detail) {
if (isset($detail[$key]) && $detail[$key] !== null) {
$total += (int) $detail[$key];
}
}
}
}
}
}
}
return $total;
return $total > 0 ? $total : 0;
}
function ubahNomorHp($nomorHp) {
$nomorHp = preg_replace('/\D/', '', $nomorHp);
if (strpos($nomorHp, '62') === 0) {
$nomorBaru = substr($nomorHp, 0, 5) . "xxxxx";
return '+' . $nomorBaru;
} elseif (strpos($nomorHp, '0') === 0) {
$nomorBaru = substr($nomorHp, 0, 5) . "xxxxxx";
return $nomorBaru;
} else {
return "Nomor HP tidak valid";
}
}

View File

@@ -144,10 +144,10 @@ class PenilaiController extends Controller
}
}
return view('lpj::penilai.components.lpj-sederhana-standard', compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces', 'cekAlamat', 'cities', 'districts', 'villages'));
return view('lpj::penilai.components.lpj-sederhana-standar', compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces', 'cekAlamat', 'cities', 'districts', 'villages'));
}
public function standard(Request $request, $id)
public function standar(Request $request, $id)
{
$documentId = $request->query('documentId');
@@ -167,7 +167,7 @@ class PenilaiController extends Controller
'inspeksi_id' => $inspeksiId,
],
[
'type_penilai' => 'standard',
'type_penilai' => 'standar',
]
);
@@ -212,7 +212,7 @@ class PenilaiController extends Controller
}
}
return view('lpj::penilai.components.lpj-sederhana-standard', compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces', 'cekAlamat', 'cities', 'districts', 'villages'));
return view('lpj::penilai.components.lpj-sederhana-standar', compact('permohonan', 'forminspeksi', 'basicData', 'inspeksi', 'lpjData', 'provinces', 'cekAlamat', 'cities', 'districts', 'villages'));
}
public function resume(Request $request)
@@ -1358,7 +1358,7 @@ class PenilaiController extends Controller
{
$viewMap = [
'sederhana' => 'penilai.components.print-out-sederhana',
'standard' => 'penilai.components.print-out-standard',
'standar' => 'penilai.components.print-out-standar',
'resume' => 'penilai.components.print-resume',
'memo' => 'penilai.components.print-memo',
'rap' => 'penilai.components.print-out-rap',
@@ -1421,7 +1421,7 @@ class PenilaiController extends Controller
}
if ($type === 'standard' || $type === 'sederhana') {
if ($type === 'standar' || $type === 'sederhana') {
return $this->checkDataLpj($type, $statusLpj);
}

View File

@@ -825,8 +825,8 @@ class PenilaianController extends Controller
private function getViewLaporan($tipe)
{
$viewMap = [
'sederhana' => 'penilai.components.lpj-sederhana-standard',
'standard' => 'penilai.components.lpj-sederhana-standard',
'sederhana' => 'penilai.components.lpj-sederhana-standar',
'standar' => 'penilai.components.lpj-sederhana-standar',
'resume' => 'penilai.components.resume',
'memo' => 'penilai.components.memo',
'rap' => 'penilai.components.rap-penilai',

View File

@@ -28,32 +28,26 @@
$data = rtrim($data, ', ');
@endphp
<main class="content">
<table>
<tr>
<td>
<h2 style="text-transform: uppercase;">Report Analisa Property</h2>
</td>
</tr>
</table>
<div style="text-align: center; margin-top: 5px;">
<h4 style="text-transform: uppercase; font-size: 16px; margin: 0;">Report Analisa Property
{{ $data }}</h4>
<p style="font-size: 12px; margin: 5px 0;">NO: {{ $nomorLaporan }}</p>
</div>
<hr />
<table style="width: 100%;">
<tr>
<td style="width: 20%; padding: 2px; vertical-align: top;">Kepada</td>
<td style="width: 25%; padding: 2px; vertical-align: top;">Kepada</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td style="width: 79%; vertical-align: top;">{{ $rap['kepada'] ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Dari</td>
<td style="width: 25%; padding: 2px;">Dari</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $rap['dari'] ?? '' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">No</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $nomorLaporan ?? '-' }}</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Tanggal Survey</td>
<td style="width: 25%; padding: 2px;">Tanggal Survey</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">
{{ formatTanggalIndonesia($permohonan->penilaian->waktu_penilaian) }}</td>
@@ -77,7 +71,7 @@
</td>
</tr>
<tr>
<td style="width: 20%; padding: 2px;">Perihal</td>
<td style="width: 25%; padding: 2px;">Perihal</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td style="width: 79%;">{{ $rap['perihal'] ?? '' }}</td>
</tr>
@@ -87,7 +81,7 @@
<h2 style="text-transform: uppercase;">NAMA DEVELOPER</h2>
<table style="width: 100%; ">
<tr>
<td style="width: 20%; padding: 2px;">Nama</td>
<td style="width: 25%; padding: 2px;">Nama</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td style="width: 79%;">{{ $permohonan->debiture->name ?? '' }}</td>
</tr>
@@ -96,7 +90,7 @@
<h2 style="text-transform: uppercase;">NAMA PROYEK</h2>
<table style="width: 100%; ">
<tr>
<td style="width: 20%; padding: 2px;">Proyek</td>
<td style="width: 25%; padding: 2px;">Proyek</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td style="width: 79%;">{{ $data ?? '' }}</td>
</tr>
@@ -104,7 +98,7 @@
<h2 style="text-transform: uppercase;">ALAMAT</h2>
<table style="width: 100%; ">
<tr>
<td width="20%">Terletak di</td>
<td width="25%">Terletak di</td>
<td style="width: 1%; vertical-align: top;">:</td>
<td> {{ $alamat['address'] ?? '' }}</td>
</tr>
@@ -138,7 +132,7 @@
@if (isset($forminspeksi['perizinan']) && is_array($forminspeksi['perizinan']) && count($forminspeksi['perizinan']) > 0)
@foreach ($forminspeksi['perizinan'] as $perizinan)
<tr>
<td style="width: 20%; padding: 2px;">Perizinan</td>
<td style="width: 25%; padding: 2px;">Perizinan</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $perizinan['perizinan'] }}</td>
</tr>
@@ -148,7 +142,7 @@
@if (isset($forminspeksi['brosur_price_list']) && count($forminspeksi['brosur_price_list']) > 0)
@foreach ($forminspeksi['brosur_price_list'] as $perizinan)
<tr>
<td style="width: 20%; padding: 2px;">Brosur & Pricelist</td>
<td style="width: 25%; padding: 2px;">Brosur & Pricelist</td>
<td style="width: 1%; padding: 2px;">:</td>
<td style="width: 79%; padding: 2px;">{{ $perizinan['jenis'] }}</td>
</tr>
@@ -160,13 +154,13 @@
<h2 style="text-transform: uppercase;">DESKRIPSI DEVELOPER</h2>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Pengalaman Developer & Proyek Yang Pernah
<td style="vertical-align: top; width: 25%; padding: 2px;">Pengalaman Developer & Proyek Yang Pernah
Dibuat</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td style="width: 79%;">{!! nl2br(e($forminspeksi['pengalaman_developer'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Apakah Developer Anggota REI</td>
<td style="vertical-align: top; width: 25%; padding: 2px;">Apakah Developer Anggota REI</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['developer_anggota'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
@@ -175,7 +169,7 @@
@isset($forminspeksi['lainnya_developer'])
@foreach ($forminspeksi['lainnya_developer'] as $item)
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Lainnya</td>
<td style="vertical-align: top; width: 25%; padding: 2px;">Lainnya</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>
{!! nl2br(e($item)) !!}
@@ -187,43 +181,43 @@
<h2 style="text-transform: uppercase;">KONDISI, LINGKUNGAN DAN PROGRESS PEMBANGUNAN</h2>
<table style="width: 100%;">
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Kapan Mulai Dibangun & Target Penyelesaian
<td style="vertical-align: top; width: 25%; padding: 2px;">Kapan Mulai Dibangun & Target Penyelesaian
</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['kapan_mulai_dibangun'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Kondisi Perumahan Saat Ini</td>
<td style="vertical-align: top; width: 25%; padding: 2px;">Kondisi Perumahan Saat Ini</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['kondisi_perumahan'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Progress Pembangunan</td>
<td style="vertical-align: top; width: 25%; padding: 2px;">Progress Pembangunan</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['progres_pembangunan'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Kontraktor (internal/eksternal)</td>
<td style="vertical-align: top; width: 25%; padding: 2px;">Kontraktor (internal/eksternal)</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['kontraktor'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Lingkungan Sekitar</td>
<td style="vertical-align: top; width: 25%; padding: 2px;">Lingkungan Sekitar</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['lingkungan_sekitar'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Komplek Lain Disekitar Lokasi</td>
<td style="vertical-align: top; width: 25%; padding: 2px;">Komplek Lain Disekitar Lokasi</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['komplek_disekitar'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Pusat Keramaian Dekat Lokasi</td>
<td style="vertical-align: top; width: 25%; padding: 2px;">Pusat Keramaian Dekat Lokasi</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['pusat_keramaian'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Transportasi Umum Yang Tersedia</td>
<td style="vertical-align: top; width: 25%; padding: 2px;">Transportasi Umum Yang Tersedia</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>{!! nl2br(e($forminspeksi['transportasi_umum'] ?? 'Data tidak tersedia')) !!}</td>
</tr>
@@ -232,7 +226,7 @@
@isset($forminspeksi['lainnya_kondisi'])
@foreach ($forminspeksi['lainnya_kondisi'] as $item)
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">Lainnya</td>
<td style="vertical-align: top; width: 25%; padding: 2px;">Lainnya</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>
<td>
{!! nl2br(e($item)) !!}
@@ -249,7 +243,7 @@
@foreach ($forminspeksi['partisi'] as $key => $item)
@if (is_array($item))
<tr>
<td style="vertical-align: top; width: 20%; padding: 2px;">
<td style="vertical-align: top; width: 25%; padding: 2px;">
{{ $item['nama'] ?? '' }}
</td>
<td style="vertical-align: top; width: 1%; padding: 2px;">:</td>

View File

@@ -8,6 +8,12 @@
@endphp
<main class="content">
<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;">
@@ -99,11 +105,6 @@
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $senior_officer->name ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">No Laporan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
<td style="padding: 2px; vertical-align: top;">{{ $nomorLaporan ?? '' }}</td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Tanggal Laporan</td>
<td style="padding: 2px; vertical-align: top;">:</td>
@@ -266,7 +267,7 @@
@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 ?? '' }}</td>
<td style="padding: 2px; vertical-align: top;">{{ $luas ?? '' }} <sup>m2</sup></td>
</tr>
<tr>
<td style="padding: 2px; vertical-align: top;">Bentuk Tanah</td>

View File

@@ -44,6 +44,9 @@
@elseif($key == 'tanggal')
{{ formatTanggalIndonesia($data[$key]) ?? '-' }}
@elseif($key == 'telepon')
{{ isset($data['telepon']) ? ubahNomorHp($data['telepon']) : '-' }}
@elseif($key == 'kordinat')
@php
$lat = $data['kordinat_lat'] ?? null;

View File

@@ -16,7 +16,7 @@
$total_luas_bangunan = 0;
$jenis_legalitas_jaminan_id = 0;
if (isset($item->detail)) {
$total_luas_bangunan = calculateTotalLuas($item->detail, 'luas_bangunan', 10);
$total_luas_bangunan = calculateTotalLuas($item->detail, 'luas_bangunan', 10, 27, 3);
}
@endphp
<input type="hidden" id="jenis_legalistas_jaminan_bangunan_id"

View File

@@ -14,10 +14,11 @@
@if (isset($permohonan->documents))
@foreach ($permohonan->documents as $item)
@php
// 27
$total_luas_tanah = 0;
$jenis_legalitas_jaminan_id = 0;
if (isset($item->detail)) {
$total_luas_tanah = calculateTotalLuas($item->detail, 'luas_tanah', 1);
$total_luas_tanah = calculateTotalLuas($item->detail, 'luas_tanah', 1, 27, 3);
}
@endphp
<input type="hidden" id="jenis_legalistas_jaminan_tanah_id"