{% extends 'admin_master/base_admin_master.html' if session.get('role') == 'admin_master' else 'admin_database/base_admin_database.html' %} {% set active_page = 'laporan' %} {% block page_title %}Laporan & Rekap - Admin Database{% endblock %} {% block page_header %}
Laporan & Rekap Database
Ringkasan statistik, rekapitulasi, dan riwayat mutasi.
{% endblock %} {% block content %}
{% if tab == 'santri_aktif' %}
Rekap Santri Aktif
Total Santri Aktif

{{ data.total_santri }}

Distribusi Berdasarkan Jenis Kelamin
{% for row in data.by_gender %} {% endfor %}
Jenis KelaminJumlah SantriPersentase
{{ row.jenis_kelamin }} {{ row.jumlah }} {{ (row.jumlah / data.total_santri * 100)|round(1) if data.total_santri > 0 else 0 }}%
Distribusi Tingkat Kelas
{% for row in data.by_tingkat %} {% endfor %}
TingkatJumlah Santri
{{ row.tingkat_kelas }}{{ row.jumlah }}
Distribusi Kamar
{% for row in data.by_kamar %} {% endfor %}
KamarPenghuni
{{ row.kamar }}{{ row.jumlah }}
{% elif tab == 'kelas' %}
Rekapitulasi Kelas
{% for row in data.kelas_list %} {% else %} {% endfor %}
No Nama Kelas Tingkat Wali Kelas Putra Putri Total
{{ loop.index }} {{ row.nama_kelas }} {{ row.tingkat }} {{ row.wali_kelas or '-' }} {{ row.jumlah_putra }} {{ row.jumlah_putri }} {{ row.total_santri }}
Data kelas kosong
{% elif tab == 'kamar' %}
Rekapitulasi Kamar & Asrama
{% for row in data.kamar_list %} {% else %} {% endfor %}
No Nama Kamar Gedung / Asrama Kapasitas Terisi Status
{{ loop.index }} {{ row.nama_kamar }} {{ row.asrama }} {{ row.kapasitas }} {{ row.terisi }} {% if row.terisi >= row.kapasitas %} Penuh {% else %} Tersedia {% endif %}
Data kamar kosong
{% elif tab == 'guru' %}
Rekap Guru Aktif
{% for row in data.by_jabatan %} {% endfor %}
JabatanJumlah
{{ row.jabatan }}{{ row.jumlah }}
{% for row in data.guru_list %} {% endfor %}
No Nama Guru Jabatan Pendidikan Kontak
{{ loop.index }} {{ row.nama_lengkap }} {{ row.jabatan }} {{ row.pendidikan_terakhir }} {{ row.nomor_hp or '-' }}
{% elif tab in ['riwayat_kamar', 'riwayat_kelas', 'keluar_masuk'] %}
Log Mutasi & Perpindahan
{% for row in data.riwayat %} {% else %} {% endfor %}
Tanggal Santri Jenis Mutasi Dari Menjadi Alasan / Keterangan Admin
{{ row.tanggal }} {{ row.nama_lengkap or 'ID: ' ~ row.id_santri }} {% if row.jenis_kelamin %} {{ row.jenis_kelamin }} {% endif %} {{ row.jenis|upper }} {{ row.dari or '-' }} {{ row.ke or '-' }} {% if row.alasan %}{{ row.alasan }}{% endif %} {{ row.keterangan or '-' }} {{ row.admin }}
Belum ada riwayat mutasi.
{% elif tab == 'bulanan' %}
1. Kondisi Santri & Mutasi
Total Santri Aktif

{{ data.total_santri }}

Log Mutasi Bulan Ini (Masuk & Keluar)
{% if data.mutasi_bulan_ini %} {% for row in data.mutasi_bulan_ini %} {% endfor %}
TglSantriJenisKeterangan
{{ row.tanggal.strftime('%d/%m') if row.tanggal else '-' }} {{ row.nama_lengkap }} {% if row.jenis == 'masuk' %}Masuk {% else %}Keluar{% endif %} {{ row.alasan or '-' }}
{% else %}

Tidak ada mutasi santri masuk/keluar bulan ini.

{% endif %}
2. Kondisi Kelas & Guru
{% for row in data.kelas_list %} {% endfor %}
KelasTingkatWali Kelas
{{ row.nama_kelas }} {{ row.tingkat }} {{ row.wali_kelas or '-' }}
{% for row in data.by_jabatan %} {% endfor %}
Jabatan GuruJumlah
{{ row.jabatan }} {{ row.jumlah }}
3. Daftar Kamar & Asrama
{% for row in data.kamar_list %} {% endfor %}
Nama KamarAsramaKapasitas
{{ row.nama_kamar }} {{ row.asrama }} {{ row.kapasitas }}
{% endif %}
{% endblock %} {% block extra_scripts %} {% endblock %}