<?php
session_start();

require('fpdf.php');
include($_SERVER[DOCUMENT_ROOT].'/kernel/conecta.php');


$a_ids = explode('-',$_GET[id_lancamento]);
$a_ids = array_filter($a_ids);
$ids = implode(',',$a_ids);



function mostra_valor3($num,$zero='',$tipo='') {

	if( $num != '') {
		
		if( $zero == 2 && $num == 0 )
			$retorno = '';
		else
			$retorno = @number_format($num, 3, ',', '.') ;
		
	} else {
		
		if( $zero != '' ) {
			$retorno = '0,000';
		} 
	}
	
	if( $tipo == '' )
		return $retorno;
	else
		return $tipo.$retorno; 


}


define(PASTA_LOCAL,$_SERVER[DOCUMENT_ROOT].$CACTUX_CONF['path']);


// VERIFICA O ID DO USUARIO QUE IMPRIMIU PARA MANTER A FILA DE IMPRESSAO
if( $_SESSION[user_nb_id] == '' )	$ID_USER = rand(1000,9999); else	$ID_USER = $_SESSION[user_nb_id];

// ALTEREI ESSE ARQUIVO, AGORA ELE TEM UM NUMERO ALEATORIO NO FINAL PARA GARANTIR QUE NAO VAI HAVER NINGUEM SOBREESCREVENDO O ARQUIVO DO OUTRO
// APROVEITEI E COLOQUEI A DATA NO FINAL DO ARQUIVO, ENTAO PODEMOS EXCLUIR TODOS OS ARQUIVOS QUE NAO SEJAM DA DATA DE HOJE (FAZER ESSE PRCESSO NO ABRIR OU FECHAR CAIXA)
//$arquivo_pdf = PASTA_LOCAL.'/impressao/conteudo_imprimir_'.$_GET[impressora].'_'.$ID_USER.'-'.rand(1000,9999).'-'.date('ymd').'.pdf';
$arquivo_pdf = PASTA_LOCAL.'/impressao/'.date('ymd').'_'.substr(basename($_SERVER[PHP_SELF]),0,-4).'_'.$_GET[impressora].'_'.$ID_USER.'-'.rand(1000,9999).'.pdf';



//VERIFICA SE TODOS OS CAMPOS FORAM INFORMADOS
if (intval($_GET[id_lancamento]) == 0){
	echo 'Entre com o código do lançamento!';
	exit;
}

if ($_GET[n_comanda] == ""){
	echo 'Entre com o número da comanda!';
	exit;
}




$LOJA = carregar('empresa',1);

$sql_ordem = selecionar('ordem,entidade','orde_tx_status','ativo'," AND orde_tx_comanda = '$_GET[n_comanda]' ");
$a_ordem = carrega_array($sql_ordem);



// INICIA A CRIAÇÃO DO PDF
$pdf = new FPDF("P","mm",array($CONFIGURA[LARGURA_IMPRESSAO],$CONFIGURA[ALTURA_IMPRESSAO]));
$pdf->SetMargins($CONFIGURA[MARGEM_ESQUERDA],$CONFIGURA[MARGEM_TOPO],$CONFIGURA[MARGEM_DIREITA]);
$pdf->AddPage();
 
$pdf->SetFont('arial','B',11);


if ( substr(trim($_GET[n_comanda]),0,8)=='DELIVERY' ) {
	$titulo = 'DELIVERY';
	$numero_comanda = trim(substr($_GET[n_comanda],9));
} else {
	$titulo = 'MESA';
	$numero_comanda = trim($_GET[n_comanda]);
}

if ( trim($_GET[viagem])=='VIAGEM' ) {
	$titulo = 'VIAGEM';
}

if ( trim($a_ordem[orde_tx_obs2])!='' ) {
	$titulo = 'VIAGEM';
}



// CRIA O CABEÇALHO DA IMPRESSÃO

$pdf->SetFont('arial','',9);
$pdf->Ln(1);
$pdf->Cell(0,2,$CONFIGURA[NOME_IMPRESSAO],0,1,'C');
$pdf->Ln(1);
$pdf->Cell(0,2,$CONFIGURA[CNPJ_IMPRESSAO],0,1,'C');
$pdf->Ln(5);
$pdf->SetFont('arial','B',12);
$pdf->Cell(0,2,$titulo,0,1,'C');
$pdf->SetFont('arial','',9);
$pdf->Ln(5);







$sql_user = selecionar('user_nb_id,user_tx_login,orpr_nb_ordem|orpr,produto.user','orpr_tx_status,orpr_nb_atendente',"ativo,.user_nb_id"," AND orpr_nb_id IN ($ids) LIMIT 1 ");
$a_user = carrega_array($sql_user);

