     <?php
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');
$preenchimento=$sessao->getVar('controle1');
$objetoCalculoEnxuto = new calculosEnxuto(); //calcula todos valores finais
$objetocalculoRaioX = new calculosFichaVirtual(); //calcula todos valores finais
$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');
$sqlSeletor=$sessao->getVar('controle5');


//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->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;
			 $margem=$margemEsquerda;
			 $margemDireita=$maximoLAdobe-6;
			 $larguraUtil=$maximoLAdobe-16;
			 $futer=$maximoHAdobe-10;
			 //$larguraUtil=$maximoLAdobe;
			 $cinza=220;
		     //$fonte="Arial";
			 $nomeOperador=5;
			 $pdf->SetFillColor($cinza,$cinza,$cinza); 

			//aqi imprime O ULTIMO..
			//$matrizLargura[13]=70;
     		$pdf->setXY(239,$cota1);
			$largura=$matrizLargura[13];
			$larguraTexto=ceil($largura*.7);
			$texto=$matrizTitulo[13];
			$texto=substr($texto,0,$largura);//pois as vezes vai acavalar alguns textos
		    $pdf->Cell($largura,10,utf8_decode($texto),1,0,'C',1);//lab nome


    

            //cria o array conteudo################################################33
			//ENTRA DE QUAKQUER MANEIRA
			$generica=new tabelagenerica();
			$generica1=new tabelagenerica();
			//echo $finalidade;
			$generica->extras_select =$sqlSeletor;
        
			$generica->selecionaCamposEspecial($generica);
			$contador=1;
            //vou criar a matriz de conteudos que vai ter linhas e colunas
			$mesPedido=$inicio;  
			while ($resgenerica= $generica->retornaDados()):
				$amostraLong=$resgenerica->fic_id;
			    //$vetorAmostraBruto=$objetocalculo->capturaGeralAmostra($amostraLong);//captura TUDO 
				//$vetorAmostraBruto=$objetoCalculoEnxuto->capturaGeralAmostra($amostraLong);//captura TUDO 
				$vetorRaioX=$objetocalculoRaioX->capturaGeralRaioX($amostraLong); 
				//SE  FOI SOLICITADO UM DETERMINADO MES O VALOR DA VARIAVEL INICIO É O MES E A VARIAVEL FINAL TRAZ O CONTEUDO A PALAVRA MES
				$recebidaEm=$vetorRaioX[8];
				$vaiImprimir='SIM';
                if(trim($final)=='mes'):
				   $vaiImprimir='NAO';//MARCA TUDO PARA NAO IMPRIMIR
				   $mesAmostra=substr($recebidaEm,3,2);
				   if($mesPedido==$mesAmostra)$vaiImprimir='SIM';	//se o mes for igual entao marca para imprimri este			   
				endif;
                
               if($vaiImprimir=='SIM'): 
                if($vetorRaioX[2]==0)://testa se previas=0
	                //$matrizConteudo[$contador][1]=str_pad($resgenerica->fic_amostra, 4, "0", STR_PAD_LEFT).'/'.date("y",strtotime($resgenerica->fic_dt_entrada));
					//$matrizConteudo[$contador][1]=str_pad($vetorRaioX[10], 4, "0", STR_PAD_LEFT).'/'.     ;//amostra
					$matrizConteudo[$contador][1]=str_pad($vetorRaioX[10], 4, "0", STR_PAD_LEFT).$vetorRaioX[120];//amostra  
					$matrizConteudo[$contador][2]=$vetorRaioX[8];//dt receb
					$valorBene=	$vetorRaioX[118];    
					if($valorBene=='1')	$tipo='M.Prima';
					if($valorBene=='2')	$tipo='Benef.';
					if($valorBene=='3')	$tipo='Escarif.';
					if($valorBene=='4')	$tipo='Revestida';
					if($valorBene=='5')	$tipo='Acab. Nua';
					if($valorBene=='6')	$tipo='Acab.Rev.';
					if($valorBene=='7')	$tipo='Outro';
	                $matrizConteudo[$contador][3]=$tipo;//tipo
	                $matrizConteudo[$contador][4]=$vetorRaioX[221];//esp cientifica
	                $matrizConteudo[$contador][5]=$vetorRaioX[42];//cultivar
	                $matrizConteudo[$contador][6]=$vetorRaioX[9];//lote
	                $matrizConteudo[$contador][7]=$vetorRaioX[48];//safra
					//REPRESENTATIVIDADE
					$repre=$vetorRaioX[46];
					list($r1,$r2,$r3,$r4)= explode(" ", $repre);
	                $matrizConteudo[$contador][8]=$r1;//quantidade
	                $matrizConteudo[$contador][9]=$r3;//unidades
	                $matrizConteudo[$contador][10]=$vetorRaioX[44];//remetente
	                $matrizConteudo[$contador][11]=$vetorRaioX[57];//procedencia
	                $matrizConteudo[$contador][12]=substr($vetorRaioX[3],10);//boletim
	                $matrizConteudo[$contador][13]=substr($vetorRaioX[3],0,10);//data
	                $matrizConteudo[$contador][14]=$vetorRaioX[63];//observacoes
	                $contador++;
                endif;//testa se previas =0
			   endif;//testa se vai imprimir = sim	no caso do mes
                //if($contador>30)break;
			endwhile; 
			$totalPaginas=ceil($contador/30);//arredonda para cima

			
			//	$pdf->Cell($largura,5,"xxxxxxxxxxxxxxx" .$contador ." limite=". $limite,1,0,'L');//lab nome		
