<?php 
require_once(dirname(dirname(__FILE__))."/paineladm/funcoes.php");
$pathlocal = dirname(__FILE__);
$sessao = new sessao();
$cliente=strtoupper($sessao->getVar('cliente' ) ?? "");
$senhaCli=$sessao->getVar('iduser');
$idLabo=$sessao->getVar('idLabo');
$nomeOperador=$sessao->getVar('nomeuser');
$inicio=$sessao->getVar('inicio');
$final=$sessao->getVar('final');
$controle=$sessao->getVar('controle');
$anoCorrente=$sessao->getVar('anocorrente');
$amostraLong=$sessao->getVar('amostraLong');
$objetocalculo=new calculos();
$objetocalculoRaioX = new calculosFichaVirtual(); //calcula todos valores finais


$pdf=new FPDF('P','mm','A4'); //parametos da pagina 
$pdf->open();//abre o fpdf
//$pdf->AddPage();//adicionando a primera pafina
//$pdf->SetFont('Arial','',12);

		 $maximoHAdobe=297;
		 $maximoLAdobe=210;
	     $margemEsquerdaExterna=10;
	     $margemEsquerda=10;
		 $margemDireita=$maximoLAdobe-6;
		 $larguraUtil=$maximoLAdobe-16;
		 $largura=$larguraUtil/2;

        $linhas=5;
        $colunas=2;
		//$linhas=5;$colunas=2;
	    //echo("linhas= $linhas colunas=$colunas modeloEtiqueta=$modeloEtiqueta<br>");
		 //com estes dois parametos ele corrige as posicoes verticais
		 $espacoSuperior=15;
         $alturaEtiqueta=55;
		 $yInicial=$controle*$alturaEtiqueta+$espacoSuperior;

		 $contaCiclos=0;
		//caprura a posicao da primeira ficha
         $linhaComeco=substr($controle,0,1);
         $colunaComeco=substr($controle,1,1);
         $larguraPagina=180;//fixo em mm        
         $alturaPagina=232;//fixo em mm        
         $larguraEtiqueta=$larguraPagina/$colunas+20;           
         $alturaEtiqueta=$alturaPagina/$linhas+5;           
         //calcula a posicao da primeira etiqueta
         $contagemEixoX=$colunaComeco;
         $contagemEixoY=$linhaComeco;
		 if($cliente=='QUALITESTE'):
            //DEFINE ALTURA E LARGURA 
			$espacoSuperior2016=17;
			$largura=($larguraUtil/2)-12;
	        $linhas=3;
	        $colunas=2;
			$margemEsquerda=15;
			//$linhas=5;$colunas=2;
		    //echo("linhas= $linhas colunas=$colunas modeloEtiqueta=$modeloEtiqueta<br>");
			//com estes dois parametos ele corrige as posicoes verticais
			$espacoSuperior=15;
	        $alturaEtiqueta=84.7;//era 80
	        $larguraEtiqueta=101.6;           
			$yInicial=$controle*$alturaEtiqueta+$espacoSuperior;
			//caprura a posicao da primeira ficha
	        $linhaComeco=substr($controle,0,1);
	        $colunaComeco=substr($controle,1,1);
	        $larguraPagina=180;//fixo em mm        
	        $alturaPagina=232;//fixo em mm        
	        //calcula a posicao da primeira etiqueta
	        $contagemEixoX=$colunaComeco;
	        $contagemEixoY=$linhaComeco;
            //FIM DAS DEFIMNCIOES DE ALTURA E LARGURA  
		  endif;




			   //ENTRA DE QUAKQUER MANEIRA
				$generica=new tabelagenerica();
				$generica->tabela="ficha";
				$generica->campos_valores = array(
					   "fic_id" => NULL,
					   "fic_beneficiada" => NULL,
					   "fic_observacao" => NULL,
				);
				$generica->extras_select =" where fic_ano=".$anoCorrente." and fic_amostra>=" . $inicio." and fic_amostra<=".$final." and fic_labo=".$idLabo;
				$generica->selecionaCampos($generica);
                $variosDocs='';
               	$contaCiclos=1;
		        $contador=0;
		while ($resgenerica= $generica->retornaDados()):
		    $contador++;
            $amostraLong=$resgenerica->fic_id;
			$vetorRaioX=$objetocalculoRaioX->capturaGeralRaioX($amostraLong); 
            $vetorAmostraBruto=$objetocalculo->capturaGeralAmostra($amostraLong);
			$posicaox=$margemEsquerda+($contagemEixoX-1)*$larguraEtiqueta; 
			//$espacoSuperior2016=20;
			$yInicial=$espacoSuperior2016+($contagemEixoY-1)*$alturaEtiqueta;  
            if($contador==6): 
			
			          
            endif;
			
			   
			 //issoo aqui é so para imprimir a primeira
			 if($contaCiclos==1)
		     {
			 	 $pdf->AddPage();//adicionando a primera pafina
                 $contaCiclos=0;
    		 }            
             
			if($cliente=='QUALITESTE'):
				 $pdf->SetFont('Arial','B',12);
				 //$pdf->setXY($posicaox,$yInicial+0); $pdf->Cell($largura,5,utf8_decode('Nº DA AMOSTRA:').$vetorAmostraBruto[1].'k='.$yInicial,0,1,'L');//natureza
                 $numeroPrevia=$vetorRaioX[2];
                 $numeroDefinitiva=$vetorAmostraBruto[1];
				 $temPrevia="NAO";  
				 $temDefinitiva="NAO";  
                 if($numeroPrevia>0):
				     $conteudo='Nº DA AMOSTRA:'.$vetorAmostraBruto[1]. "  Prévia:".$numeroPrevia;
					 $temPrevia="SIM";  
				 else:	 
				     $conteudo='Nº DA AMOSTRA:'.$vetorAmostraBruto[1]. "  Prévia: -O-";
                 endif;					 

                 if($numeroDefinitiva>0):
				     $conteudo='Nº DA AMOSTRA:'.$vetorAmostraBruto[1]. "  Prévia:".$numeroPrevia;
					 $temDefinitiva="SIM";  
                 endif;					 



				 $pdf->setXY($posicaox,$yInicial+0); $pdf->Cell($largura,5,utf8_decode($conteudo),0,1,'L');//natureza
				 $pdf->SetFont('Arial','',10);
				 //gambiarra para cortar nome de requerente muito grande
				 $nomeDelRemetiente=$vetorAmostraBruto[42];//captura o nome que pode ser longo ou curto
				 //$nomeDelRemetiente="COOPERATIVA DOS PRODUTORES DE ALFACE E RUCULA DE GOIAS LTDA";
                 //ve onde tem escpaco antes da 42 letra				 
				 $tama=strlen($nomeDelRemetiente);//mede o tamanho do nome
				 $nombreFinal=$nomeDelRemetiente;//pega o nome final igual ao capturado caso o nome nao seja grande 
				 $posicaoCorte=44;//se for caixa alta entao é so 30
				 if($tama>$posicaoCorte):
				     $tama=$posicaoCorte;
	                 for($ii=1;$ii<=$tama;$ii++):
	                    if(substr($nomeDelRemetiente,$ii,1)==" ")$posicaoIntervalo=$ii; 
	                 endfor;  				 
				     $nombreFinal=substr($nomeDelRemetiente,0,$posicaoIntervalo);
                 endif;
				 $pdf->setXY($posicaox,$yInicial+5); $pdf->Cell($largura,5,utf8_decode('Requerente:'.$nombreFinal),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+10); $pdf->Cell($largura,5,utf8_decode('Espécie:'.$vetorAmostraBruto[32]),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+15); $pdf->Cell($largura,5,utf8_decode('Cultivar:'.$vetorAmostraBruto[31]),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+20); $pdf->Cell($largura,5,utf8_decode('Lote:'.$vetorAmostraBruto[2].' Peneira:'.$vetorAmostraBruto[35]),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+25); $pdf->Cell($largura,5,utf8_decode('Safra:'.$vetorAmostraBruto[34]." Categoria;".$vetorAmostraBruto[33]),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+30); $pdf->Cell($largura,5,utf8_decode('Representatividade:'.$vetorAmostraBruto[6]),0,1,'L');//natureza
			     $pdf->SetFont('Arial','',8);
				 $pdf->setXY($posicaox,$yInicial+35); $pdf->Cell($largura,5,utf8_decode('Testes:'.$vetorAmostraBruto[44]),1,1,'L');//natureza
				 $pdf->SetFont('Arial','',10);
				 //tratamento
				 $tratamento=$vetorRaioX[47];
				 $result = strrpos ($tratamento, "TRA");
                 if($result==TRUE):
				    $textoTratada='Tratada:(   )Não   ( x )Sim';
				 else:	
				    $textoTratada='Tratada:( x  )Não   (   )Sim';
				 endif; 
				 $pdf->setXY($posicaox,$yInicial+40); $pdf->Cell($largura,5,utf8_decode($textoTratada),0,1,'L');//natureza
				 //se quiser informar beneficialda entao usa $resgenerica->fic_beneficiada
                 //observacoes
				 ///////////OBSERVACOES///////////////////////
				 $nombreFinal="";
				 $nombreFinal1="";
                 $campoObservacoes="Observações:".$resgenerica->fic_observacao;//captura o nome que pode ser longo ou curto
				 //$campoObservacoes="Observações:este texto com certeza tem mais que 44 caracteres eu quro que o computador de o corte cliando duas linhas pelo que sei deve dar certo ";
				
				 $pdf->setXY($posicaox,$yInicial+44);
				 $pdf->Multicell(90,4,utf8_decode($campoObservacoes),0,'L');//natureza
				 
				 
				 
				 #######################################
				 /*
                 //codigo de barras/ou qr code
                 if($temPrevia=='SIM'): 
					 $pdf->setXY($posicaox,$yInicial+60);
					 $pdf->Cell($largura,5,utf8_decode('PRÉVIA:  '.$amostraLong.'P'),0,1,'L');//natureza
                 endif; 

                 if($temDefinitiva=='SIM'): 
					 $pdf->setXY($posicaox,$yInicial+70);
					 $pdf->Cell($largura,5,utf8_decode('DEFINITIVA:  '.$amostraLong.'D'),0,1,'L');//natureza
                 endif;				 
                */




				 
				 /////////////aqui vai tentar um barcode/////////////////////////////////////////
				 /*
				 	$pdf1 = new cria_barcode1();
	
	//INICIALIZA AS VARIÁVEIS
	$linha_atual =  0;
	$inicio	  =  0;
	
	//PÁGINAS
	$paginas=1;
	$linha_atual=10;
	$por_pagina=1;
	for($x=1; $x<=$paginas; $x++) {
	   //VERIFICA
	   $inicio	  =  $linha_atual;
	   $fim		 =  $linha_atual + $por_pagina;
	   //if($fim > $row) $fim = $row;
       $fim=1; 

	   
	   $pdf1->Open();					
	   $pdf1->AddPage();	
	   
	   $top  = 5;
	   $left = 5;		 
	  
	   //EXIBE OS REGISTROS	  
	   $codigo='7897013528156';
	   //$codigo=$amostraLong;
	   //$codigo='12000578';
	   	   //$inicio=1;$fim=3;
	   	   $inicio=1;$fim=2;
		   
	      //echo("inicio= $inicio fim=$fim   codigo=$codigo<br>");

	   for($i=$inicio; $i<$fim; $i++) {
		   //echo("teste<br>");			
		   //$pdf->EAN13($left,$top,mysql_result($sql, $i, "CO_PRODUTO"));
		   $pdf1->EAN13($left,$top,$codigo);
		   
		   $top  = $top+25;
								
		   $linha_atual++;
		   
	   }
	}
				  
	$pdf1->Output();
				*/ 
				 ////////////final do barcode/////////////////////////////////////////////////////
				 
				 
				 
				 
				 
             else:  
				 $pdf->SetFont('Arial','B',20);
				 $pdf->setXY($posicaox,$yInicial+0); $pdf->Cell($largura,5,utf8_decode('Amostra N°:').$vetorAmostraBruto[1].$cliente,0,1,'L');//natureza
				 $pdf->SetFont('Arial','',10);
				 $pdf->setXY($posicaox,$yInicial+5); $pdf->Cell($largura,5,utf8_decode('Requerente:'.$vetorAmostraBruto[42]),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+9); $pdf->Cell($largura,5,utf8_decode('Espécie:'.$vetorAmostraBruto[32]),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+13); $pdf->Cell($largura,5,utf8_decode('Cultivar:'.$vetorAmostraBruto[31]),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+17); $pdf->Cell($largura,5,utf8_decode('Lote:'.$vetorAmostraBruto[2].' Peneira:'.$vetorAmostraBruto[35]),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+21); $pdf->Cell($largura,5,utf8_decode('Safra:'.$vetorAmostraBruto[34]." Categoria;".$vetorAmostraBruto[33]),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+25); $pdf->Cell($largura,5,utf8_decode('Representatividade:'.$vetorAmostraBruto[6]),0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+29); $pdf->Cell($largura,5,utf8_decode('Testes:'.$vetorAmostraBruto[44]),1,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+33); $pdf->Cell($largura,5,'Entrada:'.date("d/m/y",strtotime($vetorAmostraBruto[36])). utf8_decode('--Previsão:').$vetorAmostraBruto[74],0,1,'L');//natureza
				 $pdf->setXY($posicaox,$yInicial+37); $pdf->Cell($largura,5,'Tratada:'.$vetorAmostraBruto[66].('  Classificada:').$resgenerica->fic_beneficiada,0,1,'L');//natureza
             endif;

			 //incrementa a contagemeixox, toda vez
             $contagemEixoX+=1;
             //se a contagem passa do numero de colunas ele cria uma linha nova
			 if($contagemEixoX>$colunas):			 
				 $contagemEixoX=1;
                 $contagemEixoY++;
             endif;  

			 //se contagemeixoy ultrapasa numero de linhas  da salto pagina
			 
			 if($contagemEixoY>$linhas && $vetorAmostraBruto[1]!=$final ):
	             $pdf->AddPage();//adicionando a primera pafina
				 $contagemEixoY=1;
             endif; 
      endwhile;   

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


?>
