@if(in_array($tipe, ['Bulanan', 'Harian', 'Mingguan']))
@php
$taHijriRaw = $tarif->tahunAjaran->tahun_ajaran_hijriyah ?? '1447/1448';
$taHijriArr = explode('/', $taHijriRaw);
$baseHijriYear = isset($taHijriArr[0]) ? (int)preg_replace('/[^0-9]/', '', $taHijriArr[0]) : 1447;
$tglMulaiHijriRaw = $tarif->tahunAjaran->tgl_mulai_hijriyah ?? '10 Syawal 1447 H';
preg_match('/^(\d+)/', $tglMulaiHijriRaw, $matches);
$hariHijri = isset($matches[1]) ? (int)$matches[1] : 10;
$startDate = $tarif->tahunAjaran->tgl_mulai ?? date('Y') . '-07-01';
$akumulasiUangMasuk = $terbayar + $deposit;
@endphp
@for($i = 1; $i <= $tarif->pengali; $i++)
@php
$uangUntukSiklusIni = $akumulasiUangMasuk - (($i - 1) * $tarif->nominal);
$sisaUntukSiklusIni = 0;
$isClickable = false;
if($uangUntukSiklusIni >= $tarif->nominal) {
$class = 'lunas'; $icon = '
'; $teks = 'Lunas';
} elseif($uangUntukSiklusIni > 0) {
$sisaUntukSiklusIni = $tarif->nominal - $uangUntukSiklusIni;
$class = 'cicilan'; $icon = '
'; $teks = 'Sisa (Rp '.number_format($sisaUntukSiklusIni, 0, ',', '.').')';
$isClickable = true;
} else {
$sisaUntukSiklusIni = $tarif->nominal;
$class = 'belum'; $icon = '
'; $teks = 'Belum Bayar';
$isClickable = true;
}
if ($tipe == 'Bulanan') {
$idxBulan = ($i - 1) % 12;
$namaHijriTampil = $bulanAkademikHijri[$idxBulan]['nama'];
$bulanHijriNum = $bulanAkademikHijri[$idxBulan]['idx'];
$tahunHijriCalc = $baseHijriYear + $bulanAkademikHijri[$idxBulan]['tambah_tahun'];
$tanggalMasehiDB = hijriToMasehi($hariHijri, $bulanHijriNum, $tahunHijriCalc);
$approxMasehiTime = strtotime($tanggalMasehiDB);
$labelHijriUtama = $hariHijri . ' ' . $namaHijriTampil . ' ' . $tahunHijriCalc . ' H';
$cleanHijriUtama = $labelHijriUtama;
$teksKeteranganOtomatis = "SPP Bulan {$namaHijriTampil} {$tahunHijriCalc} H";
$fullMasehi = date('d', $approxMasehiTime) . ' ' . $bulanMasehiIndo[(int)date('n', $approxMasehiTime)] . ' ' . date('Y', $approxMasehiTime);
} else {
$stepDays = ($tipe == 'Mingguan') ? 7 : 1;
$approxMasehiTime = strtotime("+" . round(($i - 1) * $stepDays) . " days", strtotime($startDate));
$tanggalMasehiDB = date('Y-m-d', $approxMasehiTime);
$fullMasehi = date('d', $approxMasehiTime) . ' ' . $bulanMasehiIndo[(int)date('n', $approxMasehiTime)] . ' ' . date('Y', $approxMasehiTime);
$labelHijriUtama = '
Memuat...';
$cleanHijriUtama = '';
$teksKeteranganOtomatis = "Siklus ke-{$i}";
}
@endphp
{!! $labelHijriUtama !!}
{{ $fullMasehi }} M
Rp {{ number_format($tarif->nominal, 0, ',', '.') }}
{!! $icon !!} {{ $teks }}
@endfor
@elseif(in_array($tipe, ['Sekali Bayar', 'Tahunan', 'Per Periode']))
Progress Pembayaran
{{ $persen }}%
Telah dibayar: Rp {{ number_format($terbayar, 0, ',', '.') }}
Kekurangan: Rp {{ number_format($sisa, 0, ',', '.') }}
@else
Target / Estimasi Total
Rp {{ number_format($tarif->total_tarif, 0, ',', '.') }}
Terkumpul Saat Ini
Rp {{ number_format($terbayar, 0, ',', '.') }}
@endif
@if($deposit > 0)
Kelebihan bayar dicatat sebagai deposit item ini.
Deposit: Rp {{ number_format($deposit, 0, ',', '.') }}
@endif