$sql_item = selecionar('orpr,produto.user','orpr_tx_status,orpr_nb_atendente',"ativo,.user_nb_id"," AND orpr_nb_id IN ($ids)");

 
$pdf->SetFont('arial','B',8);
$pdf->Cell(19,2,"DATA/HORA:",0,0,"L");
$pdf->SetFont('arial','B',10);
$pdf->Cell(50,2,date("d/m/Y(H:i:s)"),0,1,"L");
$pdf->Ln(5);


$pdf->SetFont('arial','B',8);
$pdf->Cell(19,2,"COMANDA:",0,0,"L");
$pdf->SetFont('arial','B',10);
$pdf->Cell(0,2,$numero_comanda,0,1,"L");
$pdf->Ln(5);

$pdf->SetFont('arial','B',8);
$pdf->Cell(19,2,"ATENDENTE:",0,0,"L");
$pdf->SetFont('arial','B',10);
$pdf->Cell(0,2,$a_user[user_tx_login],0,1,"L");



if ( $titulo == 'DELIVERY' ) {
	$pdf->Ln(5);
	
	$pdf->SetFont('arial','B',8);
	$pdf->Cell(19,2,"CLIENTE:",0,0,"L");
	$pdf->SetFont('arial','B',8);
	$pdf->Cell(0,2,$a_ordem[enti_tx_nome],0,1,"L");
	$pdf->Ln(2);

} elseif ( trim($a_ordem[orde_tx_obs2])!='' ) {
	$pdf->Ln(5);
	// VIAGEM LANÇADO NO DELIVERY
		
	$pdf->SetFont('arial','B',8);
	$pdf->Cell(19,2,"CLIENTE:",0,0,"L");
	$pdf->SetFont('arial','B',10);
	$pdf->Cell(0,2,$a_ordem[orde_tx_obs2],0,1,"L");
	$pdf->Ln(2);

} else {
	$pdf->Ln(2);
}



