format('H:i:s');
$tanggal = $now->format('Y-m-d');
// Ambil jam masuk dan pulang dari database
$jamSet = mysqli_query($conn, "SELECT jam_masuk, jam_pulang FROM pengaturan_jam LIMIT 1");
if ($row = mysqli_fetch_assoc($jamSet)) {
$jamMasukDeadline = new DateTime($row['jam_masuk'], new DateTimeZone("Asia/Jakarta"));
$jamPulangBatas = new DateTime($row['jam_pulang'], new DateTimeZone("Asia/Jakarta"));
} else {
// Default fallback jika tidak ada data
$jamMasukDeadline = new DateTime('08:00:00', new DateTimeZone("Asia/Jakarta"));
$jamPulangBatas = new DateTime('15:00:00', new DateTimeZone("Asia/Jakarta"));
}
$jamSekarang = new DateTime($jam, new DateTimeZone("Asia/Jakarta"));
$result_absen = mysqli_query($conn, "SELECT * FROM absensi WHERE rfid='$rfid' AND tanggal='$tanggal' AND jam_pulang IS NULL");
if (mysqli_num_rows($result_absen) > 0) {
// Cek apakah sudah boleh absen pulang
if ($jamSekarang >= $jamPulangBatas) {
$absen = mysqli_fetch_assoc($result_absen);
$id_absen = $absen['id'];
mysqli_query($conn, "UPDATE absensi SET jam_pulang='$jam', foto_kepulangan='$foto_kepulangan' WHERE id='$id_absen'");
echo "Pulang: " . $jam;
} else {
echo "Belum waktunya pulang!";
}
} else {
// Cek status kehadiran
$status = ($jamSekarang > $jamMasukDeadline) ? 'Terlambat' : 'Tepat Waktu';
// Input absen masuk dengan foto kehadiran
mysqli_query($conn, "INSERT INTO absensi (rfid, nama, jabatan, tanggal, jam_masuk, status_kehadiran, foto_kehadiran)
SELECT rfid, nama, jabatan, '$tanggal', '$jam', '$status', '$foto_kehadiran' FROM karyawan WHERE rfid='$rfid'");
echo "Masuk: " . $jam . " ($status)";
}
exit();
}
?>