query('search'); $fasyankes_filter = $request->query('fasyankes'); $tgl_mulai = $request->query('tgl_mulai'); $tgl_selesai = $request->query('tgl_selesai'); // Ambil daftar fasyankes untuk dropdown filter $fasyankes_list = DB::table('fasyankes') ->select('id_fasyankes', 'nama_fasyankes') ->get(); $query = DB::table('log_aktivitas') ->leftJoin('petugas', 'log_aktivitas.id_petugas', '=', 'petugas.id_petugas') ->leftJoin('fasyankes', 'petugas.id_fasyankes', '=', 'fasyankes.id_fasyankes') ->select( 'log_aktivitas.*', 'petugas.id_petugas', 'petugas.nama_petugas', 'petugas.email', 'petugas.role', 'fasyankes.nama_fasyankes' ); // FILTER SEARCH if (!empty($search)) { $query->where(function ($q) use ($search) { $q->where('petugas.nama_petugas', 'like', "%{$search}%") ->orWhere('petugas.email', 'like', "%{$search}%") ->orWhere('petugas.id_petugas', 'like', "%{$search}%") ->orWhere('fasyankes.nama_fasyankes', 'like', "%{$search}%") ->orWhere('log_aktivitas.aktivitas', 'like', "%{$search}%"); }); } // FILTER FASYANKES if (!empty($fasyankes_filter)) { $query->where('fasyankes.id_fasyankes', $fasyankes_filter); } // FILTER TANGGAL if (!empty($tgl_mulai)) { $query->whereDate('log_aktivitas.created_at', '>=', $tgl_mulai); } if (!empty($tgl_selesai)) { $query->whereDate('log_aktivitas.created_at', '<=', $tgl_selesai); } $riwayat = $query ->orderBy('log_aktivitas.created_at', 'desc') ->paginate(15) ->appends($request->all()); return view('riwayat-aktivitas', compact('riwayat', 'fasyankes_list')); } public function export(Request $request) { $search = $request->query('search'); $fasyankes_filter = $request->query('fasyankes'); $tgl_mulai = $request->query('tgl_mulai'); $tgl_selesai = $request->query('tgl_selesai'); $query = DB::table('log_aktivitas') ->leftJoin('petugas', 'log_aktivitas.id_petugas', '=', 'petugas.id_petugas') ->leftJoin('fasyankes', 'petugas.id_fasyankes', '=', 'fasyankes.id_fasyankes') ->select( 'petugas.id_petugas', 'petugas.nama_petugas', 'petugas.email', 'petugas.role', 'fasyankes.nama_fasyankes', 'log_aktivitas.aktivitas', 'log_aktivitas.created_at' ); // FILTER SEARCH if (!empty($search)) { $query->where(function ($q) use ($search) { $q->where('petugas.nama_petugas', 'like', "%{$search}%") ->orWhere('petugas.email', 'like', "%{$search}%") ->orWhere('petugas.id_petugas', 'like', "%{$search}%") ->orWhere('fasyankes.nama_fasyankes', 'like', "%{$search}%") ->orWhere('log_aktivitas.aktivitas', 'like', "%{$search}%"); }); } // FILTER FASYANKES if (!empty($fasyankes_filter)) { $query->where('fasyankes.id_fasyankes', $fasyankes_filter); } // FILTER TANGGAL if (!empty($tgl_mulai)) { $query->whereDate('log_aktivitas.created_at', '>=', $tgl_mulai); } if (!empty($tgl_selesai)) { $query->whereDate('log_aktivitas.created_at', '<=', $tgl_selesai); } $data = $query ->orderBy('log_aktivitas.created_at', 'desc') ->get(); $filename = "Riwayat_Aktivitas_" . date('Ymd_His') . ".xls"; header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=\"$filename\""); echo '
| No | ID Petugas | Nama Petugas | Role | Fasyankes | Aktivitas | Waktu | |
|---|---|---|---|---|---|---|---|
| ' . ($key + 1) . ' | '; echo '' . ($r->id_petugas ?? '-') . ' | '; echo '' . ($r->nama_petugas ?? '-') . ' | '; echo '' . ($r->email ?? '-') . ' | '; echo '' . ($r->role ?? '-') . ' | '; echo '' . ($r->nama_fasyankes ?? '-') . ' | '; echo '' . $r->aktivitas . ' | '; echo '' . date('d M Y H:i', strtotime($r->created_at)) . ' | '; echo '