fix(calc): Fallback hitung likuidasi dari persen x Total NPW

- Jika mig_mst_lpj_tot_nilai_likuidasi kosong, hitung likuidasi = (lpjData['likuidasi']/100) x Total Nilai Pasar Wajar
- Membersihkan input persen (menghapus %/spasi dan mengganti koma menjadi titik)
- Menormalkan Total NPW dari format Rupiah (menghapus Rp, titik, koma) ke angka murni
This commit is contained in:
Daeng Deni Mardaeni
2025-12-04 11:22:08 +07:00
parent f055cd5573
commit d9d8eaafcd
2 changed files with 25 additions and 5 deletions

View File

@@ -599,7 +599,7 @@
<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'] ? formatRupiah(($lpjData['total_nilai_pasar_wajar'] ?? 0), 0, false) : formatRupiah($totalNilaiPasarWajar ?? 0, 0, false) ?? '' }}
{{ number_format((float) str_replace(['Rp', '.', ','], '', $lpjData['total_nilai_pasar_wajar'] ?? $totalNilaiPasarWajar ?? 0), 0, ',', '.') }}
</div>
</td>
</tr>
@@ -615,7 +615,17 @@
Wajar
</td>
<td style="padding: 3px; text-align: center; font-weight: bold;">=</td>
<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) ?? '' }}
@php
$percentStr = str_replace(['%',' '], '', $lpjData['likuidasi'] ?? '0');
$percentVal = (float) str_replace(',', '.', $percentStr);
$totalNpwRaw = $lpjData['total_nilai_pasar_wajar'] ?? ($totalNilaiPasarWajar ?? 0);
$totalNpwVal = (float) str_replace(['Rp', '.', ','], '', $totalNpwRaw);
$likuidasiCalc = ($percentVal / 100) * $totalNpwVal;
$likuidasiFinal = isset($permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi) && $permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi !== null
? $permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi
: $likuidasiCalc;
@endphp
<td style="padding: 3px; text-align: right;font-weight: bold;">{{ number_format($likuidasiFinal, 0, ',', '.') }}</td>
</td>
</tr>
</table>

View File

@@ -390,6 +390,7 @@
</td>
</tr>
@php $totalNilaiPasarWajar += $npw['nilai_2']; @endphp
@endforeach
@endif
@@ -398,7 +399,7 @@
<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;">
{{ number_format((float) ($lpjData['total_nilai_pasar_wajar'] ?? $totalNilaiPasarWajar ?? 0), 0, ',', '.') }}
{{ number_format((float) str_replace(['Rp', '.', ','], '', $lpjData['total_nilai_pasar_wajar'] ?? $totalNilaiPasarWajar ?? 0), 0, ',', '.') }}
</div>
</td>
</tr>
@@ -414,8 +415,17 @@
{{ $lpjData['likuidasi'] ?? '' }}% <span style="padding-left:20px; padding-right: 20px">X</span> Total Nilai Pasar 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, 0, ',', '.') ?? '' }}
</td>
@php
$percentStr = str_replace(['%',' '], '', $lpjData['likuidasi'] ?? '0');
$percentVal = (float) str_replace(',', '.', $percentStr);
$totalNpwRaw = $lpjData['total_nilai_pasar_wajar'] ?? ($totalNilaiPasarWajar ?? 0);
$totalNpwVal = (float) str_replace(['Rp', '.', ','], '', $totalNpwRaw);
$likuidasiCalc = ($percentVal / 100) * $totalNpwVal;
$likuidasiFinal = isset($permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi) && $permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi !== null
? $permohonan_migrasi->mig_mst_lpj_tot_nilai_likuidasi
: $likuidasiCalc;
@endphp
<td style="padding: 3px; text-align: right;font-weight: bold;">{{ number_format($likuidasiFinal, 0, ',', '.') }}</td>
</tr>
@endif
</table>