<?php
//este arquivo foi editado e melhorado em julho 2018
require_once(dirname(dirname(__FILE__))."/paineladm/funcoes.php");
$pathlocal = dirname(__FILE__);
//require_once(dirname($pathlocal)."/paineladm/classes/fpdf.class.php");
//require_once(dirname($pathlocal)."/paineladm/classes/sessao.class.php");
$material = $_COOKIE['material'];
$sessao = new sessao();
$modelo=$sessao->getVar('controle');
$modeloSelecionado=$sessao->getVar('controle');

$cliente=$sessao->getVar('cliente');
$senhaCli=$sessao->getVar('iduser');
$idLabo=$sessao->getVar('idLabo');
$inicio=$sessao->getVar('inicio');
$final=$sessao->getVar('final');
$anoCorrente=$sessao->getVar('anocorrente');
$anoAmostra=$anoCorrente;
$finalidade=$sessao->getVar('finalidade');
echo ("finalidade= $finalidade<br>");
$enquadramento=$finalidade;
$nomeOperador=$sessao->getVar('nomeuser');
$amostraLong=$sessao->getVar('amostraLong');
//echo("amostralong= $amostraLong<br>");
$objetocalculo = new calculos(); //calcula todos valores finais
$vetorCabecalho=$objetocalculo->dadoslaboratorio();

