<?php

namespace App\Http\Controllers; // <--- CORRECCIÓN 1: Namespace Estándar

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

// <--- CORRECCIÓN 2: Importar el Modelo desde App\Models
// Asegúrate de mover tu archivo cLicencia.php a la carpeta app/Models/
use App\Models\cLicencia;

// <--- CORRECCIÓN 3: Importar el Request de Validación
// Asegúrate de mover ClicenciaFormRequest.php a app/Http/Requests/
use App\Http\Requests\ClicenciaFormRequest;

// NOTA SOBRE FPDF: Si no has instalado el paquete en Laravel 11, esto dará error.
// Si te falla, coméntalo temporalmente: // use Fpdf;
use Fpdf; 

class ClicenciaController extends Controller
{
    public function __construct()
    {
        // Esto requiere el paquete laravel/ui instalado
        $this->middleware('auth');
    }

    public function index(Request $request)
    {
        if ($request)
        {
            $query = trim($request->get('searchText'));
            
            // Nota: Verifica que tu tabla en la BD se llame realmente 'cLicencia'
            $cLicencias = DB::table('cLicencia')
                ->where('RAZON','LIKE','%'.$query.'%')
                ->orWhere ('RUC','LIKE','%'.$query.'%')
                ->orderBy('id','asc') // Asegúrate que la columna 'id' existe
                ->paginate(20);
                
            return view('licencias.clicencia.index',["clicencia"=>$cLicencias,"searchText"=>$query]);
        }
    }

    public function create()
    {
        return view("licencias.clicencia.create");
    }

    public function store(ClicenciaFormRequest $request)
    {
        $cLicencia = new cLicencia;
        $cLicencia->clave = $request->get('clave');
        $cLicencia->ruc = $request->get('ruc');
        $cLicencia->RAZON = $request->get('RAZON');
        $cLicencia->mac = $request->get('mac');
        $cLicencia->fechai = $request->get('fechai');
        $cLicencia->fechaf = $request->get('fechaf');
        $cLicencia->save();
        
        return Redirect::to('licencias/clicencia');
    }

    public function show($id)
    {
        return view("licencias.clicencia.show", ["cLicencia" => cLicencia::findOrFail($id)]);
    }

    public function edit($id)
    {
        return view("licencias.clicencia.edit", ["cLicencia" => cLicencia::findOrFail($id)]);
    }

    public function update(ClicenciaFormRequest $request, $id)
    {
        $cLicencia = cLicencia::findOrFail($id);
        $cLicencia->clave = $request->get('clave');
        $cLicencia->ruc = $request->get('ruc');
        $cLicencia->RAZON = $request->get('RAZON');
        $cLicencia->mac = $request->get('mac');
        $cLicencia->fechai = $request->get('fechai');
        $cLicencia->fechaf = $request->get('fechaf');
        $cLicencia->update();
        
        return Redirect::to('licencias/clicencia');
    }

    public function destroy($id)
    {
        $cLicencia = cLicencia::findOrFail($id);
        $cLicencia->mac = ''; // Borrado lógico quitando la mac
        $cLicencia->update();
        
        return Redirect::to('licencias/clicencia');
    }

    public function reporte()
    {
         // Obtenemos los registros
         $registros = DB::table('cLicencia')
            ->where('ruc','!=','')
            ->orderBy('ruc','asc')
            ->get();

         // OJO: FPDF requiere configuración especial en Laravel 11.
         // Si esta línea falla, tendrás que instalar un paquete como "codedge/laravel-fpdf"
         $pdf = new Fpdf();
         $pdf::AddPage();
         $pdf::SetTextColor(35,56,113);
         $pdf::SetFont('Arial','B',11);
         $pdf::Cell(0,10,utf8_decode("Listado Licencias Fac-Sun"),0,"","C");
         $pdf::Ln();
         $pdf::Ln();
         $pdf::SetTextColor(0,0,0);
         $pdf::SetFillColor(206, 246, 245);
         $pdf::SetFont('Arial','B',10);
         
         $pdf::cell(25,8,utf8_decode("ruc"),1,"","L",true);
         $pdf::cell(95,8,utf8_decode("razon"),1,"","L",true);
         $pdf::cell(30,8,utf8_decode("mac"),1,"","L",true);
         $pdf::cell(20,8,utf8_decode("fechai"),1,"","L",true);
         $pdf::cell(20,8,utf8_decode("fechaf"),1,"","L",true);
         
         $pdf::Ln();
         $pdf::SetTextColor(0,0,0);
         $pdf::SetFillColor(255, 255, 255);
         $pdf::SetFont("Arial","",9);
         
         foreach ($registros as $reg)
         {
            $pdf::cell(25,6,utf8_decode($reg->ruc),1,"","L",true);
            $pdf::cell(95,6,utf8_decode($reg->RAZON),1,"","L",true);
            $pdf::cell(30,6,utf8_decode($reg->mac),1,"","L",true);
            $pdf::cell(20,6,utf8_decode($reg->fechai),1,"","L",true);
            $pdf::cell(20,6,utf8_decode($reg->fechaf),1,"","L",true);
            $pdf::Ln(); 
         }

         $pdf::Output();
         exit;
    }
}