@extends('layouts.app') @section('title', $isWaliKelas ? 'Laporan SPP & DPP' : ($tab === 'dpp' ? 'Daftar Pembayaran DPP' : ($tab === 'tagihan' ? 'Daftar Pembayaran Tagihan' : 'Daftar Pembayaran SPP'))) @push('styles') @endpush @section('content')
@if($tab === 'spp')
@if(!$isWaliKelas && !$isKepalaSekolah)
@endif @if(!$isWaliKelas)
@endif
Reset @if(request()->has('filter')) Export Excel @endif
@if(request()->has('filter') && $selectedTahunAjaran)

Informasi Simbol Status

= Lunas
= Tunggakan / Belum Lunas (Bulan Sudah Berjalan)
- = Belum Berjalan (Bulan Masa Mendatang)
@foreach($bulanList as $bulan) @php $tahunTagihan = ($bulan < $selectedTahunAjaran->bulan_mulai_spp) ? $tahunAwal + 1 : $tahunAwal; $isBelumBerjalan = false; if ($selectedTahunAjaran->status === 'aktif') { $akhirBulanTagihan = \Carbon\Carbon::create($tahunTagihan, $bulan, 1)->endOfMonth()->startOfDay(); $isBelumBerjalan = $akhirBulanTagihan->isFuture();} $now = \Carbon\Carbon::now(); $isSudahBerjalan = ($tahunTagihan < $now->year) || ($tahunTagihan == $now->year && $bulan <= $now->month); @endphp @endforeach @php $grandTotalSPPTerbayar = 0; $grandTotalBulanBelumBayar = 0; @endphp @forelse($siswaKelasList as $index => $sk) @php $siswa = $sk->siswa; $kelas = $sk->kelas; $studentTagihans = $rekapTagihans->get($sk->siswa_id, collect()); @endphp @php $totalSPPTerbayar = 0; $totalBulanBelumBayar = 0; @endphp @foreach($bulanList as $bulan) @php $tahunTagihan = ($bulan < $selectedTahunAjaran->bulan_mulai_spp) ? $tahunAwal + 1 : $tahunAwal; $isBelumBerjalan = false; if ($selectedTahunAjaran->status === 'aktif') { $akhirBulanTagihan = \Carbon\Carbon::create($tahunTagihan, $bulan, 1)->endOfMonth()->startOfDay(); $isBelumBerjalan = $akhirBulanTagihan->isFuture(); } elseif ($selectedTahunAjaran->id > $activeTahunAjaranId) { $isBelumBerjalan = true; } $now = \Carbon\Carbon::now(); $isSudahBerjalan = ($tahunTagihan < $now->year) || ($tahunTagihan == $now->year && $bulan <= $now->month); $tagihan = $studentTagihans->where('tarifPembayaran.jenis', 'SPP')->firstWhere('bulan', $bulan); if($tagihan && $tagihan->status !== 'lunas') { $totalBulanBelumBayar++; } elseif(!$tagihan && !$isBelumBerjalan) { $totalBulanBelumBayar++; } @endphp @endforeach @php $grandTotalSPPTerbayar += $totalSPPTerbayar; $grandTotalBulanBelumBayar += $totalBulanBelumBayar; @endphp @empty @endforelse
No NIS Nama Siswa Kelas Bulan Periode SPP ({{ $selectedTahunAjaran->tahun }}) Belum Bayar Total Terbayar
{{ substr(\App\Models\TahunAjaran::namaBulan($bulan), 0, 3) }}
{{ $index + 1 }} {{ $siswa->nis ?? '-' }} {{ $siswa->nama_lengkap ?? '-' }} {{ $kelas->nama_kelas ?? '-' }} @if($tagihan) @if($tagihan->status === 'lunas') @php $totalSPPTerbayar += $tagihan->jumlah_terbayar; @endphp @elseif($tagihan->is_tunggakan || ($isSudahBerjalan && $tagihan->status !== 'lunas')) @php $totalSPPTerbayar += $tagihan->jumlah_terbayar; @endphp @else - @endif @else @if($isBelumBerjalan) - @else @endif @endif {{ $totalBulanBelumBayar > 0 ? $totalBulanBelumBayar : '-' }} Rp {{ number_format($totalSPPTerbayar, 0, ',', '.') }}
Data siswa tidak ditemukan untuk filter ini.
Total Terbayar {{ $grandTotalBulanBelumBayar > 0 ? $grandTotalBulanBelumBayar : '-' }} Rp {{ number_format($grandTotalSPPTerbayar, 0, ',', '.') }}
Menampilkan {{ $siswaKelasList->count() }} siswa.
@else
Silahkan isi filter dan klik Tampilkan untuk melihat rekap pembayaran SPP siswa.
@endif @elseif($tab === 'dpp')
@if(!$isWaliKelas && !$isKepalaSekolah)
@endif @if(!$isWaliKelas)
@endif
Reset @if(request()->has('filter')) Export Excel @endif
@if(request()->has('filter') && $selectedTahunAjaran)
@php $grandTotalDPPTerbayar = 0; $grandTotalDPPSisaTagihan = 0; @endphp @forelse($siswaKelasList as $index => $sk) @php $siswa = $sk->siswa; $kelas = $sk->kelas; $studentTagihans = $rekapTagihans->get($sk->siswa_id, collect()); $dppTagihan = $studentTagihans->where('tarifPembayaran.jenis', 'DPP')->first(); @endphp @php $grandTotalDPPTerbayar += $dppTagihan->jumlah_terbayar ?? 0; $grandTotalDPPSisaTagihan += $dppTagihan->sisa_tagihan ?? 0; @endphp @empty @endforelse
No NIS Nama Siswa Kelas Tarif DPP Tarif Lama Terbayar Sisa Tagihan Status
{{ $index + 1 }} {{ $siswa->nis ?? '-' }} {{ $siswa->nama_lengkap ?? '-' }} {{ $kelas->nama_kelas ?? '-' }} Rp {{ number_format($dppTagihan->jumlah_tagihan ?? 0, 0, ',', '.') }} Rp {{ number_format($dppTagihan->tarif_lama ?? 0, 0, ',', '.') }} Rp {{ number_format($dppTagihan->jumlah_terbayar ?? 0, 0, ',', '.') }} Rp {{ number_format($dppTagihan->sisa_tagihan ?? 0, 0, ',', '.') }} @if($dppTagihan) @if($dppTagihan->status === 'lunas') ✓ Lunas @elseif($dppTagihan->status === 'kurang') Kurang @else Belum Bayar @endif @else - @endif
Data siswa tidak ditemukan untuk filter ini.
Total Terbayar & Sisa Tagihan Rp {{ number_format($grandTotalDPPTerbayar, 0, ',', '.') }} Rp {{ number_format($grandTotalDPPSisaTagihan, 0, ',', '.') }} -
Menampilkan {{ $siswaKelasList->count() }} siswa.
@else
Silahkan isi filter dan klik Tampilkan untuk melihat rekap pembayaran DPP siswa.
@endif @elseif($tab === 'tagihan')
@if(!$isWaliKelas && !$isKepalaSekolah)
@endif @if(!$isWaliKelas)
@endif
Reset @if(request()->has('filter')) Export Excel @endif
@if(request()->has('filter') && $selectedTahunAjaran)
@php $totalSPP = 0; $totalDPP = 0; @endphp @forelse($siswaKelasList as $index => $sk) @php $siswa = $sk->siswa; $kelas = $sk->kelas; $studentTagihans = $rekapTagihans->get($sk->siswa_id, collect()); $rowSPP = $studentTagihans->where('tarifPembayaran.jenis', 'SPP')->where('status', '!=', 'lunas')->sum('sisa_tagihan'); $rowDPP = $studentTagihans->where('tarifPembayaran.jenis', 'DPP')->where('status', '!=', 'lunas')->sum('sisa_tagihan'); $rowJumlah = $rowSPP + $rowDPP; $totalSPP += $rowSPP; $totalDPP += $rowDPP; @endphp @empty @endforelse @if($siswaKelasList->isNotEmpty()) @endif
No NIS Nama Siswa Kelas Sisa SPP Sisa DPP Total Sisa
{{ $index + 1 }} {{ $siswa->nis ?? '-' }} {{ $siswa->nama_lengkap ?? '-' }} {{ $kelas->nama_kelas ?? '-' }} @if($rowSPP > 0)Rp {{ number_format($rowSPP, 0, ',', '.') }}@else-@endif @if($rowDPP > 0)Rp {{ number_format($rowDPP, 0, ',', '.') }}@else-@endif @if($rowJumlah > 0)Rp {{ number_format($rowJumlah, 0, ',', '.') }}@else-@endif
Data siswa tidak ditemukan untuk filter ini.
TOTAL SISA TAGIHAN Rp {{ number_format($totalSPP, 0, ',', '.') }} Rp {{ number_format($totalDPP, 0, ',', '.') }} Rp {{ number_format($totalSPP + $totalDPP, 0, ',', '.') }}
Menampilkan {{ $siswaKelasList->count() }} siswa.
@else
Silahkan isi filter dan klik Tampilkan untuk melihat laporan tagihan bulan aktif.
@endif @elseif($tab === 'harian')
Reset @if(request()->has('filter')) Export Excel @endif
@if(request()->has('filter'))
@php $totalSPP = 0; $totalDPP = 0; @endphp @forelse($transaksiHarian as $index => $transaksi) @php $rowSPP = 0; $rowDPP = 0; $bulanBayar = []; foreach ($transaksi->detailPembayaran as $detail) { $jenis = $detail->tagihan->tarifPembayaran->jenis ?? ''; if ($jenis === 'SPP') { $rowSPP += $detail->jumlah_bayar; if ($detail->tagihan->nama_bulan) { $bulanBayar[] = substr($detail->tagihan->nama_bulan, 0, 3); } } elseif ($jenis === 'DPP') { $rowDPP += $detail->jumlah_bayar; } } $totalSPP += $rowSPP; $totalDPP += $rowDPP; $bulanStr = implode(', ', array_unique($bulanBayar)); @endphp @empty @endforelse @if($transaksiHarian->isNotEmpty()) @endif
No NIS Nama Siswa Kelas Bulan Bayar SPP DPP Jumlah
{{ $index + 1 }} {{ $transaksi->siswa->nis ?? '-' }} {{ $transaksi->siswa->nama_lengkap ?? '-' }} {{ $transaksi->siswa->kelas->first()->nama_kelas ?? '-' }} {{ $bulanStr ?: '-' }} @if($rowSPP > 0)Rp {{ number_format($rowSPP, 0, ',', '.') }}@else-@endif @if($rowDPP > 0)Rp {{ number_format($rowDPP, 0, ',', '.') }}@else-@endif Rp {{ number_format($transaksi->total_bayar, 0, ',', '.') }}
Tidak ada transaksi pada tanggal ini.
TOTAL PENERIMAAN Rp {{ number_format($totalSPP, 0, ',', '.') }} Rp {{ number_format($totalDPP, 0, ',', '.') }} Rp {{ number_format($transaksiHarian->sum('total_bayar'), 0, ',', '.') }}
@else
Silahkan isi tanggal dan klik Tampilkan untuk melihat data penerimaan harian.
@endif @elseif($tab === 'riwayat')
@if(!$isWaliKelas) @if(!$isKepalaSekolah)
@endif
@endif
Reset @if(request()->has('filter')) Export Excel @endif
@forelse($siswaKelasList as $index => $sk) @php $siswaTransaksis = $riwayatTransaksi->get($sk->siswa_id, collect()); $totalBayar = $siswaTransaksis->sum('total_bayar'); @endphp @empty @endforelse
No NIS Nama Siswa Kelas Total Bayar Aksi
{{ $index + 1 }} {{ $sk->siswa->nis }} {{ $sk->siswa->nama_lengkap }} {{ $sk->kelas->nama_kelas }} Rp {{ number_format($totalBayar, 0, ',', '.') }}
Data tidak ditemukan.
Menampilkan {{ $siswaKelasList->count() }} siswa.
@endif
@endsection @push('scripts') @endpush