12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
-
- namespace App\Http\Controllers;
-
- use App\Models\Pelaporan;
- use App\Models\RiwayatLaporan;
- use App\Models\User;
- use Illuminate\Http\Request;
-
- class RiwayatLaporanController extends Controller
- {
- public function index(Request $request)
- {
- // Ambil data pengguna dari request
- $user = $request->user();
- if ($user->role == 'admin') {
- // Jika pengguna adalah admin, hitung total berdasarkan tindakan_id
- $laporan = Pelaporan::with('tindakan','user')->get();
-
- } elseif ($user->role == 'user') {
- // Jika pengguna adalah pengguna biasa, hitung riwayat pelaporan milik pengguna tersebut
- $laporan = Pelaporan::where('user_id', $user->id)->get();
- // Menghitung total riwayat pelaporan yang dimiliki oleh pengguna
- $count = $laporan->count();
- }
- // Inisialisasi query builder untuk riwayat pelaporan
- $riwayatPelaporan = Pelaporan::query();
-
- // Filter berdasarkan pencarian jika ada
- if ($request->has('search')) {
- $searchTerm = $request->search;
- $riwayatPelaporan->where('judul', 'LIKE', '%' . $searchTerm . '%');
- }
-
- if ($request->has('startDate') && $request->has('endDate')) {
- $startDate = $request->startDate;
- $endDate = $request->endDate;
-
- $riwayatPelaporan->whereBetween('tanggal', [$startDate, $endDate]);
- }
- // Filter berdasarkan peran pengguna
- if ($user->role == 'admin') {
- // Jika pengguna adalah admin, ambil semua riwayat pelaporan
- $riwayatPelaporan = $riwayatPelaporan->get();
- } elseif ($user->role == 'user') {
- // Jika pengguna adalah pengguna biasa, ambil riwayat pelaporan milik pengguna tersebut
- $riwayatPelaporan = $riwayatPelaporan->where('user_id', $user->id)->get();
- }
-
- // Kembalikan data sebagai response JSON
- return view('umum.riwayat.index', ['riwayatPelaporan' => $riwayatPelaporan], compact('laporan'));
- }
-
- public function cetak(Request $request){
- $user = $request->user();
-
- // Inisialisasi query builder untuk riwayat pelaporan
- $riwayatPelaporan = Pelaporan::query();
- // Filter berdasarkan peran pengguna
- if ($user->role == 'admin') {
- // Jika pengguna adalah admin, ambil semua riwayat pelaporan
- $riwayatPelaporan = $riwayatPelaporan->get();
- } elseif ($user->role == 'user') {
- // Jika pengguna adalah pengguna biasa, ambil riwayat pelaporan milik pengguna tersebut
- $riwayatPelaporan = $riwayatPelaporan->where('user_id', $user->id)->get();
- }
-
- return view('umum.riwayat.cetak', ['riwayatPelaporan' => $riwayatPelaporan]);
- }
-
-
-
- }
|