<?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]);
    }



}
