{% if tab == 'santri_aktif' %}
Rekap Santri Aktif
Total Santri Aktif
{{ data.total_santri }}
Distribusi Berdasarkan Jenis Kelamin
| Jenis Kelamin | Jumlah Santri | Persentase |
{% for row in data.by_gender %}
| {{ row.jenis_kelamin }} |
{{ row.jumlah }} |
{{ (row.jumlah / data.total_santri * 100)|round(1) if data.total_santri > 0 else 0 }}% |
{% endfor %}
Distribusi Tingkat Kelas
| Tingkat | Jumlah Santri |
{% for row in data.by_tingkat %}
| {{ row.tingkat_kelas }} | {{ row.jumlah }} |
{% endfor %}
Distribusi Kamar
| Kamar | Penghuni |
{% for row in data.by_kamar %}
| {{ row.kamar }} | {{ row.jumlah }} |
{% endfor %}
{% elif tab == 'kelas' %}
Rekapitulasi Kelas
| No |
Nama Kelas |
Tingkat |
Wali Kelas |
Putra |
Putri |
Total |
{% for row in data.kelas_list %}
| {{ loop.index }} |
{{ row.nama_kelas }} |
{{ row.tingkat }} |
{{ row.wali_kelas or '-' }} |
{{ row.jumlah_putra }} |
{{ row.jumlah_putri }} |
{{ row.total_santri }} |
{% else %}
| Data kelas kosong |
{% endfor %}
{% elif tab == 'kamar' %}
Rekapitulasi Kamar & Asrama
| No |
Nama Kamar |
Gedung / Asrama |
Kapasitas |
Terisi |
Status |
{% for row in data.kamar_list %}
| {{ loop.index }} |
{{ row.nama_kamar }} |
{{ row.asrama }} |
{{ row.kapasitas }} |
{{ row.terisi }} |
{% if row.terisi >= row.kapasitas %}
Penuh
{% else %}
Tersedia
{% endif %}
|
{% else %}
| Data kamar kosong |
{% endfor %}
{% elif tab == 'guru' %}
Rekap Guru Aktif
| Jabatan | Jumlah |
{% for row in data.by_jabatan %}
| {{ row.jabatan }} | {{ row.jumlah }} |
{% endfor %}
| No |
Nama Guru |
Jabatan |
Pendidikan |
Kontak |
{% for row in data.guru_list %}
| {{ loop.index }} |
{{ row.nama_lengkap }} |
{{ row.jabatan }} |
{{ row.pendidikan_terakhir }} |
{{ row.nomor_hp or '-' }} |
{% endfor %}
{% elif tab in ['riwayat_kamar', 'riwayat_kelas', 'keluar_masuk'] %}
Log Mutasi & Perpindahan
| Tanggal |
Santri |
Jenis Mutasi |
Dari |
Menjadi |
Alasan / Keterangan |
Admin |
{% for row in data.riwayat %}
| {{ 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 }} |
{% else %}
| Belum ada riwayat mutasi. |
{% endfor %}
{% elif tab == 'bulanan' %}
Laporan Bulanan Pondok Pesantren
Bulan: {{ now().strftime('%B %Y') if now else 'Bulan Ini' }}
1. Kondisi Santri & Mutasi
Total Santri Aktif
{{ data.total_santri }}
Log Mutasi Bulan Ini (Masuk & Keluar)
{% if data.mutasi_bulan_ini %}
| Tgl | Santri | Jenis | Keterangan |
{% for row in data.mutasi_bulan_ini %}
| {{ row.tanggal.strftime('%d/%m') if row.tanggal else '-' }} |
{{ row.nama_lengkap }} |
{% if row.jenis == 'masuk' %}Masuk
{% else %}Keluar{% endif %}
|
{{ row.alasan or '-' }} |
{% endfor %}
{% else %}
Tidak ada mutasi santri masuk/keluar bulan ini.
{% endif %}
2. Kondisi Kelas & Guru
| Kelas | Tingkat | Wali Kelas |
{% for row in data.kelas_list %}
| {{ row.nama_kelas }} |
{{ row.tingkat }} |
{{ row.wali_kelas or '-' }} |
{% endfor %}
| Jabatan Guru | Jumlah |
{% for row in data.by_jabatan %}
| {{ row.jabatan }} |
{{ row.jumlah }} |
{% endfor %}
3. Daftar Kamar & Asrama
| Nama Kamar | Asrama | Kapasitas |
{% for row in data.kamar_list %}
| {{ row.nama_kamar }} |
{{ row.asrama }} |
{{ row.kapasitas }} |
{% endfor %}
Mengetahui,
Kepala Pondok Pesantren
_________________________
{% endif %}