# created idrfid nama division mail alamat tgl jam masuk jam keluar Action '; $i = 1; $query = "SELECT k.*, a.tgl, a.rekap_masuk, a.rekap_keluar FROM data_karyawan k INNER JOIN data_absen a ON k.idrfid = a.idrfid WHERE a.tgl BETWEEN '$start_date' AND '$end_date'"; // Tambahkan kondisi pencarian karyawan jika ada if (!empty($search)) { $query .= " AND k.nama LIKE '%$search%'"; } $rows = mysqli_query($conn, $query); foreach ($rows as $row) { // Tentukan tindakan berdasarkan keterlambatan masuk atau keluar lebih awal $action = ''; $jamMasukLimit = '09:00:00'; $jamKeluarLimit = '16:00:00'; $terlambat = $row["rekap_masuk"] > $jamMasukLimit; $pulangDulu = $row["rekap_keluar"] < $jamKeluarLimit; if ($terlambat && $pulangDulu) { $action = 'Terlambat dan Pulang Dulu'; } elseif ($terlambat) { $action = 'Terlambat'; } elseif ($pulangDulu) { $action = 'Pulang Dulu'; } else { $action = 'Tidak Terlambat'; } echo ' ' . $i++ . ' ' . $row["created"] . ' ' . $row["idrfid"] . ' ' . $row["nama"] . ' ' . $row["division"] . ' ' . $row["mail"] . ' ' . $row["alamat"] . ' ' . $row["tgl"] . ' ' . $row["rekap_masuk"] . ' ' . $row["rekap_keluar"] . ' ' . $action . ' '; } echo ''; echo '

'; // Query untuk rekapitulasi absensi $query_rekap = "SELECT k.nama, SUM(CASE WHEN a.rekap_masuk <= '09:00:00' AND a.rekap_keluar >= '16:00:00' THEN 1 ELSE 0 END) AS tidak_terlambat, SUM(CASE WHEN a.rekap_masuk > '09:00:00' THEN 1 ELSE 0 END) AS terlambat, SUM(CASE WHEN a.rekap_keluar < '16:00:00' THEN 1 ELSE 0 END) AS pulang_dulu, SUM(CASE WHEN a.rekap_masuk > '09:00:00' AND a.rekap_keluar < '16:00:00' THEN 1 ELSE 0 END) AS terlambat_dan_pulang_dulu FROM data_karyawan k INNER JOIN data_absen a ON k.idrfid = a.idrfid WHERE a.tgl BETWEEN '$start_date' AND '$end_date'"; // Tambahkan kondisi pencarian karyawan jika ada if (!empty($search)) { $query_rekap .= " AND k.nama LIKE '%$search%'"; } $query_rekap .= " GROUP BY k.nama ORDER BY k.nama"; $rows_rekap = mysqli_query($conn, $query_rekap); echo ''; foreach ($rows_rekap as $row_rekap) { echo ''; } echo '
Nama Tidak Terlambat Terlambat Pulang Dulu Terlambat dan Pulang Dulu
' . $row_rekap["nama"] . ' ' . $row_rekap["tidak_terlambat"] . ' ' . $row_rekap["terlambat"] . ' ' . $row_rekap["pulang_dulu"] . ' ' . $row_rekap["terlambat_dan_pulang_dulu"] . '
'; } else { // Redirect ke halaman lain jika tombol submit tidak ditekan header("Location: index.php"); exit(); } ?>