<?php  session_start();
if (!isset($_SESSION['id'])) { header("Location: ../index/index.php"); exit(); }
?>

<?php
require('../fpdf186/fpdf.php');
include '../config.php';
include_once('../configuracao/conexao.php'); 

$id_ped = $_GET['id'] ?? 0;

if (!$id_ped) {
    die("ID do orçamento não fornecido.");
}

// Função auxiliar para substituir o utf8_decode e evitar avisos
function formatarTexto($texto) {
    return mb_convert_encoding($texto, 'ISO-8859-1', 'UTF-8');
}

// Busca Cabeçalho
$sqlCab = "SELECT * FROM ped_cab WHERE codigo = ?";
$stmtCab = $mysqli->prepare($sqlCab);
$stmtCab->bind_param("i", $id_ped);
$stmtCab->execute();
$resultCab = $stmtCab->get_result();
$cab = $resultCab->fetch_assoc();

if (!$cab) die("Orçamento não encontrado.");

// Busca Itens
$sqlItens = "SELECT * FROM ped_itens WHERE ped_itens_ped_cab = ? ORDER BY codigo ASC";
$stmtItens = $mysqli->prepare($sqlItens);
$stmtItens->execute([$id_ped]);
$itens = $stmtItens->get_result()->fetch_all(MYSQLI_ASSOC);

class PDF_ped extends FPDF {
    function Header() {
        $this->SetFont('Arial', 'B', 15);
        // Substituído utf8_decode por formatarTexto
        $this->Cell(130, 10, formatarTexto('ORÇAMENTO'), 0, 0, 'L');
        $this->SetFont('Arial', 'B', 10);
        $this->Cell(60, 10, formatarTexto('Nº: ') . str_pad($_GET['id'], 6, '0', STR_PAD_LEFT), 1, 1, 'C');
        $this->Ln(5);
    }

    function Footer() {
        $this->SetY(-25);
        $this->Line(10, $this->GetY(), 200, $this->GetY());
        $this->SetFont('Arial', 'I', 8);
        $this->Cell(0, 10, formatarTexto('Documento gerado pelo Sistema Morfo Engine'), 0, 0, 'L');
        $this->Cell(0, 10, formatarTexto('Página ') . $this->PageNo() . ' de {nb}', 0, 0, 'R');
    }
}

$pdf = new PDF_ped('P', 'mm', 'A4');
$pdf->AliasNbPages(); 
$pdf->AddPage();
$pdf->SetFillColor(240, 240, 240);

// --- BLOCO: DADOS DO CLIENTE ---
$pdf->SetFont('Arial', 'B', 9);
$pdf->Cell(0, 6, 'DADOS DO CLIENTE / PARTICIPANTE', 1, 1, 'L', true);
$pdf->SetFont('Arial', '', 9);
$pdf->Cell(30, 7, 'COD: ' . $cab['ped_cab_cod_part'], 'LR', 0);
$pdf->Cell(160, 7, 'NOME: ' . formatarTexto($cab['ped_cab_nome']), 'R', 1);

// --- BLOCO: DADOS DO VEÍCULO ---
if (!empty($cab['ped_cab_cod_veiculo'])) {
    $pdf->SetFont('Arial', 'B', 9);
    $pdf->Cell(0, 6, formatarTexto('INFORMAÇÕES DO BEM / VEÍCULO'), 1, 1, 'L', true);
    $pdf->SetFont('Arial', '', 9);
    $pdf->Cell(0, 7, formatarTexto($cab['ped_cab_cod_veiculo'] . " - " . $cab['ped_cab_desc_veiculo']), 1, 1, 'L');
}

$pdf->Cell(95, 7, formatarTexto('EMISSÃO: ') . date('d/m/Y', strtotime($cab['ped_cab_dt_emi'])), 1, 0);
$pdf->Cell(95, 7, ' ', 1, 1);
$pdf->Ln(5);

// --- GRADE DE ITENS ---
$pdf->SetFont('Arial', 'B', 8);
$pdf->Cell(25, 7, formatarTexto('CÓDIGO'), 1, 0, 'C', true);
$pdf->Cell(85, 7, formatarTexto('DESCRIÇÃO DO PRODUTO'), 1, 0, 'L', true);
$pdf->Cell(15, 7, 'UN', 1, 0, 'C', true);
$pdf->Cell(20, 7, 'QTD', 1, 0, 'C', true);
$pdf->Cell(20, 7, 'UNIT', 1, 0, 'R', true);
$pdf->Cell(25, 7, 'TOTAL', 1, 1, 'R', true);

$pdf->SetFont('Arial', '', 8);
foreach ($itens as $i) {
    $pdf->Cell(25, 6, $i['ped_itens_cod_item'], 1, 0, 'C');
    $pdf->Cell(85, 6, formatarTexto($i['ped_itens_descr_item']), 1, 0, 'L');
    $pdf->Cell(15, 6, $i['ped_itens_unid'], 1, 0, 'C');
    $pdf->Cell(20, 6, number_format($i['ped_itens_qtd_item'], 3, ',', '.'), 1, 0, 'C');
    $pdf->Cell(20, 6, number_format($i['ped_itens_vl_item'], 2, ',', '.'), 1, 0, 'R');
    $pdf->Cell(25, 6, number_format($i['ped_itens_tot_item'], 2, ',', '.'), 1, 1, 'R');
}

$pdf->Ln(2);
$pdf->SetFont('Arial', 'B', 11);
$pdf->Cell(165, 10, 'TOTAL DO ped:', 0, 0, 'R');
$pdf->Cell(25, 10, 'R$ ' . number_format($cab['ped_cab_tot_ped'], 2, ',', '.'), 0, 1, 'R');

$pdf->Ln(20);
$pdf->Line(20, $pdf->GetY(), 90, $pdf->GetY());
$pdf->Line(110, $pdf->GetY(), 180, $pdf->GetY());
$pdf->SetFont('Arial', '', 8);
$pdf->Cell(95, 5, 'Responsavel / Empresa', 0, 0, 'C');
$pdf->Cell(95, 5, 'Assinatura do Cliente', 0, 1, 'C');

$pdf->Output('I', 'ped' . $id_ped . '.pdf');