select('presensi.*') ->join('users', 'presensi.user_id', '=', 'users.id') ->orderBy('presensi.created_at', 'desc') ->get(); return view('admin.attendance', compact('presensis')); } //show late times public function indexLatetime() { return view('admin.latetime')->with(['latetimes' => Latetime::all()]); } // public static function lateTime(Employee $employee) // { // $current_t = new DateTime(date('H:i:s')); // $start_t = new DateTime($employee->schedules->first()->time_in); // $difference = $start_t->diff($current_t)->format('%H:%I:%S'); // $latetime = new Latetime(); // $latetime->emp_id = $employee->id; // $latetime->duration = $difference; // $latetime->latetime_date = date('Y-m-d'); // $latetime->save(); // } public static function lateTimeDevice($att_dateTime, Employee $employee) { $attendance_time = new DateTime($att_dateTime); $checkin = new DateTime($employee->schedules->first()->time_in); $difference = $checkin->diff($attendance_time)->format('%H:%I:%S'); $latetime = new Latetime(); $latetime->emp_id = $employee->id; $latetime->duration = $difference; $latetime->latetime_date = date('Y-m-d', strtotime($att_dateTime)); $latetime->save(); } public function destroy($id) { try { $presensi = Presensi::findOrFail($id); // Hapus file foto jika ada if ($presensi->foto) { Storage::delete('public/' . $presensi->foto); } // Hapus record dari database $presensi->delete(); return redirect()->route('admin.attendance') ->with('success', 'Data presensi berhasil dihapus'); } catch (\Exception $e) { return redirect()->route('admin.attendance') ->with('error', 'Gagal menghapus data presensi: ' . $e->getMessage()); } } }