<?php 
session_start();
if(!isset($_SESSION['idUsuario'])){
	header("location:../");
}
include_once '../../conexao/index.php';


$serie = $_GET['serie'];
$data1 = $_GET['data1']." 00:00:00";
$data2 = $_GET['data2']." 23:59:00";

//incluir a biblioteca
include 'biblioteca/tcpdf.php';

// Criar novo documento PDF
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8');
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetTitle('Extrato de Contas'); // Defina o título do PDF

$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'];


// Conteúdo da fatura


// 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);

// // // Incluir o logotipo à direita
// $logoWidth = 30; // Largura do logotipo em milímetros
// $logoHeight = 0; // Altura do logotipo em milímetros (0 para manter a proporção)
// $logoX = $pdf->getPageWidth(100) - $pdf->getRightMargin(0) - $logoWidth; // Posição X calculada para alinhar à direita
// $logoY = $pdf->GetY(0); // Posição Y atual
// $pdf->Image('../img/iCone.png', $logoX, $logoY, $logoWidth, $logoHeight);

// // // Ajustar a posição Y para a próxima linha
// $pdf->SetY($pdf->GetY() + $pdf->getCellHeight(10));





// 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(15);
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 10, 'Extrato de Contas - '.$data1."/".$data2, 0, 1);

//INICIO - TRATANDO COM O RELATORIO DE FATURAS
$pdf->Cell(0, 10, 'FA - Facturas', 0, 1);
// Desenhar uma linha horizontal
$pdf->SetLineWidth(0.1); // Defina a largura da linha
$pdf->Line(10, $pdf->GetY(), 200, $pdf->GetY()); // Especifica as coordenadas (x1, y1, x2, y2)

// Tabela de Itens da Fatura
$pdf->SetFont('helvetica', 'B', 8);

$pdf->Cell(0, 7, 'Descrição', 0, 0);
$pdf->SetX(55);
$pdf->Cell(0, 7, 'Valor', 0, 0);

$pdf->SetX(70);
$pdf->Cell(0, 7, 'IVA', 0, 0);
$pdf->SetX(110);
$pdf->Cell(0, 7, 'Data de Emissão', 0, 0);
$pdf->SetX(150);
$pdf->Cell(0, 7, 'Data de Pagamento', 0, 0);

$pdf->Ln(8);
// Inicialize os totais
$totalFA = 0;
$totalNC = 0;
$totalIVAA = 0;
// Loop while para adicionar linhas de itens
$pdf->SetFont('helvetica', '', 8);
$sql3 = "SELECT DISTINCT(cliente) as cl FROM `factura` as e WHERE data BETWEEN '$data1' AND '$data2' AND serie = '$serie'";
$rs3 = mysqli_query($db, $sql3) or die(mysqli_error($db));
while ($dados3 = mysqli_fetch_array($rs3)) {
	$cl = $dados3['cl'];
	$sqlxx = "SELECT e.nome, e.apelido FROM `clientes` as e WHERE id = '$cl'";
	$rsxx = mysqli_query($db, $sqlxx) or die(mysqli_error($db));
	$dadosxx = mysqli_fetch_array($rsxx);
	$pdf->SetFont('helvetica', 'B', 8);
	$pdf->Cell(0, 7, 'Entidade/Fornecedor:', 'T', 0);
	$pdf->SetX(45);
	$pdf->Cell(0, 7, $dadosxx['nome']." ".$dadosxx['apelido'], 'T', 0);
	$pdf->Ln(6);
$pdf->SetFont('helvetica', '', 8);
	$sqlx = "SELECT * FROM factura as f WHERE cliente = '$cl' AND f.data BETWEEN '$data1' AND '$data2' AND serie = '$serie' ORDER BY f.data";
	$rsx = mysqli_query($db, $sqlx) or die(mysqli_error($db));
		while ($dadosx = mysqli_fetch_array($rsx)) {
			$iddd = $dadosx['nota_credito'];
			$pdf->Cell(0, 7, "FA#".$dadosx['serie']."/".$dadosx['id'], 0, 0);
			$pdf->SetX(55);
			$pdf->Cell(0, 7, $dadosx['valor'], 0, 0);
			$pdf->SetX(70);
			$pdf->Cell(0, 7, $dadosx['iva'], 0, 0);
		
			$pdf->SetX(110);
			$pdf->Cell(0, 7, $dadosx['data'], 0, 0);
			$pdf->SetX(160);
			$pdf->Cell(0, 7, $dadosx['prazo'], 0, 0);
			$pdf->Ln(6);

			// Acumula o total de VDs
	        $totalFA += $dadosx['valor'];
	        $totalIVAA += $dadosx['iva'];

			$sqlxz = "SELECT * FROM nota_de_credito as f WHERE id = '$iddd'";
	        $rsxz = mysqli_query($db, $sqlxz) or die(mysqli_error($db));
	        while ($dadosxz = mysqli_fetch_array($rsxz)) {
	            $pdf->SetX(15);
	            $pdf->Cell(0, 7, "NC#".$dadosxz['serie']."/".$dadosxz['n_doc'], 0, 0);
	            $pdf->SetX(55);
	            $pdf->Cell(0, 7, $dadosxz['valor'], 0, 0);
	            $pdf->SetX(70);
	            $pdf->Cell(0, 7, 0.00, 0, 0);
	            $pdf->SetX(110);
	            $pdf->Cell(0, 7, "", 0, 0);
	            $pdf->SetX(160);
	            $pdf->Cell(0, 7, $dadosxz['data'], 0, 0);
	            $pdf->Ln(6);
	            // Acumula o total de DVs
	            $totalNC += $dadosxz['valor'];
	        }
		}
		
}
// Desenhar uma linha horizontal
$pdf->SetLineWidth(0.1); // Defina a largura da linha
$pdf->Line(10, $pdf->GetY(), 200, $pdf->GetY()); // Especifica as coordenadas (x1, y1, x2, y2)

