prepare($sql); if ($types) stmt_bind($stmt, $types, $params); $stmt->execute(); $row = $stmt->get_result()->fetch_assoc(); return (int) array_values($row)[0]; } $riAdminList = ($role === 'admin_rumah_ibadah') ? get_admin_rumah_ibadah_list((int)$user['id'], true) : []; $riAdminIds = array_map('intval', array_column($riAdminList, 'id')); $stats = []; if ($role === 'super_admin') { $stats['Total Rumah Ibadah'] = scalar_count("SELECT COUNT(*) FROM rumah_ibadah WHERE COALESCE(status_hapus,'normal')<>'disetujui'"); $stats['Rumah Ibadah Menunggu'] = scalar_count("SELECT COUNT(*) FROM rumah_ibadah WHERE status_pengajuan='menunggu' AND COALESCE(status_hapus,'normal')<>'disetujui'"); $stats['Total Penerima'] = scalar_count("SELECT COUNT(*) FROM penerima_bantuan WHERE COALESCE(status_hapus,'normal')<>'disetujui'"); $stats['Penerima Menunggu'] = scalar_count("SELECT COUNT(*) FROM penerima_bantuan WHERE status_pengajuan='menunggu' AND COALESCE(status_hapus,'normal')<>'disetujui'"); $stats['Penerima Diterima'] = scalar_count("SELECT COUNT(*) FROM penerima_bantuan WHERE status_pengajuan='diterima' AND COALESCE(status_hapus,'normal')<>'disetujui'"); $stats['Penerima Ditolak'] = scalar_count("SELECT COUNT(*) FROM penerima_bantuan WHERE status_pengajuan='ditolak' AND COALESCE(status_hapus,'normal')<>'disetujui'"); $stats['Penerima Dibatalkan'] = scalar_count("SELECT COUNT(*) FROM penerima_bantuan WHERE status_pengajuan='dibatalkan' AND COALESCE(status_hapus,'normal')<>'disetujui'"); $stats['Program Aktif'] = scalar_count("SELECT COUNT(*) FROM program_bantuan WHERE status_program='aktif'"); $stats['Bantuan Tersalurkan'] = scalar_count("SELECT COUNT(*) FROM penyaluran_bantuan"); } elseif ($role === 'admin_rumah_ibadah') { if (!empty($riAdminIds)) { $stats['Jumlah Rumah Ibadah'] = count($riAdminIds); $stats['Rumah Ibadah'] = implode(', ', array_column($riAdminList, 'nama_rumah_ibadah')); $types = ''; $params = []; $in = build_in_condition('rumah_ibadah_id', $riAdminIds, $types, $params); $stats['Pengajuan Dalam Radius'] = scalar_count("SELECT COUNT(*) FROM penerima_bantuan WHERE $in AND status_pengajuan='menunggu' AND COALESCE(status_hapus,'normal')<>'disetujui'", $types, $params); $types = ''; $params = []; $in = build_in_condition('rumah_ibadah_id', $riAdminIds, $types, $params); $stats['Penerima Diterima'] = scalar_count("SELECT COUNT(*) FROM penerima_bantuan WHERE $in AND status_pengajuan='diterima' AND COALESCE(status_hapus,'normal')<>'disetujui'", $types, $params); $types = ''; $params = []; $in = build_in_condition('rumah_ibadah_id', $riAdminIds, $types, $params); $stats['Penerima Ditolak'] = scalar_count("SELECT COUNT(*) FROM penerima_bantuan WHERE $in AND status_pengajuan='ditolak' AND COALESCE(status_hapus,'normal')<>'disetujui'", $types, $params); $types = ''; $params = []; $in = build_in_condition('rumah_ibadah_id', $riAdminIds, $types, $params); $stats['Program Aktif'] = scalar_count("SELECT COUNT(*) FROM program_bantuan WHERE $in AND status_program='aktif'", $types, $params); $types = ''; $params = []; $in = build_in_condition('rumah_ibadah_id', $riAdminIds, $types, $params); $stats['Bantuan Tersalurkan'] = scalar_count("SELECT COUNT(*) FROM penyaluran_bantuan WHERE $in", $types, $params); } else { $stats['Rumah Ibadah'] = 'Belum ada rumah ibadah diterima'; } } elseif ($role === 'penerima') { $uid = (int)$user['id']; $stats['Pengajuan Saya'] = scalar_count("SELECT COUNT(*) FROM penerima_bantuan WHERE user_id=? AND COALESCE(status_hapus,'normal')<>'disetujui'", 'i', [$uid]); $stats['Status Diterima'] = scalar_count("SELECT COUNT(*) FROM penerima_bantuan WHERE user_id=? AND status_pengajuan='diterima' AND COALESCE(status_hapus,'normal')<>'disetujui'", 'i', [$uid]); $stats['Bantuan Bulan Ini'] = scalar_count("SELECT COUNT(*) FROM penyaluran_bantuan pn JOIN penerima_bantuan pb ON pb.id=pn.penerima_id WHERE pb.user_id=? AND MONTH(pn.tanggal_penyaluran)=? AND YEAR(pn.tanggal_penyaluran)=?", 'iii', [$uid, $bulanIni, $tahunIni]); } $hapusRumahRows = []; $hapusPenerimaRows = []; if ($role === 'super_admin') { $stmt = $koneksi->prepare("SELECT ri.*, u.nama AS nama_admin, u.username AS username_admin FROM rumah_ibadah ri LEFT JOIN users u ON u.id=ri.user_id WHERE ri.status_hapus='menunggu' ORDER BY ri.updated_at DESC"); $hapusRumahRows = fetch_all_stmt($stmt); $stmt = $koneksi->prepare("SELECT pb.*, u.username AS username_penerima, ri.nama_rumah_ibadah FROM penerima_bantuan pb LEFT JOIN users u ON u.id=pb.user_id LEFT JOIN rumah_ibadah ri ON ri.id=pb.rumah_ibadah_id WHERE pb.status_hapus='menunggu' ORDER BY pb.updated_at DESC"); $hapusPenerimaRows = fetch_all_stmt($stmt); } ?> Dashboard WebGIS Poverty Mapping

