<?php
ob_start();
include('ajax/is_logged.php');
require('fpdf/fpdf.php');
require_once ("config/db.php");
require_once ("config/conexion.php");

// Desactivar reportes de errores que puedan dañar el PDF
error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);

class PDF extends FPDF {
    function Header() {
        // Logo y Nombre de Empresa
        $this->Image('img/logonino.jpeg', 10, 10, 20); 
        $this->SetFont('Arial', 'B', 14);
        $this->Cell(60);
        // Título del Reporte
        $this->SetFillColor(232, 232, 232);
        $this->SetFont('Arial', 'B', 12);
        $this->Cell(60, 10, utf8_decode('TOP 10 CLIENTES CON MAYOR VOLUMEN DE COMPRA'), 0, 1, 'C');
        $this->SetFont('Arial', 'I', 9);
        $this->Cell(190, 5, 'Generado el: ' . date('d-m-Y H:i A'), 0, 1, 'C');
        $this->Ln(10);

        // Encabezado de Tabla (Rojo Invalteca)
        $this->SetFillColor(211, 47, 47);
        $this->SetTextColor(255);
        $this->SetFont('Arial', 'B', 9);
        $this->Cell(15, 8, 'ITEM', 1, 0, 'C', true);
        $this->Cell(85, 8, 'NOMBRE DEL CLIENTE', 1, 0, 'C', true);
        $this->Cell(45, 8, 'CANT. FACTURAS', 1, 0, 'C', true);
        $this->Cell(45, 8, 'TOTAL INVERTIDO', 1, 1, 'C', true);
        $this->SetTextColor(0);
    }

    function Footer() {
        $this->SetY(-15);
        $this->SetFont('Arial', 'I', 8);
        $this->Cell(0, 10, utf8_decode('Página ').$this->PageNo().'/{nb}', 0, 0, 'C');
    }
}

$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Arial', '', 9);

// CONSULTA OPTIMIZADA CON INNER JOIN
$sql = "SELECT f.id_cliente, count(f.id_cliente) as maximo, sum(f.total_venta) as mon, c.nombre_cliente 
        FROM facturas f 
        INNER JOIN clientes c ON f.id_cliente = c.id_cliente 
        GROUP BY f.id_cliente 
        ORDER BY maximo DESC LIMIT 10";
$query = mysqli_query($con, $sql);

$item = 0;
while($dato = mysqli_fetch_array($query)){
    $item++;
    $monto_total = number_format($dato['mon'], 2, ',', '.');
    
    // Alternar fondo para legibilidad
    if($item % 2 == 0) $pdf->SetFillColor(245, 245, 245);
    else $pdf->SetFillColor(255, 255, 255);

    $pdf->Cell(15, 7, $item, 'B', 0, 'C', true);
    $pdf->Cell(85, 7, utf8_decode($dato['nombre_cliente']), 'B', 0, 'L', true);
    $pdf->Cell(45, 7, $dato['maximo'], 'B', 0, 'C', true);
    $pdf->SetFont('Arial', 'B', 9);
    $pdf->Cell(45, 7, '$ ' . $monto_total, 'B', 1, 'R', true);
    $pdf->SetFont('Arial', '', 9);
}

// --- CIERRE Y FIRMA ---
$pdf->Ln(30);
$pdf->SetFont('Arial', 'B', 9);
$pdf->Cell(190, 5, '__________________________________', 0, 1, 'C');
$pdf->Cell(190, 5, utf8_decode($_SESSION['usuario']), 0, 1, 'C');
$pdf->SetFont('Arial', '', 8);
$pdf->Cell(190, 5, 'Gerencia de Ventas - ' . NOMBRE_EMPRESA, 0, 1, 'C');

if (ob_get_length()) ob_end_clean();
$pdf->Output('clientes_frecuentes_ninoburguer.pdf', 'D');
?>