<?php 
session_start();
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include_once '../conexao/index.php';

date_default_timezone_set('Africa/Maputo');

$data_hora = date("Y-m-d H:i:s");

include 'admin/biblioteca/tcpdf.php';

/*Variaveis do Sistema*/

/*********************************************/
$_SESSION['idUsuario'] = $_SESSION['idUsuario'];
$_SESSION['nomeUsuario'] = $_SESSION['nomeUsuario'];
$_SESSION['categoriaUsuario'] = $_SESSION['categoriaUsuario']; 

$userID = $_SESSION['idUsuario'];
$userNOME = $_SESSION['nomeUsuario'];
$userCATE = $_SESSION['categoriaUsuario'];

/*********************************************/
$mesa = $_GET['mesa'];
$sql2 = "SELECT SUM(total) as t, SUM(iva) as i, (SUM(total)+SUM(iva)) as totl FROM pos_mesas_temp_artigos WHERE mesa = '$mesa' AND user = '$userID'";
$rs2 = mysqli_query($db, $sql2);
$dados2 = mysqli_fetch_array($rs2);
$v = $dados2['t'];
$totl = $dados2['totl'];
$iva = $dados2['i'];

function fetch_data($d, $mes, $userI) {
    $output = '';
    
    // Use uma consulta preparada para evitar injeção de SQL
    $sql = "SELECT *, (SELECT nomeproduto FROM produto as p WHERE p.idproduto = ps.artigo) as nome FROM pos_mesas_temp_artigos as ps WHERE mesa = ? AND user = ? ";
    
    // Prepara a consulta
    $stmt = mysqli_prepare($d, $sql);
    
    // Verifica se a preparação da consulta foi bem-sucedida
    if ($stmt) {
        // Associa o valor de $id_vd à consulta
        mysqli_stmt_bind_param($stmt, "ii", $mes,$userI);
        
        // Executa a consulta
        mysqli_stmt_execute($stmt);
        
        // Obtém os resultados da consulta
        $result = mysqli_stmt_get_result($stmt);
        
        // Itera pelos resultados
        while ($dados3 = mysqli_fetch_array($result)) {
            $t = $dados3['total'] + $dados3['iva'];
            $output .= '
                <tr>
                    <td>'.$dados3['id'].'</td>
                    <td>'.$dados3['nome'].'</td>
                    <td style="text-align: center;">'.$dados3['qtd'].'</td>
                    <td style="text-align: center;">'.number_format($dados3['preco'], 2, ".", ",").'</td>
                    <td style="text-align: center;">'.number_format($dados3['iva'], 2, ".", ",").'</td>
                    <td style="text-align: center;">'.number_format($t, 2, ".", ",").'</td>
                </tr>
            ';
        }
        
        // Fecha a consulta preparada
        mysqli_stmt_close($stmt);
    }
    
    return $output;
}
// Inicialização do objeto TCPDF
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);

// Define informações do documento
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nome do Autor');
$pdf->SetTitle('Ticket Mesa #' . $mesa);
$pdf->SetSubject('Ticket Mesa');
$pdf->SetKeywords('TCPDF, PDF, ticket, mesa');

// Define o cabeçalho e rodapé
$pdf->setPrintHeader(false); // Não imprime o cabeçalho
$pdf->setPrintFooter(false); // Não imprime o rodapé

// Adiciona uma página
$pdf->AddPage();

// Dados da Empresa a Faturar (exemplo)
$sql = "SELECT * FROM empresa";
$rs = mysqli_query($db, $sql);
$dados = mysqli_fetch_array($rs);
$img = $dados['img'];

// Dados da Empresa a Faturar
$pdf->SetFont('helvetica', '', 12);
$pdf->Ln(7);
// Definir a posição e o tamanho da imagem
$imageX = 160;   // Posição X da imagem
$imageY = 15;   // Posição Y da imagem
$imageWidth = 35;  // Largura da imagem
$imageHeight = 0;   // Altura da imagem (0 para manter a proporção)

// Inserir a imagem
$pdf->Image('../img/'.$img.'', $imageX, $imageY, $imageWidth, $imageHeight);
$pdf->Cell(0, 7, $dados['nome'], 0, 1);

// Restante dos dados da Empresa a Faturar
$pdf->SetFont('helvetica', '', 10);
$pdf->Cell(0, 7, $dados['endereco'], 0, 1);
$pdf->Cell(0, 7, 'Nuit: ' . $dados['nuit'], 0, 1);
$pdf->Cell(0, 7, 'Contacto: ' . $dados['contacto'], 0, 1);
$pdf->Cell(0, 7, 'E-mail: ' . $dados['email'], 0, 1);
$pdf->Cell(0, 7, $dados['pais'] .' - '. $dados['provincia'], 0, 1);
$pdf->Ln(8);
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 10, 'Conta - Mesa #'.$mesa, 0, 1);
$pdf->SetLineWidth(0.1); // Defina a largura da linha
$pdf->Line(10, $pdf->GetY(), 200, $pdf->GetY()); // Especifica as coordenadas (x1, y1, x2, y2)
$content = '';
$content .='
<table cellspacing="0" cellpadding="4">
	<tr>
		<th style="width: 10%;font-weight: bold;">#</th>
		<th style="width: 40%;font-weight: bold;">Descrição</th>
		<th style="width: 10%;font-weight: bold;text-align:center;">Qtd</th>
		<th style="width: 15%;font-weight: bold;text-align:center;">Preço </th>
        <th style="width: 10%;font-weight: bold;text-align:center;">IVA</th>
		<th style="width: 15%;font-weight: bold;text-align:center;">Total</th>
	</tr>
';
$pdf->SetFont('helvetica', '', 8);
$content .= fetch_data($db,$mesa,$userID);
$content .='</table>';
$pdf->writeHTML($content);

$pdf->SetLineWidth(0.1); // Defina a largura da linha
$pdf->Line(10, $pdf->GetY(), 200, $pdf->GetY()); // Especifica as coordenadas (x1, y1, x2, y2)
$pdf->Cell(0, 7, 'Documento Processado por Computador/ iVone POS/', 0, 1);
// Totais

$pdf->Cell(145, 5, 'Mercadoria/Serviços', 0, 0, 'R');
$pdf->Cell(38, 5, number_format($v, 2). ' Mt', 1, 1, 'R');
$pdf->Cell(145, 5, 'IVA', 0, 0, 'R');
$pdf->Cell(38, 5, number_format($iva, 2). ' Mt', 1, 1, 'R');
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(145, 5, 'TOTAL', 0, 0, 'R');
$pdf->Cell(38, 5, number_format($totl, 2). ' Mt', 1, 1, 'R');
$pdf->Ln(6);
// Saída do PDF (direcionando para impressora)
$pdf->Output('ticket_mesa_' . $mesa . '.pdf', 'I');

?>