Dashboard WebGIS Poverty Mapping

Role: |
Buka Peta Logout
$v): ?>

Persetujuan Hapus Marker/Pin

Admin rumah ibadah dan penerima hanya mengajukan hapus. Marker benar-benar hilang dari peta setelah disetujui super admin.

Pengajuan Hapus Rumah Ibadah

Rumah IbadahAdminAlasanAksi
Tidak ada pengajuan hapus rumah ibadah.

|

Pengajuan Hapus Penerima

PenerimaRumah IbadahAlasanAksi
Tidak ada pengajuan hapus penerima.

User: |

Kelola Akun Pengguna

Super admin dapat mengelola akun penerima dan admin rumah ibadah. Akun super admin lain tidak ditampilkan di daftar ini. Admin rumah ibadah hanya dapat mengelola akun penerima. Akun admin rumah ibadah lain tidak bisa dilihat atau diubah.

Daftar Akun

AkunRoleStatusRelasi DataDibuat/UpdateAksi
Memuat akun...

Monitoring Penyaluran Per Periode

Rekap Penyaluran

Buat Program Bantuan

Jenis bantuan, nominal, dan jumlah item yang diatur di sini akan otomatis dipakai saat penyaluran. Petugas tidak perlu mengetik ulang agar data sinkron.

Daftar Program

ProgramPeriodeJenisNominal/ItemStatusAksi
Memuat program...

Catat Penyaluran Bantuan

Data Laporan Penerima Sudah/Belum Diberi Bantuan

PenerimaRumah IbadahProgramTargetJumlahStatusTerakhirRiwayat Bulan IniAksi
Memuat data...

Riwayat Pengajuan dan Bantuan

Memuat riwayat...