Simulasikan Tagihan Anda
@if ($_SERVER['REQUEST_METHOD'] === 'POST')
@php
$awal = (int) request('meter_awal');
$akhir = (int) request('meter_akhir');
$kelompok_id = (int) request('kelompok');
$pemakaian_asli = max($akhir - $awal, 0);
$pemakaian = max($pemakaian_asli, 10); // minimal 10 m³
$kelompok = $kelompokPelanggan->where('id', $kelompok_id)->first();
$tarif = $kelompok && $kelompok->tarif_air->isNotEmpty()
? $kelompok->tarif_air->first()
: null;
$rincian = [];
$total = 0;
$sisa = $pemakaian;
@endphp
@if (!$tarif)
Data tarif tidak ditemukan.
@elseif ($pemakaian_asli <= 0)
Meter akhir harus lebih besar dari meter awal.
@else
@php
if ($sisa > 0) {
$n = min(10, $sisa);
$total += $n * $tarif->tarif_0_10;
$rincian[] = "$n m³ x Rp " . number_format($tarif->tarif_0_10, 0, ',', '.') . " = Rp " . number_format($n * $tarif->tarif_0_10, 0, ',', '.');
$sisa -= $n;
}
if ($sisa > 0) {
$n = min(10, $sisa);
$total += $n * $tarif->tarif_11_20;
$rincian[] = "$n m³ x Rp " . number_format($tarif->tarif_11_20, 0, ',', '.') . " = Rp " . number_format($n * $tarif->tarif_11_20, 0, ',', '.');
$sisa -= $n;
}
if ($sisa > 0) {
$n = min(10, $sisa);
$total += $n * $tarif->tarif_21_30;
$rincian[] = "$n m³ x Rp " . number_format($tarif->tarif_21_30, 0, ',', '.') . " = Rp " . number_format($n * $tarif->tarif_21_30, 0, ',', '.');
$sisa -= $n;
}
if ($sisa > 0) {
$total += $sisa * $tarif->tarif_more_than_30;
$rincian[] = "$sisa m³ x Rp " . number_format($tarif->tarif_more_than_30, 0, ',', '.') . " = Rp " . number_format($sisa * $tarif->tarif_more_than_30, 0, ',', '.');
}
$biayaPemeliharaan = 8000;
$total += $biayaPemeliharaan;
$rincian[] = "Biaya Pemeliharaan = Rp " . number_format($biayaPemeliharaan, 0, ',', '.');
@endphp
Informasi Input:
- Meter Awal: {{ $awal }} m³
- Meter Akhir: {{ $akhir }} m³
- Pemakaian Asli: {{ $pemakaian_asli }} m³
- Pemakaian Dikenakan: {{ $pemakaian }} m³ Minimal 10 m³
- Kelompok Pelanggan: {{ $kelompok->nama }}
Rincian Tagihan:
{!! implode("\n", $rincian) !!}
Total Tagihan: Rp {{ number_format($total, 0, ',', '.') }}
@endif
@endif