<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class StatistikPpidController extends Controller
{
    public function index()
    {
        // Hitung permohonan per tahun dari database
        $permohonanPerTahun = DB::table('permohonan_informasi')
            ->selectRaw('YEAR(tanggal_permohonan) as tahun, COUNT(*) as jumlah')
            ->groupBy('tahun')
            ->orderBy('tahun', 'asc')
            ->get()
            ->map(function($item) {
                return [
                    'tahun' => $item->tahun,
                    'jumlah' => $item->jumlah
                ];
            })
            ->toArray();

        // Hitung total permohonan untuk persentase
        $totalPermohonan = DB::table('permohonan_informasi')->count();

        // Hitung status permohonan dari database
        $statusData = DB::table('permohonan_informasi')
            ->selectRaw('status, COUNT(*) as jumlah')
            ->groupBy('status')
            ->get();

        $statusPermohonan = [];
        $statusLabels = [
            'disetujui' => 'Disetujui',
            'diproses' => 'Diproses',
            'ditolak' => 'Ditolak',
            'keberatan' => 'Keberatan',
            'pending' => 'Pending'
        ];

        foreach ($statusData as $item) {
            $persentase = $totalPermohonan > 0 ? ($item->jumlah / $totalPermohonan) * 100 : 0;
            $statusPermohonan[] = [
                'status' => $statusLabels[$item->status] ?? ucfirst($item->status),
                'jumlah' => $item->jumlah,
                'persentase' => round($persentase, 1)
            ];
        }

        return view('ppid.statistik', compact('permohonanPerTahun', 'statusPermohonan'));
    }
}