//agora imprime	o corpo		
//o indice vai permitir eu imprimir na ordem que eu quiser e inclusive suprimir linhas	
			//se a pessoa quer imprimir um protocolo vazio(para documentação da qualidade)
			if($preenchimento=="branco"):
               $contador=0;
			endif;
			
            //para cada modelo defino as larguras e os titulos. Suprimo as colunas que nao usar
			//com isso ja consigo que ele me mostre so o que eu realmente quero no livro
			//no vetor indices eu digo quais as colunas e em que posicao relativa
			$larguraGeral=15;
			$matrizLargura[1]=19;$matrizTitulo[1]='Amostra';
			$matrizLargura[2]=$larguraGeral; $matrizTitulo[2]='Receb.';//era 18
			$matrizLargura[3]=$larguraGeral; $matrizTitulo[3]='Tipo';//era 18
			$matrizLargura[4]=$larguraGeral+25; $matrizTitulo[4]='Especie(Nome cient)';//era 18
			$matrizLargura[5]=$larguraGeral+15; $matrizTitulo[5]='Cultivar';//era 18
			$matrizLargura[6]=$larguraGeral+10; $matrizTitulo[6]='Lote';//era 18
			$matrizLargura[7]=$larguraGeral; $matrizTitulo[7]='safra';//era 18
			$matrizLargura[8]=$larguraGeral-5; $matrizTitulo[8]='Qt Unid';//era 18
			$matrizLargura[9]=$larguraGeral; $matrizTitulo[9]='Peso Unit';//era 18
			$matrizLargura[10]=$larguraGeral+20; $matrizTitulo[10]='Requerente';//era 18
			$matrizLargura[11]=$larguraGeral; $matrizTitulo[11]='Procedencia';//era 18
			$matrizLargura[12]=$larguraGeral; $matrizTitulo[12]='Boletim';//era 18
			$matrizLargura[13]=$larguraGeral; $matrizTitulo[13]='Data Bol.';//era37
			$matrizLargura[14]=$larguraGeral; $matrizTitulo[14]='Observacoes';//era 18


			$limite=sizeof($matrizLargura);
			//cria 13 posicoes para usar com set xy
			$distancia=$margem;
			for($i=1;$i<=$limite;$i++):
               $posicoes[$i]=	$distancia;		
			   $distancia+=$matrizLargura[$i];
			endfor;
			

		    $cinza=230;
			$pdf->SetFillColor($cinza,$cinza,$cinza); 
			$pdf->SetFont('Arial','',7);	
			$contadorLinhasPagina=0;
			
			
			//cria a tabela que vai exportar para excel
			$tabela = '<table border="1">';
			$tabela .= '<tr>';
			 $tabela .= '<td colspan="8">Exportacao de dados para Excel - Sistema SilasNet</tr>';//usa para o titulo tantas colunas quanto foi definido em coslpan
			 $tabela .= '</tr>';
			 $tabela .= '<tr>';
			 for($je=1;$je<=$limite;$je++):
				$tabela .= '<td>'.utf8_decode($matrizTitulo[$je]).'</td>';
			 endfor;
			 //so para ver como adiciona as colunas...hihihi
			 //$tabela .= '<td><b>Nome</b></td>';
			 //$tabela .= '<td><b>Email</b></td>';
			 $tabela .= '</tr>';
			 $vetorNormas=$objetocalculo->capturaNormas("Protocolo","Padrao",$idLabo);
             $pagina=$vetorNormas[2]-1;//vai digitar o numero da pagina que deseja que saia na seeuencia

			$contadorLinhasPagina=0;
			for($i=1;$i<=$contador;$i++):
			    $cota1+=4.5;
			    //imprime o timbrado
                //se o contador é igual a 0, imprime o timbrado  
				
			
				if($contadorLinhasPagina==0):
				    $pdf->AddPage();//adicionando a primera pafina 
					
					$pagina++;
					$cota1=4.5;
					$alturaLinha=8;
					$larguraLinha=175;
					$posicaoNorma=239;
					//pinta uma banda cinza
					$pdf->Rect($margemEsquerda,$cota1,$larguraUtil-2,24,'FD');//sintaxe do rect  (x,y,largura,altura'fill draw'	
					$pdf->Rect($posicaoNorma,$cota1,50,3*$alturaLinha);//retangulo das normas

                    //$pdf->SetFont('Times','',7);
			        //cabecalho
				 	$posicaoCab1=60;$posicaoCab2=245;
		            $caminhoFinal="ImagensClientes/i".$idLabo.".JPG";
		            $pdf->Image($caminhoFinal,11,7,24,12,'JPG');
					$cota1=5;			
					$pdf->SetFont('Arial','B',12);
					$pdf->setXY($posicaoCab1,$cota1);
					$pdf->Cell($larguraLinha,$alturaLinha,utf8_decode('REGISTRO TÉCNICO'),1,1,'C');
					$cota1+=$alturaLinha;
					$pdf->setXY($posicaoCab1,$cota1);
					$pdf->Cell($larguraLinha,$alturaLinha,utf8_decode('Área:Laboratório de Análise de Sementes'),1,1,'C');
					$cota1+=$alturaLinha;
	     			$pdf->setXY($posicaoCab1,$cota1);
					$mesPedidoImprimir="";
                    if($final=='mes')$mesPedidoImprimir='   Mes:'.$mesPedido; 					
					$pdf->Cell($larguraLinha,$alturaLinha,utf8_decode('LIVRO DE REGISTRO DE AMOSTRAS DE SEMENTES').$mesPedidoImprimir,1,1,'C');//lab nome
	     			

					 $pdf->SetFont('Arial','B',8);
					 $pdf->setXY($posicaoNorma,5);  $pdf->Cell(40,4,utf8_decode("DOC: RCQ-002"),0,0);
					 $pdf->setXY($posicaoNorma,9);  $pdf->Cell(40,4,utf8_decode("Data Elabaroção: 03/02/14"),0,0);
					 $pdf->setXY($posicaoNorma,13);  $pdf->Cell(40,4,utf8_decode("Revisão: 01 "),0,0);
					 $pdf->setXY($posicaoNorma,17);  $pdf->Cell(40,4,utf8_decode("Data revisão: 08/04/15"),0,0);
					 $pdf->setXY($posicaoNorma,21);  $pdf->Cell(40,4,utf8_decode("Nª páginas:  "),0,0);
			        //setor elaborado por.....
					$pdf->SetFont('Arial','B',10);
					$cota1+=10;
					$pdf->setXY($margemEsquerda,$cota1);
					$pdf->Cell($larguraUtil/3,4,utf8_decode("Elaborado: Messias R. Alves e José M. Cerviglieiri"),1,0);
					$pdf->Cell($larguraUtil/3,4,utf8_decode("Revisado: Bruno A. de Lima"),1,0);
					$pdf->Cell($larguraUtil/3-2,4,utf8_decode("Aprovado: Carlos Zacarel"),1,0);
                    $pdf->SetFont('Arial','',7);

		            //aqui imprime a linha de cabecalho //posso negrita/ colocar hachurrado etc 
		            $cota1+=5;
					$pdf->setXY($margemEsquerda,$cota1-7);
					//$pdf->Cell(50,5,utf8_decode('Ano:'.$anoCorrente),1,0,'L',1);//lab nome
		            $pdf->Rect($margemEsquerda,$cota1,$larguraUtil-3,10,'FD');//sintaxe do rect  (x,y,largura,altura'fill draw'	
					//imprime casuismo da amostra		
					$pdf->setXY($posicoes[1],$cota1+1);$pdf->Cell($matrizLargura[1],4,utf8_decode('Amostra'),0,0,'C');
		     		$pdf->setXY($margemEsquerda,$cota1+5);$pdf->Cell($matrizLargura[1],4,utf8_decode('Nº'),0,0,'C');

					//aqi imprime varios que sao normais...
		     		$pdf->setXY($margemEsquerda+$matrizLargura[1],$cota1);
					for($j=2;$j<=$limite;$j++):
						$largura=$matrizLargura[$j];
						$larguraTexto=ceil($largura*.7);
						$texto=$matrizTitulo[$j];
						$texto=substr($texto,0,$largura);//pois as vezes vai acavalar alguns textos
		     			$pdf->Cell($largura,10,utf8_decode($texto),1,0,'C',1);//lab nome
					endfor;
     				$cota1+=10;
                    ////////////////////////
					
				endif;//aqui encerra o if que controla o contador de paginas e imprime cabecalho e dao salto de pagina
		
			    //negritar linhas de cores alternadas
				$file=0;  
			    if($i % 2 == 0):
				    $file=1;
			    endif;	
				
					
				$pdf->setXY($margemEsquerda,$cota1);
	            $tabela .= '<tr>';
                for($j=1;$j<=$limite;$j++): 
					$largura=$matrizLargura[$j];
					$larguraTexto=ceil($largura*.7);
					$texto=$matrizConteudo[$i][$j];
					$tabela .= '<td>'.utf8_decode($texto).'</td>';
					$texto=substr($texto,0,$larguraTexto);//pois as vezes vai acavalar alguns textos
				    $pdf->Cell($largura,4.5,utf8_decode($texto),1,0,'C',$file);//lab nome
                endfor;
		        $tabela .= '</tr>';
				///////////vai colocar o rodape//////////////////////////
				
			    $contadorLinhasPagina++;
				//para forcar sair a assinatura toda vez que troca o numero de pagina
				if($contadorLinhasPagina==25):
				   $contadorLinhasPagina=0;
                endif;
				if($contadorLinhasPagina==0)://colocar 30 depois
				   //SETOR DO RODAPE
					$cotaR1=190;
					//terminou de imprimir resultado agora vi para observacoes tecico e assinatura
				     $cota4=150;
				     $vetorTecnico=$objetocalculo->dadostecnico($idLabo,'BOLE');
				     $cota7=$cota4;
					 $cotaLinha=$cota4;
				     $pdf->setXY(150,$cota7-10);
					 $base[4][3]=$vetorTecnico[1];
					 $base[5][3]="RENASEM:".$vetorTecnico[3]."  CREA:".$vetorTecnico[2];
					 $base[6][3]=$vetorTecnico[7];// seria o cargo?
					 $pdf->SetXY(150,$cota7);$pdf->Cell(90,5,utf8_decode($base[1][3]),0,1,'L');	
				     $pdf->Line(150,$cota7+25,250,$cota7+25);//linha separadora horizontal
					 $pdf->SetXY(150,$cota7+26);$pdf->Cell(90,5,utf8_decode($base[4][3]),0,1,'C');	
					 $pdf->SetXY(150,$cota7+31);$pdf->Cell(90,5,utf8_decode($base[5][3]),0,1,'C');	
					 $pdf->SetXY(150,$cota7+36);$pdf->Cell(90,5,utf8_decode($base[6][3]),0,1,'C');	//ESTE ITEM É ASSINATURA SIM;NAO	
					$pdf->SetFont('Arial','',7);
				endif;
				//////////////////////////////
            endfor;
			
		   $tabela .= '</table>';
		   $sessao->setVar('controleExcel',$tabela);
   				
				/////////////
			//endfor;
