{{-- Header --}}

Rekonsiliasi Simpanan Pinjaman

Membandingkan saldo SWP & Tabungan Berjangka yang tercatat dengan yang seharusnya menurut data pinjaman. Hanya menampilkan yang tidak cocok.

{{-- Halaman yang benar isinya kosong, dan halaman kosong tak bisa dibedakan dari halaman basi. Waktu periksa + tombol periksa ulang yang membedakannya. --}}
Periksa Ulang @if ($checkedAt)

Diperiksa {{ \Illuminate\Support\Carbon::parse($checkedAt)->translatedFormat('d M Y · H:i') }}

@endif
@if ($rows === [])

Seluruhnya cocok

{{ number_format($memberCount, 0, ',', '.') }} anggota diperiksa. Saldo SWP dan Tabungan Berjangka setiap anggota sama persis dengan data pinjamannya.

@else

{{ count($rows) }} anggota tidak cocok — periksa satu per satu.

Selisih positif = saldo tercatat lebih besar dari yang seharusnya (kemungkinan setoran yang tak berdasar). Selisih negatif = saldo lebih kecil (kemungkinan pembalikan yang tak semestinya, atau penarikan yang belum terhitung).

@foreach ($rows as $row) @foreach (['swp', 'tabungan_berjangka'] as $type) @php($cell = $row[$type]) @endforeach @endforeach
Anggota SWP Tabungan Berjangka
Tercatat Seharusnya Selisih Tercatat Seharusnya Selisih
{{ $row['member_name'] }}
{{ $row['member_number'] }}
{{ number_format((float) $cell['tercatat'], 0, ',', '.') }} {{ number_format((float) $cell['seharusnya'], 0, ',', '.') }} $cell['selisih'] === '0.00', 'text-danger' => $cell['selisih'] !== '0.00', ])> {{ $cell['selisih'] === '0.00' ? '—' : number_format((float) $cell['selisih'], 0, ',', '.') }}
@endif {{-- Kenapa halaman ini ada: sebelum SWP & Tabungan Berjangka jadi simpanan sungguhan, saldonya diturunkan dari tabel pinjaman — bentuk yang tak bisa dipalsukan. Sekarang saldonya baris setoran biasa, jadi pembandingnya harus dihitung terpisah. Halaman kosong adalah hasil yang benar. --}} {{-- Penampung toast. Tanpa baris ini `dispatch('toast', …)` terkirim ke halaman yang tak mendengarkannya: konfirmasi "sudah diperiksa ulang" hilang tanpa jejak, dan tombol Periksa Ulang jadi tombol yang tak pernah menjawab apa pun. --}}

Seharusnya dihitung ulang dari data pinjaman: SWP = jumlah swp_amount seluruh pinjaman yang tidak dibatalkan; Tabungan Berjangka = tarif bulanan × jumlah angsuran terbayar (bersih setelah pembatalan, baris pelunasan tidak dihitung).