🐛 fix(lpj): Perbaikan format Rupiah, role access, dan validasi data
## Ringkasan Melakukan perbaikan pada helper format Rupiah, akses role user, validasi data MIG, serta penyesuaian tampilan laporan dan dokumentasi. ## Perubahan Detail ### 🔧 Helper Function **app/Helpers/Lpj.php**: - Menambahkan parameter opsional `withSymbol` pada fungsi `formatRupiah()` untuk kontrol simbol Rp - Menambahkan handling untuk menghapus titik (.) dari input number sebelum proses - Memperbaiki return value untuk null/empty string sesuai parameter `withSymbol` - Mengganti `str_pad()` dengan `sprintf()` untuk generate random number (lebih efisien) ### 🛠️ Service Layer **app/Services/PreviewLaporanService.php**: - Memperbaiki validasi data MIG dengan menambahkan pengecekan `is_mig` flag - Menambahkan null safety pada property `mig_mst_lpj_tot_nilai_pasar` - Memperbaiki kondisi logic untuk memo dan validasi nilai pasar ### 🎨 View Components **resources/views/component/print-out-dokument.blade.php**: - Memperbaiki syntax Blade dari `@isset` menjadi `isset()` yang lebih proper **resources/views/debitur/components/debitur.blade.php**: - Memperbaiki role checking dari `hasRole()` menjadi `hasAnyRole()` untuk multiple roles **resources/views/debitur/index.blade.php**: - Menambahkan role 'admin' pada kondisi edit dan delete actions - Memperbaiki permission checking untuk administrator dan admin **resources/views/laporan/index.blade.php**: - Menyederhanakan logic tombol laporan dan resume - Menghapus logic role-based yang kompleks untuk tombol laporan - Memperbaiki route URL untuk print-out laporan - Menghapus function `generateLaporanButton()` yang tidak digunakan **resources/views/penilai/components/lpj-sederhana-standar.blade.php**: - Menambahkan role 'penilai' pada permission tombol simpan **resources/views/penilai/components/print-out-sederhana.blade.php**: - Memperbaiki tampilan data dokumen dengan menambahkan kolom nomor dokumen - Mengganti `number_format()` dengan `formatRupiah()` untuk konsistensi format - Menambahkan fallback untuk data tanah dan bangunan ketika `npw_tambahan` tidak tersedia - Memperbaiki perhitungan total nilai pasar wajar dengan proper parsing - Memperbaiki format tampilan nilai likuidasi - Memperbaiki struktur HTML tabel untuk dokumentasi **resources/views/penilai/components/signature-approval.blade.php**: - Memperbaiki route dan parameter untuk approval signature **resources/views/permohonan/index.blade.php**: - Menambahkan role 'admin' pada permission actions
This commit is contained in:
@@ -188,7 +188,9 @@
|
||||
@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>
|
||||
<td width="25%">{{ $detail->name ?? '' }}</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">:</td>
|
||||
<td style=" padding: 2px; vertical-align: top;">{{ json_decode($detail->dokumen_nomor, true)[0] ?? '' }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@@ -228,7 +230,7 @@
|
||||
</tr>
|
||||
|
||||
|
||||
@include('lpj::component.print-out-dokument')
|
||||
@include('lpj::component.print-out-dokument')
|
||||
|
||||
@if (isset($forminspeksi['asset']['nomor_nib']))
|
||||
<tr>
|
||||
@@ -564,24 +566,48 @@
|
||||
</td>
|
||||
<td width="5%" style="padding: 3px; text-align: center;">X</td>
|
||||
<td width="25%" style="padding: 3px; text-align:right">
|
||||
{{ number_format($npw['nilai_1'], 0, ',', '.') ?? '' }}
|
||||
{{ formatRupiah($npw['nilai_1'] ?? 0, 0, false) ?? '' }}
|
||||
</td>
|
||||
<td width="5" style="padding: 3px; text-align: center;">
|
||||
=
|
||||
</td>
|
||||
<td width="25%" style="padding: 3px; text-align: left; text-align: right;">
|
||||
{{ number_format($npw['nilai_2'], 0, ',', '.') ?? '' }}
|
||||
{{ formatRupiah($npw['nilai_2'] ?? 0, 0, false) ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
@php $totalNilaiPasarWajar += $npw['nilai_2']; @endphp
|
||||
@php $totalNilaiPasarWajar += str_replace(['Rp', '.'], '', $npw['nilai_2']); @endphp
|
||||
@endforeach
|
||||
@else
|
||||
{{-- Fallback untuk data tanpa npw_tambahan --}}
|
||||
@if (isset($lpjData['luas_tanah']))
|
||||
<tr>
|
||||
<td width="30%" style="padding: 3px; text-align: right;">Tanah</td>
|
||||
<td width="10%" style="padding: 3px; text-align: right;">{{ $lpjData['luas_tanah'] }} m<sup>2</sup></td>
|
||||
<td width="5%" style="padding: 3px; text-align: center;">X</td>
|
||||
<td width="25%" style="padding: 3px; text-align:right">{{ formatRupiah($lpjData['nilai_tanah_1'] ?? 0, 0, false) }}</td>
|
||||
<td width="5%" style="padding: 3px; text-align: center;">=</td>
|
||||
<td width="25%" style="padding: 3px; text-align: right;">{{ formatRupiah($lpjData['nilai_tanah_2'] ?? 0, 0, false) }}</td>
|
||||
</tr>
|
||||
@php $totalNilaiPasarWajar += str_replace(['Rp', '.'], '', $lpjData['nilai_tanah_2']); @endphp
|
||||
@endif
|
||||
@if (isset($lpjData['luas_bangunan']))
|
||||
<tr>
|
||||
<td width="30%" style="padding: 3px; text-align: right;">Bangunan</td>
|
||||
<td width="10%" style="padding: 3px; text-align: right;">{{ $lpjData['luas_bangunan'] }} m<sup>2</sup></td>
|
||||
<td width="5%" style="padding: 3px; text-align: center;">X</td>
|
||||
<td width="25%" style="padding: 3px; text-align:right">{{ formatRupiah($lpjData['nilai_bangunan_1'] ?? 0, 0, false) }}</td>
|
||||
<td width="5%" style="padding: 3px; text-align: center;">=</td>
|
||||
<td width="25%" style="padding: 3px; text-align: right;">{{ formatRupiah($lpjData['nilai_bangunan_2'] ?? 0, 0, false) }}</td>
|
||||
</tr>
|
||||
@php $totalNilaiPasarWajar += str_replace(['Rp', '.'], '', $lpjData['nilai_bangunan_2']); @endphp
|
||||
@endif
|
||||
@endif
|
||||
<tr>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width:10%;" colspan="4">Total Nilai Pasar Wajar</td>
|
||||
<td style="padding: 3px; text-align: center; width:5%;font-weight: bold;" >=</td>
|
||||
<td style="padding: 3px; text-align: right; font-weight: bold; width: 40%;">
|
||||
<div style="display: inline-block; border-top: 1px solid black; padding-top: 3px;">
|
||||
{{ $lpjData['total_nilai_pasar_wajar'] ? number_format($lpjData['total_nilai_pasar_wajar'], 0, ',', '.') : number_format($totalNilaiPasarWajar, 0, ',', '.') ?? '' }}
|
||||
{{ $lpjData['total_nilai_pasar_wajar'] ? formatRupiah(($lpjData['total_nilai_pasar_wajar'] ?? 0), 0, false) : formatRupiah($totalNilaiPasarWajar ?? 0, 0, false) ?? '' }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -597,7 +623,7 @@
|
||||
Wajar
|
||||
</td>
|
||||
<td style="padding: 3px; text-align: center; font-weight: bold;">=</td>
|
||||
<td style="padding: 3px; text-align: right;font-weight: bold;">{{ number_format($permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi, 0, ',', '.') ?? '' }}
|
||||
<td style="padding: 3px; text-align: right;font-weight: bold;">{{ formatRupiah($permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi ?? $lpjData['likuidasi_nilai_2'] ?? 0, 0, false) ?? '' }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user