<?php
	//referenciar o DomPDF com namespace
	use Dompdf\Dompdf;

	function gerarRealtorio($fabricante,$mostrarabc,$datainicio,$datafinal,$user,$conexao,$loja,$datainicio1,$datafinal1,$mostrarprod,$mostrarestoque,$contador,$acrescentar,$nome,$pastaDeDestino){
        
        //Criando a Instancia
	    $dompdf = new DOMPDF();
		
        $fabricante = strtoupper($fabricante);
		//SE MOSTRAR CURVA FICAR EM PAISAGEM
		if ($mostrarabc == 'sim') $dompdf->setPaper('A4', 'landscape');//Paisagem
		
		//verificar o periodo em dias
		$tempo = calculoDiaspendentes($datainicio,$datafinal);
		if ($tempo > 200) {

		$_SESSION['msg'] = "<div class='alert  alert-danger'>

		Período maior que 06 meses </div>";
		header("Location: ../gerador.php");

		}else{
		
		//limpa os dados da tabela antes de inserir novos dados 
		//fazer a soma dos valores sem precisar do mysql

		$sql = "DELETE FROM vendas WHERE usuario = '$user'";
		mysqli_query($conexao, $sql) or die ("Erro:" .mysqli_error($conexao));

	try{

		$Conexao    = Conexao::getConnection();
		$query      = $Conexao->query(
		"SELECT
		memoria_VendasTodas.NFCe_NRO AS nfce,
		memoria_VendasTodas.[Código da Mercadoria] AS cod,
		memoria_VendasTodas.[Total_Item] AS venda,
		memoria_VendasTodas.Mercadoria AS mercadoria,
		[PrecoBruto]*[Quantidade_Item] AS Total_Bruto,
		memoria_VendasTodas.Quantidade_Item AS quantidade,
		[Preço Compra]*[Quantidade_Item] AS COMPRA,
		[Cadastro de mercadorias].Fabricante,
		memoria_VendasTodas.LojaOrigem AS loja,
		memoria_VendasTodas.[Data da Venda],
		[cadastro de mercadoriasLojas].[Estoque],
		[cadastro de mercadoriasLojas].[Loja]

		FROM memoria_VendasTodas
		
		INNER JOIN [Cadastro de mercadorias] 
		ON memoria_VendasTodas.[Código da Mercadoria] = [Cadastro de mercadorias].[Código da Mercadoria]
		INNER JOIN [cadastro de mercadoriasLojas]
		ON [Cadastro de mercadorias].[Código da Mercadoria] = [cadastro de mercadoriasLojas].[Código da Mercadoria]
		
		WHERE  memoria_VendasTodas.[Data da Venda] >= '$datainicio1'
		AND memoria_VendasTodas.[Data da Venda] <= '$datafinal1'
		AND memoria_VendasTodas.Cancelado=0
		AND LojaOrigem = '$loja'
		AND [cadastro de mercadoriasLojas].[Loja] = '$loja'
		AND [Cadastro de mercadorias].Fabricante = '$fabricante'
		");

	$sqlserver   = $query->fetchAll();

	}catch(Exception $e){

	echo $e->getMessage();
	exit;
	}

	foreach($sqlserver as $dados) {
		$nfce = ($dados[0]);
		$codprod = ($dados[1]);
		$liq =str_replace(",",".",$dados[2]);
		$mercadoria = ($dados[3]);
		$bruto =str_replace(",",".",$dados[4]);
		$qt=str_replace(",",".",$dados[5]);
		$compra =str_replace(",",".",$dados[6]);
		$desconto = ($bruto - $liq);
		$descont = str_replace(",",".",$desconto);
		$fabricante = ($dados[7]);
		$loja = ($dados[8]);
		$data = date('Y-m-d', strtotime($dados[9]));
		$estoque = ($dados[10]);

		//inseri no mysql
		$result= "INSERT INTO vendas (numeronfce,codmercadoria,mercadoria,valorbruto,quantidade,valorcompra,desconto,vendaliquido,fabricante,loja,datavenda, usuario, estoque) VALUES ('$nfce','$codprod', '$mercadoria', '$bruto', '$qt', '$compra', '$descont', '$liq', '$fabricante', '$loja','$data','$user','$estoque')";
		$result = mysqli_query($conexao, $result);

	}

	if($mostrarprod == 'sim'){
	$query1 = "SELECT codmercadoria, estoque,  valorbruto as unitario, mercadoria,sum(valorcompra) as compra, sum(quantidade) as quantidade, sum(valorbruto) as valorbruto, sum(desconto) as desconto, sum(vendaliquido) as vendaliquido FROM view_vendas WHERE loja = '$loja' AND fabricante = '$fabricante' AND usuario = '$user' AND desconto > 0 ORDER BY valorbruto DESC ";
	}else{

	$query1 = "SELECT codmercadoria, estoque,  valorbruto as unitario, mercadoria,sum(valorcompra) as compra, sum(quantidade) as quantidade, sum(valorbruto) as valorbruto, sum(desconto) as desconto, sum(vendaliquido) as vendaliquido FROM view_vendas WHERE loja = '$loja' AND fabricante = '$fabricante' AND usuario = '$user' ORDER BY valorbruto DESC ";

	}
	$result1 = mysqli_query($conexao, $query1);
	$row1 = mysqli_fetch_assoc($result1);
	$valorbruto2 = $row1['valorbruto']; 

		switch ($loja) {
		case 'MATRIZ':
			$lojaRelatorio = 'M. A. DA SILVA COSMETICOS';
			break;
		case 'LOJA 02':
			$lojaRelatorio = 'MERCIA A. DA SILVA COSMETICOS';
			break;
		case 'LOJA 03':
			$lojaRelatorio = 'SIDNEI DA SILVA COSMETICOS';
			break;
		case 'LOJA 04':
			$lojaRelatorio = 'M. A. DA SILVA COSMETICOS FILIAL';
			break;
		case 'LOJA 05':
			$lojaRelatorio = 'E. M. DA SILVA COSMETICOS';
			break;
	}
	//----------------------------------------//
		$html = '<table style="text-align: center; font-size:12px">';	
		$html .= '<thead>';
		$html .= '<tr style="background-color: coral;" >';
		$html .= '<th>Cod</th>';
		$html .= '<th>Mercadoria</th>';

		if ($mostrarestoque == 'sim') $html .= '<th>Etoque</th>';

		$html .= '<th>Quantidade</th>';
		$html .= '<th>Compra</th>';
		$html .= '<th>Venda</th>';
		$html .= '<th>Desconto</th>';
		$html .= '<th>Líquido</th>';

		if ($mostrarabc == 'sim') $html .= '<th>UNT</th>';

		if ($mostrarabc == 'sim') $html .= '<th>ABC</th>';
		$html .= '</tr>';
		$html .= '</thead>';
		$html .= '<tbody>';
	//---------------------------------------//
	if($mostrarprod == 'sim'){

	$result_transacoes = "SELECT codmercadoria, estoque, valorbruto as unitario,  mercadoria,sum(valorcompra) as compra,valorcompra, sum(quantidade) as quantidade, sum(valorbruto) as valorbruto, sum(desconto) as desconto, sum(vendaliquido) as vendaliquido FROM view_vendas WHERE loja = '$loja' AND fabricante = '$fabricante' AND usuario = '$user' AND desconto > 0 GROUP BY codmercadoria ORDER BY valorbruto DESC";

	}else{

		$result_transacoes = "SELECT codmercadoria, estoque,  mercadoria,sum(valorcompra) as compra,valorcompra, sum(quantidade) as quantidade, sum(valorbruto) as valorbruto, valorbruto as unitario, sum(desconto) as desconto, sum(vendaliquido) as vendaliquido FROM view_vendas WHERE loja = '$loja' AND fabricante = '$fabricante' AND usuario = '$user' GROUP BY codmercadoria ORDER BY valorbruto DESC";
	}
		$resultado_trasacoes = mysqli_query($conexao, $result_transacoes);
		while($row_transacoes = mysqli_fetch_assoc($resultado_trasacoes)){

			$comprapreco = $row_transacoes['compra'];
			$comprapreco4 = $row_transacoes['valorcompra'];
			$contador = $contador + 1;

			if($acrescentar){

			$comprapreco2 = ($comprapreco * $procentagem) + $comprapreco;

			$aculmulado = $aculmulado + $comprapreco2;

			}else{

				$comprapreco2 = $comprapreco;
			}

			if($acrescentar){

			$comprapreco3 = ($comprapreco4 * $procentagem) + $comprapreco4;
			$aculmulado1 = $aculmulado1 + $comprapreco3;
			}else{
				$comprapreco3 = $comprapreco;
			}

			//abc
			$UnitarioAbc =  ($row_transacoes['valorbruto'] / $valorbruto2) * 100 ;

			$acumulado = ($UnitarioAbc + $UnitarioAbc) * 100;

			if ($contador == 1) {
				
				$aculmulado = $UnitarioAbc;
			}else{

				$aculmulado = ($aculmulado + $UnitarioAbc) ;
			}


		if($comprapreco > 0){

		if ($mostrarprod == 'sim') {


			if ($row_transacoes['desconto'] > 0) {

			
			$html .= '<tr><td>'.$row_transacoes['codmercadoria'] . "</td>";
			$html .= '<td style="text-align: left;">'.$row_transacoes['mercadoria'] . "</td>";

			if ($mostrarestoque == 'sim') $html .= '<td>'.$row_transacoes['estoque'] . "</td>";

			$html .= '<td>'.$row_transacoes['quantidade'] . "</td>";
			$html .= '<td>'.$comprapreco2 . "</td>";
			$html .= '<td>'.$row_transacoes['valorbruto'] . "</td>";
			$html .= '<td>'.$row_transacoes['desconto'] . "</td>";
			$html .= '<td>'.$row_transacoes['vendaliquido'] . "</td>";

			if ($mostrarabc == 'sim') $html .= '<td>' . round($UnitarioAbc,3) . '%</td>';
			if ($mostrarabc == 'sim') $html .= '<td>' . round($aculmulado,3) . '%</td> </tr>';

			}

		}else{

			$html .= '<tr><td>'.$row_transacoes['codmercadoria'] . "</td>";
			$html .= '<td style="text-align: left;">'.$row_transacoes['mercadoria'] . "</td>";
			if ($mostrarestoque == 'sim') $html .= '<td>'.$row_transacoes['estoque'] . "</td>";
			$html .= '<td>'.$row_transacoes['quantidade'] . "</td>";
			$html .= '<td>'.$comprapreco2 . "</td>";
			$html .= '<td>'.$row_transacoes['valorbruto'] . "</td>";
			$html .= '<td>'.$row_transacoes['desconto'] . "</td>";
			$html .= '<td>'.$row_transacoes['vendaliquido'] . "</td>";

			if ($mostrarabc == 'sim') $html .= '<td>' . round($UnitarioAbc,3) . '%</td>';
			if ($mostrarabc == 'sim') $html .= '<td>' . round($aculmulado,3) . '%</td> </tr>';

			}

		}
	}

	if($mostrarprod == 'sim'){
	$query = "SELECT codmercadoria, estoque,  valorbruto as unitario, mercadoria,sum(valorcompra) as compra, sum(quantidade) as quantidade, sum(valorbruto) as valorbruto, sum(desconto) as desconto, sum(vendaliquido) as vendaliquido FROM view_vendas WHERE loja = '$loja' AND fabricante = '$fabricante' AND usuario = '$user' AND desconto > 0";
	}else{

    $query = "SELECT codmercadoria, estoque,  valorbruto as unitario, mercadoria,sum(valorcompra) as compra, sum(quantidade) as quantidade, sum(valorbruto) as valorbruto, sum(desconto) as desconto, sum(vendaliquido) as vendaliquido FROM view_vendas WHERE loja = '$loja' AND fabricante = '$fabricante' AND usuario = '$user'";

	}

	$result = mysqli_query($conexao, $query);
	$row = mysqli_fetch_assoc($result);
	$quantidade1 = $row['quantidade']; 

	$result = mysqli_query($conexao, $query);
	$row = mysqli_fetch_assoc($result);
	$valorbruto1 = $row['valorbruto']; 

    $result = mysqli_query($conexao, $query);
	$row = mysqli_fetch_assoc($result);
	$desconto1 = $row['desconto']; 

	$result = mysqli_query($conexao, $query);
	$row = mysqli_fetch_assoc($result);
	$liq1 = $row['vendaliquido']; 

	$result = mysqli_query($conexao, $query);
	$row = mysqli_fetch_assoc($result);
	$compra1 = $row['compra']; 

	} 		
	//---------------------------------------//
	$html .= '<tr style="background-color: coral;" >';
			$html .= '<td> </td>';
			$html .= '<td><b>TOTAIS</b> </td>';
			if ($mostrarestoque == 'sim') $html .= '<td> </td>';
			$html .= '<td> <b>'.$quantidade1.'</b> </td>';

			if($acrescentar){

			$html .= '<td><b>'.$aculmulado.' </b></td>';

			}else{

			$html .= '<td><b>'.$compra1.' </b></td>';
		}

			$html .= '<td><b>'.number_format($valorbruto1, 2, ',', ' ').'</b> </td>';
			$html .= '<td><b>'. number_format($desconto1, 2, ',', ' ').'</b> </td>';
			$html .= '<td><b>'.number_format($liq1, 2, ',', ' ').'</b></td>';

			if ($mostrarabc == 'sim') $html .= '<td> </td>';
			if ($mostrarabc == 'sim') $html .= '<td> </td>';

			$html .= '<tr>';
			$html .= '</tbody>';
			$html .= '</table';

		
	if ($quantidade1 > 0) {
		
		//Criando a Instancia
		$dompdf = new DOMPDF();

		// Carrega seu HTML
		$dompdf->load_html('
				<img src="logo.jpg" height=50px>
				<hr>

				<h5 style="text-transform: uppercase;"> EMPRESA: '. $lojaRelatorio. ' <br> DATA: ' .date("d/m/Y", strtotime($datainicio)).'  à '.date("d/m/Y", strtotime($datafinal)).' <br> FABRICANTE: ' .$fabricante.  ' <p> Vendas por período
				'. $html .'
			');

		// Renderizar o HTML
		$dompdf->render();

		// Nome do arquivo que você deseja salvar
		$nomeDoArquivo = $nome . $fabricante . "-" . $loja . "-" . $lojaRelatorio . $contar_relatorio .".pdf";

		// Caminho completo para o arquivo de destino
		$caminhoDoArquivo = $pastaDeDestino . '/' . $nomeDoArquivo;

		// Use file_put_contents para salvar o arquivo no destino
		if (file_put_contents($caminhoDoArquivo, $dompdf->output()) !== false) {
			echo 'Salvo em ->: ' . $caminhoDoArquivo. '<br>';
		} else {
			echo 'Erro ao salvar o arquivo.';
		}
	} else {
		echo $fabricante . " NÃO HOUVE VENDAS";
	}

	}