//vai imprimir na nultima pagina
				   //SETOR DO RODAPE
                 //vai fazer a pergunta se contador linhaspagina >0 para que nao imrpruma duas vezes o rodape
				 if($contadorLinhasPagina>0):
					$cotaR1=190;
					//terminou de imprimir resultado agora vi para observacoes tecico e assinatura
				     $cota4=150;
				     $vetorTecnico=$objetocalculo->dadostecnico($idLabo,'BOLE');
				     $cota7=$cota4;
					 $cotaLinha=$cota4;
				     $pdf->setXY(150,$cota7-10);
					 $base[4][3]=$vetorTecnico[1];
					 $base[5][3]="RENASEM:".$vetorTecnico[3]."  CREA:".$vetorTecnico[2];
					 $base[6][3]=$vetorTecnico[7];// seria o cargo?
					 $pdf->SetXY(150,$cota7);$pdf->Cell(90,5,utf8_decode($base[1][3]),0,1,'L');	
				     $pdf->Line(150,$cota7+25,250,$cota7+25);//linha separadora horizontal
					 $pdf->SetXY(150,$cota7+26);$pdf->Cell(90,5,utf8_decode($base[4][3]),0,1,'C');	
					 $pdf->SetXY(150,$cota7+31);$pdf->Cell(90,5,utf8_decode($base[5][3]),0,1,'C');	
					 $pdf->SetXY(150,$cota7+36);$pdf->Cell(90,5,utf8_decode($base[6][3]),0,1,'C');	//ESTE ITEM É ASSINATURA SIM;NAO	
					$pdf->SetFont('Arial','',7);
                 endif;





			
			
			ob_clean(); // Quando usava essa classe o ob_clean() resolvia meu problema
$pdf->Output("arquivo.pdf","I");

		
		
?>
