Model: school_student_graduation_batch
Menu: School → Student Activities → Graduation Batches
School Student Graduation Batch adalah dokumen transaksi tingkat kohort untuk meluluskan banyak siswa sekaligus, sambil tetap menjaga jejak audit per siswa. Batch tidak langsung mengubah status siswa; sebaliknya, saat batch mencapai status Done, sistem membuat satu dokumen School Student Graduation terpisah untuk setiap baris siswa terpilih, lalu memprosesnya hingga selesai secara otomatis. Dengan demikian, seluruh validasi dan efek samping yang berlaku pada dokumen Student Graduation individual (pemeriksaan status siswa, pemeriksaan kelulusan aktif ganda, pembaruan hasil enrollment, dan lain-lain) tetap berlaku untuk setiap siswa dalam batch.
Batch mengikuti alur persetujuan sederhana yang sama dengan Student Graduation: Draft → Confirm → Done (Approve langsung menyelesaikan dokumen), dengan Cancel tersedia dari Draft/Confirm/Reject. Status Done bersifat terminal.
Draft → Confirm (Menunggu Persetujuan) → Done
↓
Reject / Cancel → (Restart) → Draft
Batch tidak memproses ulang baris yang gagal secara parsial: bila salah satu siswa pada baris tidak lagi memenuhi syarat (tidak berstatus Enrolled) saat batch diselesaikan, seluruh proses Done batch dibatalkan (rollback) dan tidak ada satu pun dokumen Student Graduation yang dibuat. Perbaiki atau hapus baris siswa yang bermasalah terlebih dahulu sebelum mengulang Confirm/Approve.
| Field (Teknis) | Label | Wajib Diisi | Dapat Diubah | Keterangan |
|---|---|---|---|---|
date |
Date | Ya | Hanya saat Draft | Tanggal dokumen batch dibuat. Default: tanggal hari ini. Nilai ini juga dipakai sebagai Date dan Graduation Date pada setiap dokumen Student Graduation yang dihasilkan. |
academic_year_id |
Academic Year | Tidak | Hanya saat Draft | Filter opsional: bila diisi, tombol Populate Eligible Students hanya mengusulkan siswa yang enrollment aktifnya berada pada tahun ajaran ini. |
academic_term_id |
Academic Term | Tidak | Hanya saat Draft | Filter opsional: bila diisi, tombol Populate Eligible Students hanya mengusulkan siswa yang enrollment aktifnya berada pada periode akademik ini. |
grade_id |
Grade | Tidak | Hanya saat Draft | Filter opsional: bila diisi, tombol Populate Eligible Students hanya mengusulkan siswa yang enrollment aktifnya berada pada jenjang kelas ini. |
line_ids |
Lines (tab Students) | Tidak | Hanya saat Draft | Daftar siswa yang akan diluluskan oleh batch ini. Dapat diisi otomatis dengan tombol Populate Eligible Students, atau ditambah/dihapus manual baris per baris. |
line_ids.student_id |
Student | Ya (per baris) | Hanya saat Draft | Siswa pada baris tersebut. |
line_ids.graduation_id 🔒 |
Graduation | Tidak (computed) | Tidak | Dokumen Student Graduation yang dihasilkan untuk baris ini setelah batch Done. Kosong sebelum batch diproses. |
next_grade_id kosong), ditambah filter Academic Year/Academic Term/Grade bila diisi.