while ( $a_item = carrega_array($sql_item) ) {



	//for($i=0;$i<($a_item[orpr_tx_qtde]);$i++){
		$pdf->SetFont('arial','B',8);
		$pdf->Cell(0,2,"_________________________________________",0,1,"C");
		$pdf->Ln(3);

		$pdf->SetFont('arial','B',8);
		$pdf->Cell(17,2,"QTDE:",0,0,"L");
		$pdf->SetFont('arial','B',12);
		$height = (ceil(($pdf->GetStringWidth($a_item[orpr_tx_qtde]) / 40)) * 2);
		$pdf->MultiCell(0,$height,mostra_valor3($a_item[orpr_tx_qtde]),0);
		$pdf->Ln(5);


		$pdf->SetFont('arial','B',8);
		$pdf->Cell(17,2,"PRODUTO:",0,0,"L");
		$pdf->SetFont('arial','',12);
		$height = (ceil(($pdf->GetStringWidth($a_item[prod_tx_nome]) / 40)) * 2);
		$pdf->MultiCell(0,$height,$a_item[prod_tx_nome],0);


		// NO THE BURGER HOUSE FOI INTRODUZIDO O CONCEITO DE ADICIONAL E PRECISA TRATAR MELHOR A IMPRESSAO DELE
		// JOGA O NOME DO PRODUTO NO ADICIONAL PARA CONTROLAR MELHOR
		if( $a_item[orpr_nb_adicional] > 0 ) {

			$a_adicional = carregar('prod_tx_nome|orpr,produto',$a_item[orpr_nb_adicional]);
			$adicional = "($a_adicional[prod_tx_nome])";

			$pdf->Ln(2);
			$pdf->SetFont('arial','',10);
			$height = (ceil(($pdf->GetStringWidth($adicional) / 40)) * 2);
			$pdf->MultiCell(0,$height,$adicional,0);

		}

		$pdf->Ln(5);


		// EXIBE OS ADICIONAIS SE TIVER
		$sql_adic = selecionar('orpr,produto','orpr_nb_adicional,orpr_tx_status',"$a_item[orpr_nb_id],!inativo");
		if( num_linhas($sql_adic) > 0 ) {

			$pdf->SetFont('arial','B',8);
			$pdf->Cell(17,2,"ADICIONAIS:",0,0,"L");
			$pdf->SetFont('arial','',12);
			$pdf->Ln(5);				
			while( $a_adic = carrega_array($sql_adic) ){
				$height = (ceil(($pdf->GetStringWidth($a_adic[prod_tx_nome]) / 40)) * 2);

				// AQUI NESSA IMPRESSAO, DEVE SAIR A QUANTIDADE ORIGINAL POR PRODUTO E NAO MULTIPLICADO. ENTAO DEVO DIVIDIR A QUANTIDADE DO ADICIONAL PELA QUANTIDADE DO PRODUTO
				// ORIGINAL. NA HORA DE IMPRIMIR O CUPOM DO ADICIONAL, AI SAIRA A QUANTIDADE MULTIPLICADA
				// EX: PEDIU 2 X-FRANGO COM 2 ADICIONAL DE BACON. ENTAO NO ORPR VAI LANCAR O X-FRANGO COM QTDE 2 E O BACON COM QTDE 4 (2 BACON PRA CADA X-FRANGO). 
				// POREM NA HORA DE IMPRIMIR AQUI A LISTAGEM DOS ADICIONAIS DEVE APARECER APENAS 2 BACON PORQUE O CUPOM EH INDIVIDUAL
				// EX: PEDIU 2 X-FRANCO COM 1 PS COMBO. NESSE CASO NO ORPR CAI TER XFRANGO COM QTDE 2 E PS COMBO COM A QUANTIDADE 2 (1 PS COMBO PRA CADA X-FRANGO) 
				// POREM NA IMPRESSAO DO CUPOM DO PRODUTO DEVE SAIR 2 MESMO. PRA PODEREM PREPARAR 2 COMBOS
				$pdf->MultiCell(0,$height,"    ".intval($a_adic[orpr_tx_qtde])." x ".$a_adic[prod_tx_nome],0);
				$pdf->Ln(5);			
			}

			
		}

		if($a_item[orpr_tx_obs]){
			$pdf->SetFont('arial','B',8);
			$pdf->Cell(17,2,"OBS:",0,0,"L");
			$pdf->SetFont('arial','',12);
			$height = (ceil(($pdf->GetStringWidth($a_item[orpr_tx_obs]) / 40)) * 2);
			$pdf->MultiCell(0,$height,$a_item[orpr_tx_obs],0);
			// $pdf->drawTextBox($a_item[orpr_tx_obs], 10, 10, 'C', 'M');
			$pdf->Ln(5);
		}

		// your code if its decimals has a value
		// if(fmod($a_item[orpr_tx_qtde], 1) !== 0.00){
		// 	$pdf->SetFont('arial','B',8);
		// 	$pdf->Cell(20,2,"QUANTIDADE:",0,0,"L");
		// 	$pdf->SetFont('arial','',12);
		// 	$height = (ceil(($pdf->GetStringWidth($a_item[orpr_tx_qtde]) / 40)) * 2);
		// 	$pdf->MultiCell(0,$height,mostra_valor3($a_item[orpr_tx_qtde]),0);
		// 	$pdf->Ln(5);

		// 	break;
		// } 

		// $pdf->SetFont('arial','B',8);
		// $pdf->Cell(17,2,"QTDE:",0,0,"L");
		// $pdf->SetFont('arial','',10);
		// $pdf->Cell(0,2,intval($a_item[orpr_tx_qtde]),0,1,"L");

	//}

}


$sql_item = selecionar('orpr,produto.user','orpr_tx_status,orpr_nb_atendente',"ativo,.user_nb_id"," AND orpr_nb_ordem = '$a_user[orpr_nb_ordem]' AND orpr_nb_id NOT IN ($ids)");
/*
if(num_linhas($sql_item) > 0){
	$pdf->SetFont('arial','',10);
	$pdf->Cell(0,2,"____________DEVE SAIR JUNTO COM____________",0,1,"C");
	$pdf->Ln(3);

	while ( $a_item = carrega_array($sql_item) ) {

		// NO THEBURGERHOUSE ADICIONAMOS A OPCAO DE INFORMAR A ENTREGA DO ITEM. ENTAO SE O ITEM JA FOI ENTREGUE NA MESA
		// NAO DEVE SAIR NESSA PARTE DA IMPRESSAO COMO SE TIVESSE QUE AGUARDAR POR ELA
		if( $a_item[orpr_tx_situacao] == 'Entregue' )
				continue;
		// NAO EXIBE AQUI OS ADICIONAI. ELES SERAO EXIBIDOS JUNTO COM O PRODUTO ORIGINAL
		if( $a_item[prod_tx_tipo] == 'Adicional' )
				continue;

		$pdf->Cell(0,2,"$a_item[orpr_tx_qtde] - $a_item[prod_tx_nome]",0,1,"L");
		$pdf->Ln(2);
		
	}
}
*/
$pdf->Ln(8);
$pdf->SetFont('arial','',8);
$pdf->Cell(0,10,'SISTEMAS CACTUS',0,1,"C");


// GERA O ARQUIVO PDF
$pdf->Output($arquivo_pdf,'F');
bat_imprime($arquivo_pdf,intval($_GET[impressora]),1);

