<?php
// Limpieza de buffer para evitar errores al generar el PDF
ob_start();
include('ajax/is_logged.php');
require('fpdf/fpdf.php');
require_once ("config/db.php");
require_once ("config/conexion.php");

// Apagamos avisos de PHP 8 para que no ensucien el PDF
error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);

class PDF extends FPDF {
    // Pie de página para mostrar el número de página
    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->SetAutoPageBreak(true, 20);

// --- ENCABEZADO Y LOGO ---
// Nota: He ajustado el logo para que no se estire demasiado
$pdf->Image('img/logonino.jpeg', 10, 10, 20); // Tamaño sugerido 40mm de ancho
$pdf->SetFont('Arial', 'B', 14);
$pdf->Cell(30); // Espacio para el logo
// --- TÍTULO DEL REPORTE ---
$pdf->SetFillColor(232, 232, 232); // Gris claro
$pdf->SetFont('Arial', 'B', 12);
$pdf->Cell(130, 10, utf8_decode('TOP 10 PROVEEDORES CON MÁS COMPRAS'), 0, 1, 'C');
$pdf->SetFont('Arial', 'I', 9);
$pdf->Cell(180, 5, 'Generado el: ' . date('d-m-Y H:i A'), 0, 1, 'C');
$pdf->Ln(10);

// --- ENCABEZADO DE TABLA ---
$pdf->SetFillColor(211, 47, 47); // Rojo Invalteca
$pdf->SetTextColor(255, 255, 255); // Texto blanco
$pdf->SetDrawColor(0, 0, 0);
$pdf->SetFont('Arial', 'B', 8);

$pdf->Cell(10, 8, 'ITEM', 1, 0, 'C', true);
$pdf->Cell(65, 8, 'PROVEEDOR', 1, 0, 'C', true);
$pdf->Cell(35, 8, 'VECES FACTURADO', 1, 0, 'C', true);
$pdf->Cell(45, 8, 'MONTO TOTAL PAGADO', 1, 0, 'C', true);
$pdf->Cell(35, 8, 'ULTIMA COMPRA', 1, 1, 'C', true);

// --- DATOS ---
$pdf->SetTextColor(0, 0, 0); // Volver a texto negro
$pdf->SetFont('Arial', '', 8);

$sql = "SELECT proveedor, total, fecha, count(proveedor) maximo, sum(total) tot 
        FROM compras 
        GROUP BY proveedor 
        ORDER BY maximo DESC LIMIT 10";
$query = mysqli_query($con, $sql);

$item = 0;
while($dato = mysqli_fetch_array($query)) {
    $item++;
    $pro = $dato['proveedor'];    
    
    // Obtener nombre del proveedor
    $consulta2 = mysqli_query($con, "SELECT nombre_proveedor FROM proveedores WHERE id_pro='$pro'");
    $dato2 = mysqli_fetch_array($consulta2);
    $nombre_p = ($dato2) ? $dato2['nombre_proveedor'] : "No encontrado";
    
    $monto_f = number_format($dato['tot'], 2, ',', '.'); // Formato latino 1.000,00
    $fecha_f = date('d/m/Y', strtotime($dato['fecha']));

    // Celdas con bordes sutiles
    $pdf->Cell(10, 7, $item, 'B', 0, 'C');
    $pdf->Cell(65, 7, utf8_decode($nombre_p), 'B', 0, 'L');
    $pdf->Cell(35, 7, $dato['maximo'], 'B', 0, 'C');
    $pdf->Cell(45, 7, '$ ' . $monto_f, 'B', 0, 'R');
    $pdf->Cell(35, 7, $fecha_f, 'B', 1, 'C');
}

// --- 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, utf8_decode('Firma Autorizada - ' . NOMBRE_EMPRESA), 0, 1, 'C');

// Limpiamos basura del buffer y enviamos
if (ob_get_length()) ob_end_clean();
$pdf->Output('proveedores_compras.pdf', 'D');
?>