-- Query untuk mengecek saldo kas & bank akhir
-- Sesuai dengan logika di DashboardController.php baris 273-275

-- 1. Cek total saldo (yang ditampilkan di dashboard)
SELECT SUM(akun.saldo) as total_saldo_kas_bank
FROM kas_unit
JOIN akun ON kas_unit.kode_akun = akun.kode_akun;

-- 2. Cek detail saldo per unit dan akun
SELECT 
    units.nama_unit,
    kas_unit.kode_akun,
    akun.nama_akun,
    akun.saldo,
    akun.is_kas
FROM kas_unit
JOIN akun ON kas_unit.kode_akun = akun.kode_akun
LEFT JOIN units ON kas_unit.kode_unit = units.kode_unit
ORDER BY units.nama_unit, akun.nama_akun;

-- 3. Cek apakah ada akun yang bukan kas tapi masuk ke perhitungan
SELECT 
    COUNT(*) as total_akun,
    SUM(CASE WHEN akun.is_kas = 1 THEN 1 ELSE 0 END) as akun_kas,
    SUM(CASE WHEN akun.is_kas = 0 THEN 1 ELSE 0 END) as akun_non_kas
FROM kas_unit
JOIN akun ON kas_unit.kode_akun = akun.kode_akun;

-- 4. Cek saldo dari jurnal_entry (metode alternatif yang digunakan di baris 108-114)
SELECT 
    SUM(je.debit - je.kredit) as saldo_dari_jurnal
FROM jurnal_entry as je
JOIN akun as a ON je.akun_id = a.kode_akun
WHERE a.is_kas = 1
  AND je.periode = YEAR(CURDATE())
  AND je.periode_id = (SELECT id FROM periode WHERE status = 1 LIMIT 1);

-- 5. Bandingkan: saldo di tabel akun vs saldo dari jurnal_entry
SELECT 
    'Dari Tabel Akun' as sumber,
    SUM(akun.saldo) as total_saldo
FROM kas_unit
JOIN akun ON kas_unit.kode_akun = akun.kode_akun

UNION ALL

SELECT 
    'Dari Jurnal Entry' as sumber,
    SUM(je.debit - je.kredit) as total_saldo
FROM jurnal_entry as je
JOIN akun as a ON je.akun_id = a.kode_akun
WHERE a.is_kas = 1
  AND je.periode = YEAR(CURDATE())
  AND je.periode_id = (SELECT id FROM periode WHERE status = 1 LIMIT 1);
