feat: auto-nonaktifkan siswa lulus/tidak aktif saat sync

Setelah sinkronasi, siswa yang tidak muncul di data
sumber (Database Kesiswaan) akan otomatis dinonaktifkan
(is_active=false) — mencakup siswa lulus & pindah.

Ini memastikan data siswa selalu sinkron dengan tahun
ajaran baru tanpa perlu manual cleanup.
This commit is contained in:
Bro
2026-07-24 18:41:36 +07:00
parent 4fa709509f
commit 5fce7af844
2 changed files with 15 additions and 1 deletions
@@ -76,7 +76,11 @@ class SyncController extends Controller
Setting::setValue('kesiswaan_base_url', $validated['base_url'], 'integration', 'URL Database Kesiswaan');
Setting::setValue('kesiswaan_token', $validated['token'], 'integration', 'Token sinkronisasi');
$deactivated = $result['students_deactivated'] ?? 0;
$msg = 'Sinkron berhasil! ' . $result['students_created'] . ' siswa baru, ' . $result['students_updated'] . ' diperbarui, ' . $result['classes_created'] . ' kelas baru.';
if ($deactivated > 0) {
$msg .= ' ' . $deactivated . ' siswa dinonaktifkan (tidak aktif tahun ajaran baru).';
}
if (!empty($result['errors'])) {
$skipped = count($result['errors']);