<?php
/**
 * RELATÓRIO PDF: CONSULTA DE TÍTULOS (REG_C140 e REG_C141)
 * Utiliza a biblioteca FPDF 1.86 e MySQLi
 */

require('../fpdf186/fpdf.php');
// 1. Inclui a conexão centralizada ($mysqli)
require_once "../configuracao/conexao.php";

// 2. Captura os filtros garantindo que aceita tanto POST quanto GET
$data_ini = $_REQUEST['data_ini'] ?? null;
$data_fim = $_REQUEST['data_fim'] ?? null;
$fStatus  = $_REQUEST['filtro_status'] ?? 'todos';
$fEmit    = $_REQUEST['filtro_emitente'] ?? 'todos';

// Validação de segurança: se não houver data, interrompe
if (!$data_ini || !$data_fim) {
    die(json_encode(["error" => "Parametros de data ausentes."]));
}

try {
    // 3. Montagem da Query Dinâmica
    $sql = "SELECT 
                c.reg_c140_num_tit,
                c.reg_c140_ind_emit,
                p.reg_c141_num_parc,
                p.reg_c141_dt_vcto,
                p.reg_c141_vl_parc,
                p.reg_c141_status,
                COALESCE(part.reg_0150_nome, 'NAO IDENTIFICADO') as nome_participante
            FROM reg_c141 AS p
            INNER JOIN reg_c140 AS c ON p.reg_c141_c140_origem = c.codigo
            LEFT JOIN reg_0150 AS part ON p.reg_c141_cod_part = part.reg_0150_cod_part
            WHERE p.reg_c141_dt_vcto BETWEEN ? AND ?";

    if ($fStatus !== 'todos') { $sql .= " AND p.reg_c141_status = ?"; }
    if ($fEmit !== 'todos') { $sql .= " AND c.reg_c140_ind_emit = ?"; }
    
    $sql .= " ORDER BY p.reg_c141_dt_vcto ASC";

    $stmt = $mysqli->prepare($sql);

    // Bind dinâmico de parâmetros conforme os filtros selecionados
    if ($fStatus !== 'todos' && $fEmit !== 'todos') {
        $stmt->bind_param("ssss", $data_ini, $data_fim, $fStatus, $fEmit);
    } elseif ($fStatus !== 'todos') {
        $stmt->bind_param("sss", $data_ini, $data_fim, $fStatus);
    } elseif ($fEmit !== 'todos') {
        $stmt->bind_param("sss", $data_ini, $data_fim, $fEmit);
    } else {
        $stmt->bind_param("ss", $data_ini, $data_fim);
    }

    $stmt->execute();
    $result = $stmt->get_result();
    $dados = $result->fetch_all(MYSQLI_ASSOC);

    // 4. Geração do PDF (FPDF)
    class PDF extends FPDF {
        function Header() {
            $this->SetFont('Arial', 'B', 12);
            $this->Cell(0, 10, utf8_decode('RELATÓRIO FINANCEIRO'), 0, 1, 'C');
            $this->Ln(5);
            $this->SetFillColor(200, 200, 200);
            $this->SetFont('Arial', 'B', 8);
            $this->Cell(10, 7, 'EMIT', 1, 0, 'C', true);
            $this->Cell(25, 7, utf8_decode('Nº TIT'), 1, 0, 'C', true);
            $this->Cell(10, 7, 'PARC', 1, 0, 'C', true);
            $this->Cell(85, 7, 'PARTICIPANTE', 1, 0, 'L', true);
            $this->Cell(25, 7, 'VENCIMENTO', 1, 0, 'C', true);
            $this->Cell(35, 7, 'VALOR (R$)', 1, 1, 'R', true);
        }
    }

    $pdf = new PDF('P', 'mm', 'A4');
    $pdf->AddPage();
    $pdf->SetFont('Arial', '', 8);

    $totalGeral = 0;
    foreach ($dados as $row) {
        $totalGeral += (float)$row['reg_c141_vl_parc'];
        $pdf->Cell(10, 6, ($row['reg_c140_ind_emit'] == '0' ? 'PR' : 'TE'), 1, 0, 'C');
        $pdf->Cell(25, 6, $row['reg_c140_num_tit'], 1, 0, 'C');
        $pdf->Cell(10, 6, $row['reg_c141_num_parc'], 1, 0, 'C');
        $pdf->Cell(85, 6, substr(utf8_decode($row['nome_participante']), 0, 45), 1, 0, 'L');
        $pdf->Cell(25, 6, date('d/m/Y', strtotime($row['reg_c141_dt_vcto'])), 1, 0, 'C');
        $pdf->Cell(35, 6, number_format($row['reg_c141_vl_parc'], 2, ',', '.'), 1, 1, 'R');
    }

    $pdf->SetFont('Arial', 'B', 10);
    $pdf->Cell(155, 10, 'TOTAL:', 1, 0, 'R');
    $pdf->Cell(35, 10, 'R$ ' . number_format($totalGeral, 2, ',', '.'), 1, 1, 'R');

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

} catch (Exception $e) {
    die("Erro: " . $e->getMessage());
}