$pdf=new FPDF('L','mm','A4'); //parametos da pagina 
			 $pdf->open();//abre o fpdf
			 //$pdf->AddPage();//adicionando a primera pafina
			 $pdf->SetFont('Arial','',7);
			 $pdf->SetDrawColor(10,10,10);
			 $maximoHAdobe=297;//isso para vertical
			 $maximoLAdobe=210;//isso para vertical
			 $maximoLAdobe=297;//isso para horizontal
			 $maximoHAdobe=210;//isso para horizontal
		     $margemEsquerdaExterna=10;
		     $margemEsquerda=10;
			 $margemDireita=$maximoLAdobe-6;
			 $larguraUtil=$maximoLAdobe-16;
			 $futer=$maximoHAdobe-10;
			 //$larguraUtil=$maximoLAdobe;
			 $cinza=220;
		     //$fonte="Arial";
			 $nomeOperador=5;
			 $pdf->SetFillColor($cinza,$cinza,$cinza); 
			//aqui vai capturar a largura das colunas
			$modeloSelecionado=$sessao->getVar('controle4');
			$sqlCampos="select rmo_nome from relatomodelo where rmo_id=".$modeloSelecionado;
			//$listaCabecalho= captura_registros_generico1($sqlCampos,"rca_campo_custom");
			//ENTRA DE QUAKQUER MANEIRA
		    $generica=new tabelagenerica();
		    $generica->extras_select =$sqlCampos;
			$generica->selecionaCamposEspecial($generica);
			$contador=1;
		    while ($resgenerica= $generica->retornaDados()):
			   $nomeRelatorio=$resgenerica->rmo_nome;
		    endwhile; 

		
			$sqlCampos="select rca_campo_custom,rca_campo_tabela,rca_campo_sel from relatocampos where rca_id_modelo=".$modeloSelecionado." order by rca_id";
			//$listaCabecalho= captura_registros_generico1($sqlCampos,"rca_campo_custom");
			//ENTRA DE QUAKQUER MANEIRA
		    $generica=new tabelagenerica();
		    $generica->extras_select =$sqlCampos;
			$generica->selecionaCamposEspecial($generica);
			$contaCampos=0;
			$larguraAcumulada=0;
			$descricaoDos=0;
			$posicaoDos=0;
		    while ($resgenerica= $generica->retornaDados()):
			   $contaCampos++;
			   $larguraGravada=$resgenerica->rca_campo_tabela;
			   if($larguraGravada<1)$larguraGravada=20;
 			   $larguraColunas[$contaCampos]=$larguraGravada;
               $larguraAcumulada+= $larguraGravada;
			   if($resgenerica->rca_campo_sel=='DescricaoDOS')$posicaoDos=$contaCampos;
			   $titulosColunas[$contaCampos]=$resgenerica->rca_campo_sel;
		    endwhile; 
			$pdf->SetFont('Arial','I',8);
	        //aqui vai realmente imprirmi
			$contador=0;		
			$matrizMega=$sessao->getVar('controle7');
			$linhas=sizeof($matrizMega);
            $novaPagina=0;			
            $novaPagina=0;
			$linhasPorPagina=30;
			$totalDePaginas=ceil($linhas/$linhasPorPagina);
			$contadorPaginas=0;			
            for($linha=1;$linha<$linhas;$linha++):
			   if($linha % $linhasPorPagina ==0)://testa se deve dar o salto
			      $novaPagina=0;
				  $contador=0;
				  $cota1=5;	
			   endif;//fecha o if que vai dar o salto
               //aqui vai colocar o cabecalho
			   if($novaPagina==0):
			   	 $pdf->AddPage();//adicionando a primera pafina 
                 $contadorPaginas++;
	             //$pdf->SetFont('Times','',7);
				 //cabecalho
			 	 $posicaoCab1=60;$posicaoCab2=245;
	             $caminhoFinal="ImagensClientes/i".$idLabo.".JPG";
	             $pdf->Image($caminhoFinal,11,3,48,23,'JPG');
				 $pdf->setXY($posicaoCab1,$cota1);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[0]),0,1,'L');//lab nome
	 			 $pdf->setXY($posicaoCab1,$cota1+5);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[1]),0,1,'L');//lab nome
	 			 $pdf->setXY($posicaoCab1,$cota1+10);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[2]),0,1,'L');//lab nome
	 			 $pdf->setXY($posicaoCab1,$cota1+15);$pdf->Cell(140,5,'Amostras:'.$finalidade.' Ano:'.$anoCorrente,0,1,'L');//lab nome
				 $cotaInicio=30;
		         $pdf->SetFont('Arial','B',10);
				 $pdf->setXY($margemEsquerda,$cotaInicio);
	             $pdf->Cell($larguraAcumulada-20,5,utf8_decode('Relatório:' .$nomeRelatorio),1,0,'L');
	             $pdf->SetFont('Arial','',8);
	             $pdf->Cell(20,5,utf8_decode('Pag.:') .$contadorPaginas.'/'.$totalDePaginas,1,1,'L');
                 //vai imprimir os cabecalhos das colunas toda vez
				 $cotaInicio+=5;
		         $pdf->SetFont('Arial','',8);
				 $pdf->setXY($margemEsquerda,$cotaInicio);
                 for($j=1;$j<=$contaCampos;$j++): 
	               $pdf->Cell($larguraColunas[$j],5,utf8_decode($titulosColunas[$j]),1,0,'L');
                 endfor;



				 $novaPagina=1;
			   endif;//testa se é nova pagina                 			
	   	       if($contador % 2 ==0):
                  $hachurra=0;
			   else:
                  $hachurra=1;
			   endif;
               $cota1=$cotaInicio+5 + $contador*5;
			   $pdf->setXY($margemEsquerda,$cota1);
               for($j=1;$j<=$contaCampos;$j++): 
                   if($posicaoDos>0 && $posicaoDos==$j)$pdf->SetFont('Arial','I',8); 
	               $pdf->Cell($larguraColunas[$j],5,utf8_decode($matrizMega[$linha][$j]),1,0,'L',$hachurra);
				   $pdf->SetFont('Arial','',8); 
               endfor;
			   $hachurra=0;
		       $contador++;
			endfor;			
			 
		
			ob_clean(); // Quando usava essa classe o ob_clean() resolvia meu problema
$pdf->Output("arquivo.pdf","I");

		
		
?>