// Totais
$pdf->SetFont('helvetica', 'B', 10);
$pdf->Cell(0, 7, 'Totais', 0, 1, 'R');
$pdf->SetFont('helvetica', '', 10);
$pdf->Cell(0, 7, 'Total FAs: ' . number_format($totalFA, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total NCs: ' . number_format($totalNC, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total IVA: ' . number_format($totalIVAA, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Saldo (FAs - NCs): ' . number_format($totalFA - $totalNC, 2), 0, 1, 'R');

//FIM - TRATANDO COM O RELATORIO DE FATURAS


//INICIO - TRATANDO COM O RELATORIO DE VENDAS A DINHEIRO
$pdf->AddPage();
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 10, 'VD - Vendas a Dinheiro', 0, 1);
// Desenhar uma linha horizontal
$pdf->SetLineWidth(0.1); // Defina a largura da linha
$pdf->Line(10, $pdf->GetY(), 200, $pdf->GetY()); // Especifica as coordenadas (x1, y1, x2, y2)

// Tabela de Itens da Fatura
$pdf->SetFont('helvetica', 'B', 8);


$pdf->Cell(0, 7, 'Descrição', 0, 0);
$pdf->SetX(55);
$pdf->Cell(0, 7, 'Valor', 0, 0);
$pdf->SetX(70);
$pdf->Cell(0, 7, 'IVA', 0, 0);
$pdf->SetX(110);
$pdf->Cell(0, 7, 'Metodo de Pagamento', 0, 0);
$pdf->SetX(150);
$pdf->Cell(0, 7, 'Data de Emissão', 0, 0);

$pdf->Ln(8);
// Inicialize os totais
$totalVD = 0;
$totalDV = 0;
$totalIVA = 0;

// Loop while para adicionar linhas de itens
$pdf->SetFont('helvetica', '', 8);
$sql3 = "SELECT DISTINCT(clientepedido) as cl FROM `pedido` as e WHERE data BETWEEN '$data1' AND '$data2'";
$rs3 = mysqli_query($db, $sql3) or die(mysqli_error($db));
while ($dados3 = mysqli_fetch_array($rs3)) {
    $cl = $dados3['cl'];
    $sqlxx = "SELECT e.nome, e.apelido FROM `clientes` as e WHERE id = '$cl'";
    $rsxx = mysqli_query($db, $sqlxx) or die(mysqli_error($db));
    $dadosxx = mysqli_fetch_array($rsxx);
    $pdf->SetFont('helvetica', 'B', 8);
    $pdf->Cell(0, 7, 'Entidade/Fornecedor:', 'T', 0);
    $pdf->SetX(45);
    $pdf->Cell(0, 7, $dadosxx['nome']." ".$dadosxx['apelido'], 'T', 0);
    $pdf->Ln(6);
    
    $sqlx = "SELECT * FROM pedido as f WHERE clientepedido = '$cl' AND f.data BETWEEN '$data1' AND '$data2' ORDER BY f.data";
    $rsx = mysqli_query($db, $sqlx) or die(mysqli_error($db));
    while ($dadosx = mysqli_fetch_array($rsx)) {
        $pdf->SetFont('helvetica', 'B', 8);
        $idd = $dadosx['devolucao'];
        $iddp = $dadosx['idpedido'];
        $pdf->Cell(0, 7, "VD#".$dadosx['serie']."/".$dadosx['n_doc'], 0, 0);
        $pdf->SetX(55);
        $pdf->Cell(0, 7, $dadosx['pagamentopedido'], 0, 0);
        $pdf->SetX(70);
        $pdf->Cell(0, 7, $dadosx['iva'], 0, 0);
        $pdf->SetX(110);
        $pdf->Cell(0, 7, $dadosx['modo'], 0, 0);
        $pdf->SetX(160);
        $pdf->Cell(0, 7, $dadosx['data'], 0, 0);
        $pdf->Ln(6);
        // Acumula o total de VDs
        $totalVD += $dadosx['pagamentopedido'];
        $totalIVA += $dadosx['iva'];
        

        $pdf->SetFont('helvetica', '', 8);
        $sqlxze = "SELECT *, (SELECT nomeproduto FROM produto as p WHERE p.idproduto = e.produtoentrega) as nm, (SELECT iva FROM produto as p WHERE p.idproduto = e.produtoentrega) as ivapert FROM entrega as e WHERE pedidoentrega = '$iddp'";
        $rsxze = mysqli_query($db, $sqlxze) or die(mysqli_error($db));
        while ($dadosxza = mysqli_fetch_array($rsxze)) {
            $pdf->SetX(25);
            $pdf->Cell(0, 7, $dadosxza['nm'], 0, 0);
            $pdf->Ln(6);
            $pdf->SetX(25);
            $pdf->Cell(0, 7, "Qtd: ".$dadosxza['qtdentrega'], 0, 0);
            $pdf->SetX(50);
            $pdf->Cell(0, 7, "Preço: ".number_format($dadosxza['precoentrega'], 2), 0, 0);
            $pdf->SetX(80);
            $pdf->Cell(0, 7, "IVA%: ".$dadosxza['ivapert']."%", 0, 0);
            $pdf->SetX(100);
            $pdf->Cell(0, 7, "IVA: ".number_format($dadosxza['iva'], 2), 0, 0);
            $pdf->SetX(120);
            $pdf->Cell(0, 7, "Total: ".number_format($dadosxza['totalentrega'], 2), 0, 0);
            $pdf->Ln(6);
        }

        $sqlxz = "SELECT * FROM devolucao as f WHERE id = '$idd'";
        $rsxz = mysqli_query($db, $sqlxz) or die(mysqli_error($db));
        while ($dadosxz = mysqli_fetch_array($rsxz)) {
            $pdf->SetX(15);
            $pdf->Cell(0, 7, "DV#".$dadosxz['serie']."/".$dadosxz['n_doc'], 0, 0);
            $pdf->SetX(55);
            $pdf->Cell(0, 7, $dadosxz['valor'], 0, 0);
            $pdf->SetX(70);
            $pdf->Cell(0, 7, 0.00, 0, 0);
            $pdf->SetX(110);
            $pdf->Cell(0, 7, $dadosxz['modo'], 0, 0);
            $pdf->SetX(160);
            $pdf->Cell(0, 7, $dadosxz['data'], 0, 0);
            $pdf->Ln(6);
            // Acumula o total de DVs
            $totalDV += $dadosxz['valor'];
        }
    }
}
// Desenhar uma linha horizontal
$pdf->SetLineWidth(0.1); // Defina a largura da linha
$pdf->Line(10, $pdf->GetY(), 200, $pdf->GetY()); // Especifica as coordenadas (x1, y1, x2, y2)

// Totais
$pdf->SetFont('helvetica', 'B', 10);
$pdf->Cell(0, 7, 'Totais', 0, 1, 'R');
$pdf->SetFont('helvetica', '', 10);
$pdf->Cell(0, 7, 'Total VDs: ' . number_format($totalVD, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total DVs: ' . number_format($totalDV, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total IVA: ' . number_format($totalIVA, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Saldo (VDs - DVs): ' . number_format($totalVD - $totalDV, 2), 0, 1, 'R');

//FIM - TRATANDO COM O RELATORIO DE VENDAS A DINHEIRO


//INICIO - TRATANDO COM O RELATORIO DE ORDENS DE COMPRA
$pdf->AddPage();
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 10, 'OC - Ordem de Compra', 0, 1);
// Desenhar uma linha horizontal
$pdf->SetLineWidth(0.1); // Defina a largura da linha
$pdf->Line(10, $pdf->GetY(), 200, $pdf->GetY()); // Especifica as coordenadas (x1, y1, x2, y2)

// Tabela de Itens da Fatura
$pdf->SetFont('helvetica', 'B', 8);


$pdf->Cell(0, 7, 'Descrição', 0, 0);
$pdf->SetX(55);
$pdf->Cell(0, 7, 'Valor', 0, 0);
$pdf->SetX(80);
$pdf->Cell(0, 7, 'IVA', 0, 0);
$pdf->SetX(120);
$pdf->Cell(0, 7, 'Total', 0, 0);
$pdf->SetX(150);
$pdf->Cell(0, 7, 'Data de Emissão', 0, 0);

$pdf->Ln(8);
// Inicialize os totais
$totalOC = 0;
$totalIVAAAA = 0;

// Loop while para adicionar linhas de itens
$pdf->SetFont('helvetica', '', 8);
$sql3 = "SELECT DISTINCT(fornecedor) as cl FROM `ordem_compra` as e WHERE data BETWEEN '$data1' AND '$data2'";
$rs3 = mysqli_query($db, $sql3) or die(mysqli_error($db));
while ($dados3 = mysqli_fetch_array($rs3)) {
    $cl = $dados3['cl'];
    $sqlxx = "SELECT e.nome FROM `fornecedor` as e WHERE id = '$cl'";
    $rsxx = mysqli_query($db, $sqlxx) or die(mysqli_error($db));
    $dadosxx = mysqli_fetch_array($rsxx);
    $pdf->SetFont('helvetica', 'B', 8);
    $pdf->Cell(0, 7, 'Entidade/Fornecedor:', 'T', 0);
    $pdf->SetX(45);
    $pdf->Cell(0, 7, $dadosxx['nome'], 'T', 0);
    $pdf->Ln(6);
    $pdf->SetFont('helvetica', '', 8);
    $sqlx = "SELECT *, (SELECT nome FROM fornecedor WHERE fornecedor.id = f.fornecedor) as fornecedors FROM ordem_compra as f WHERE fornecedor = '$cl' AND f.data BETWEEN '$data1' AND '$data2' ORDER BY f.data";
    $rsx = mysqli_query($db, $sqlx) or die(mysqli_error($db));
    while ($dadosx = mysqli_fetch_array($rsx)) {
        $t = $dadosx['iva']+$dadosx['valor'];
        $pdf->Cell(0, 7, "OC#".$dadosx['serie']."/".$dadosx['n_doc'], 0, 0);
        $pdf->SetX(55);
        $pdf->Cell(0, 7, number_format($dadosx['valor'], 2), 0, 0);
        $pdf->SetX(80);
        $pdf->Cell(0, 7, number_format($dadosx['iva'], 2), 0, 0);
        $pdf->SetX(120);
        $pdf->Cell(0, 7, number_format($t, 2), 0, 0);
        $pdf->SetX(160);
        $pdf->Cell(0, 7, $dadosx['data'], 0, 0);
        $pdf->Ln(6);
        // Acumula o total de VDs
        $totalOC += $dadosx['valor'];
        $totalIVAAAA += $dadosx['iva'];

    }
    $ts = $totalOC+$totalIVAAAA;
}
// Desenhar uma linha horizontal
$pdf->SetLineWidth(0.1); // Defina a largura da linha
$pdf->Line(10, $pdf->GetY(), 200, $pdf->GetY()); // Especifica as coordenadas (x1, y1, x2, y2)

// Totais
$pdf->SetFont('helvetica', 'B', 10);
$pdf->Cell(0, 7, 'Totais', 0, 1, 'R');
$pdf->SetFont('helvetica', '', 10);
$pdf->Cell(0, 7, 'Total OCs: ' . number_format($totalOC, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total IVA: ' . number_format($totalIVAAAA, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total: ' . number_format($ts, 2), 0, 1, 'R');

//FIM - TRATANDO COM O RELATORIO DE ORDENS DE COMPRA


// Mapas de impostos
$pdf->AddPage();
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 10, 'Mapa de Impostos', 0, 1);
$pdf->SetLineWidth(0.1);
$pdf->Line(10, $pdf->GetY(), 200, $pdf->GetY());

$pdf->SetFont('helvetica', '', 10);
$pdf->Cell(0, 7, 'Total Faturas (FA): ' . number_format($totalFA, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total Notas de Crédito (NC): ' . number_format($totalNC, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total Vendas Dinheiro (VD): ' . number_format($totalVD, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total Devolucoes (DV): ' . number_format($totalDV, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total Ordem de Compra (OR): ' . number_format($totalOC, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total IVA (Faturas): ' . number_format($totalIVA, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total IVA (Vendas Dinheiro): ' . number_format($totalIVAA, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Total IVA (Ordem de Compra): ' . number_format($totalIVAAAA, 2), 0, 1, 'R');
$pdf->Cell(0, 7, 'Diferença de IVA (FA + VD - OR): ' . number_format(($totalIVA + $totalIVAA) - $totalIVAAAA, 2), 0, 1, 'R');
// Desenhar uma linha horizontal
$pdf->SetLineWidth(0.1); // Defina a largura da linha
$pdf->Line(10, $pdf->GetY(), 200, $pdf->GetY()); // Especifica as coordenadas (x1, y1, x2, y2)

// Totais


// // Assinaturas
// $pdf->SetFont('helvetica', 'B', 12);
// $pdf->Cell(0, 20, 'Assinaturas', 0, 1);


// Output do PDF

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

// Fechar conexão e liberar recursos
$db->close();