@extends('layouts.app') @section('title', 'Laporan — Yayasan') @section('page-title', 'Laporan Keuangan') @section('content') @php $fmt = fn ($n) => 'Rp ' . number_format((float) $n, 0, ',', '.'); $jenis = $filters['jenis_laporan'] ?? 'pembayaran'; $periodeMode = $filters['periode_mode'] ?? 'akademik'; $isKalender = $periodeMode === 'kalender'; @endphp
@if (session('error'))
{{ session('error') }}
@endif
Lihat dan unduh laporan pembayaran atau tunggakan. Data tidak dapat diubah dari halaman ini.
@csrf

@if ($isKalender && $jenis === 'pembayaran') Daftar transaksi uang masuk Jan–Des tahun kalender (berdasarkan tanggal bayar). @elseif ($isKalender && $jenis === 'tunggakan') Tagihan diterbitkan di tahun kalender tersebut yang masih menunggak sampai hari ini. @elseif ($jenis === 'tunggakan') Hanya tagihan yang masih menunggak; kolom nominal = sisa yang belum dibayar. @else Semua tagihan periode akademik (lunas + belum lunas); kolom nominal = total tagihan. @endif

Mode Periode
$isKalender])>
$isKalender])>
! $isKalender])>
Tampilkan Preview @if ($previewData && $previewData->isNotEmpty()) Unduh PDF @endif
@if ($isKalender && $jenis === 'pembayaran' && !empty($summaryPembayaran))
Jumlah Transaksi
{{ number_format($summaryPembayaran['jumlah_transaksi']) }}
Total Uang Masuk
{{ $fmt($summaryPembayaran['total_uang_masuk']) }}
@endif @if ($jenis === 'tunggakan' && $summaryTunggakan)
Jumlah Tagihan Tunggak
{{ number_format($summaryTunggakan['jumlah_tagihan']) }}
Total Sisa Tunggakan
{{ $fmt($summaryTunggakan['total_sisa']) }}
Belum Dibayarkan
{{ number_format($summaryTunggakan['belum_dibayar']) }}
Belum Lunas (cicilan)
{{ number_format($summaryTunggakan['belum_lunas']) }}
@endif @if ($previewData !== null) @if ($previewData->isEmpty())

Tidak ada data untuk filter yang dipilih.

@elseif ($isKalender && $jenis === 'pembayaran')
@foreach ($previewData as $bayar) @php $tagihan = $bayar->tagihan; @endphp @endforeach
Tgl Bayar Mahasiswa Jenis Tagihan Semester Jumlah Bayar Metode
{{ $bayar->tanggal_bayar?->format('d/m/Y') ?? '—' }}
{{ $tagihan?->mahasiswa?->user?->nama_lengkap ?? '—' }}
{{ $tagihan?->mahasiswa?->npm ?? '' }}
{{ $tagihan?->jenis_tampilan ?? $tagihan?->tarif?->nama_pembayaran ?? '—' }} {{ $tagihan?->semester_label ?? '—' }} {{ $fmt($bayar->jumlah_bayar ?? 0) }} {{ $bayar->metode_pembayaran ?? '—' }}
@elseif ($jenis === 'pembayaran')
@foreach ($previewData as $item) @php $statusText = $item->displayStatusLabel(); $badgeClass = $item->displayStatusBadgeTailwindClasses(); $paid = $item->totalTerverifikasi(); $sisa = max(0.0, (float) $item->nominalTunggakan()); $pembayaranTerakhir = ($item->pembayaranAll ?? collect()) ->where('status_dibatalkan', false) ->sortByDesc('tanggal_bayar') ->first(); $tglBayar = $pembayaranTerakhir?->tanggal_bayar ?? $item->pembayaran?->tanggal_bayar; @endphp @endforeach
Kode Mahasiswa Jenis Tagihan Jumlah Status Tgl Bayar
{{ $item->kode_pembayaran ?? '—' }}
{{ $item->mahasiswa?->user?->nama_lengkap ?? '—' }}
{{ $item->mahasiswa?->npm ?? '' }}
{{ $item->jenis_tampilan ?? $item->tarif?->nama_pembayaran ?? '—' }}
{{ $fmt($item->jumlah_tagihan ?? 0) }}
@if ($paid > 0 && $statusText !== 'Lunas')
Sisa: {{ $fmt($sisa) }}
@endif
{{ $statusText }} {{ $tglBayar ? $tglBayar->format('d/m/Y') : '—' }}
@else
@foreach ($previewData as $item) @php $sisa = max(0.0, (float) $item->nominalTunggakan()); $statusText = $item->displayStatusLabel(); $badgeClass = $item->displayStatusBadgeTailwindClasses(); @endphp @endforeach
Mahasiswa Jenis Tagihan Sisa Status
{{ $item->mahasiswa?->user?->nama_lengkap ?? '—' }}
{{ $item->mahasiswa?->npm ?? '' }}
{{ $item->jenis_tampilan ?? '—' }} {{ $fmt($sisa) }} {{ $statusText }}
@endif
@endif
@endsection @push('scripts') @endpush