<?php
//isso aqui é do horizontal
require_once(dirname(dirname(__FILE__))."/paineladm/funcoes.php");
$pathlocal = dirname(__FILE__);
$sessao = new sessao();
$nivel=$sessao->getVar('nivel');
$idLabo=$sessao->getVar('idLabo');
$idDoc=$sessao->getVar('transfere');
//$idDoc=1*$_GET["opcaoManual"];
$cliente=$sessao->getVar('cliente');
//$sessao->setVar('cliente','ADV');
//$cliente="VIGOR";


$viasMescladas=$sessao->getVar('controle7');
$digital=$sessao->getVar('digital');
$varControle1=$sessao->getVar('controle1');
if($varControle1=='branco')$imprimirBranco='SIM';
$nomeOperador=$sessao->getVar('nomeuser');
$objetocalculo = new calculos(); //calcula todos valores finais
$pdf=new FPDF('L','mm','A4'); //parametos da pagina 
			 $pdf->open();//abre o fpdf
			 //$pdf->AddPage();//adicionando a primera pafina
			 $pdf->AliasNbPages();
			 $pdf->SetFont('Arial','',12);
			 $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;
			 $alturaUtil=$maximoHAdobe-19;
			 $futer=$maximoHAdobe-10;
			 //$larguraUtil=$maximoLAdobe;
			 $cinza=220;
		     $fonte="Arial";
			 $nomeOperador=5;
			 $pdf->SetFillColor($cinza,$cinza,$cinza); 
			 //$pdf->SetFillColor(152,251,152); //deletar depois esta linha
			 if(substr($cliente,0,4)=="TS L")$pdf->SetFillColor(223,240,231); //TS LABORATÓRIO
             $inicioNumeroVia=1;
			 $via23Sempre="NAO";
			 if($varControle1=='Vias 2 e 3'):
			    $via23Sempre="SIM";
                $viasMescladas=2;
             endif;   
  //aqui vai imprimir tantas vias mescladas num so arquivo
 for($mescladas=$inicioNumeroVia;$mescladas<=$viasMescladas;$mescladas++):	 	 
     $pdf->AddPage();//adicionando a primera pafina 
     //$margemEsquerda=10;
	 $margemDireita=$maximoLAdobe-6;
	 $larguraUtil=$maximoLAdobe-16.5;
	 //largura de uma margem a outra = 281  se eu imprimo algo esta soma nao pode ultrapassar este valor
	 $larguraUtil=280.6;
	 //$cinza=220;
	 //$pdf->SetFillColor($cinza,$cinza,$cinza);
	 $grosso=0.7;
	 $medio=0.4;
	 $fino=0.3;
	 $extraFino=0.2;
	 //ESTAS COTAS SAO AS COTRAS DAS LINHAS HORINTAIS GROSSAS QUE SERVEM DE ORIGEM PARA O QUE VEM A SEGUIR
	 $cota1=5;//inicio de tudo
	 $cota1a=$cota1+27;//29 //final do cabecalho
	 $cota3=$cota1+53;//55;
	 $cota4=$cota1+82;//84;
	 $cota5=$cota1+140;//145;
	 $cota6=$cota1+144;//149;
	 $cota7=$cota1+153;//157; //estas duas cotas sao definidas aqui memsmo
     $cota8=$cota1+191;//196;  //usara 195 se for colocar o rodape na munheca, mas pode usar a funcao footer que da mais 5 milimetros
	 //LINHAS LATERAIS DO  cabecalho
	 $posicaoCab1=60;$posicaoCab2=225;
	 $pdf->SetLineWidth($grosso);
	 $pdf->Rect($margemEsquerda,$cota1+2,$larguraUtil+0.5,$alturaUtil-2);//retanculo ao redor de todo boletim horizontal
	 $pdf->Line($margemEsquerda,$cota1a,$margemDireita,$cota1a);//linha inferior	DO CABECALHO
	 $pdf->Line($posicaoCab1,$cota1+2,$posicaoCab1,$cota1a);//LINHA vertical  DO CABECALHO	
	 $pdf->Line($posicaoCab2,$cota1+2,$posicaoCab2,$cota1a);//LINHA vertical  DO CABECALHO	

     //9 LINHAS HORIZONTAIS GROSSAS 
	 $pdf->Line($margemEsquerda,$cota3,$margemDireita,$cota3);// CORPO
	 $pdf->Line($margemEsquerda,$cota4,$margemDireita,$cota4);// CORPO
	 $pdf->Line($margemEsquerda,$cota5,$margemDireita,$cota5);// CORPO
	 $pdf->Line($margemEsquerda,$cota6,$margemDireita,$cota6);// CORPO
	 $pdf->Line($margemEsquerda,$cota7,$margemDireita,$cota7);// CORPO


     ####################################CABECALHO################################################
     $vetorCabecalho=$objetocalculo->dadoslaboratorio();
	 //$pdf->Cell(30,10,'Angela',1,0,'C'); 30=largura  10=altura   angela=texto   1=com borda    0=quebra de linhya a direita      Centralizado(L,C,R) SINTAXE.....
	 $caminhoFinal="ImagensClientes/i".$idLabo.".JPG";
	 //echo("caminhofinal=$caminhoFinal<br>");
	 $pdf->Image($caminhoFinal,11,$cota1+3,48,23,'JPG');
     if($cliente=="VIGOR"):
	    $caminhoFinal="ImagensClientes/iso17025.jpg";
	    $pdf->Image($caminhoFinal,206,$cota1+3,18,18,'JPG');
	 endif;
	 //o/a didentificacao do lab
	 $pdf->SetFont('Times','B',9);
	 $pdf->setXY($posicaoCab1,$cota1+2);
	 $larguraCab=165;
	 $pdf->Cell($larguraCab,5,utf8_decode($vetorCabecalho[0]),0.5,1,'C');//lab nome

	 $pdf->setXY($posicaoCab1,$cota1+7);
	 //$pdf->Cell($posicaoCab1-$margemEsquerda);
	 $pdf->Cell($larguraCab,5,utf8_decode($vetorCabecalho[1]),0,1,'C');
	 $pdf->setXY($posicaoCab1,$cota1+12);
	 $pdf->Cell($larguraCab,5,utf8_decode($vetorCabecalho[2]),0,1,'C');
	 $pdf->setXY($posicaoCab1,$cota1+17);
	 $pdf->Cell($larguraCab,5,utf8_decode($vetorCabecalho[3]),0,1,'C');
	 $pdf->setXY($posicaoCab1,$cota1+22);
	 $pdf->Cell($larguraCab,5,utf8_decode($vetorCabecalho[4]),0,1,'C');
	 //aqui cria o vetor que todos documentos vao ter em comum(nume documento, daos do remetente, da especie/cultivar, data documento etc)
	 //$objetocalculo = new calculos(); //calcula todos valores finais
     $vetorDadosDocumento=$objetocalculo->dados_gerais_documento($idDoc);
	 if($imprimirBranco=='SIM')$vetorDadosDocumento="";
	 //SE FOR CONCEITO ELE IMPRIME UM A ESPECIE DE MARCA DAGUA////////
	 $sessao=new sessao();
	 //$cliente=$sessao->getVar('cliente');
	 if($cliente=='LAS CONCEITO'):
		 $caminhoFinalMarcaDagua="ImagensClientes/fundoConceito.png";
		 $pdf->Image($caminhoFinalMarcaDagua,60,40,180,100,'PNG');
     endif;

	 /////////
	 
	 //echo("xyyyyyyyyyyyyyyxxxxxxxxxxxxxidDocumento= $idDoc<br>");
	 
     //IMPRIME O NUMERO DO BOLETIM...
	 $pdf->SetFont('Times','',8);
	 $tama=65;
	 $posicaoCab2+=0.5;
	 if(substr($cliente,0,7)=='CELEIRO'):
    	 $pdf->SetFont('Arial','',6);
		 $pdf->setXY($posicaoCab2,$cota1+2); $pdf->Cell($tama,3,utf8_decode('1ª Via - Requerente'),0.5,1,'L',1);
		 $pdf->setXY($posicaoCab2,$cota1+5); $pdf->Cell($tama,3,utf8_decode('2ª Via - Laboratório de Análise de Sementes'),0.5,1,'L',1);
		 $pdf->setXY($posicaoCab2,$cota1+8); $pdf->Cell($tama,3,utf8_decode('3ª Via - Laboratório de Análise de Sementes Supervisor'),0.5,1,'L',1);


    	 $pdf->SetFont('Times','',8);
		 $pdf->setXY($posicaoCab2,$cota1+10);
		 $pdf->Cell($tama,7,utf8_decode('BOLETIM DE ANÁLISE DE SEMENTES'),0.5,1,'C',1);
	 
	 
	 else:
		 $pdf->setXY($posicaoCab2,$cota1+3);
		 $pdf->Cell($tama,15,utf8_decode('BOLETIM DE ANÁLISE DE SEMENTES'),0.5,1,'C',1);
	 endif;

	 
	 
	 
	 //$pdf->Ln(0);
	 //$pdf->Cell($posicaoCab2-$margemEsquerda);
	 $numDoc=$vetorDadosDocumento[1];
	 $texto=str_pad($numDoc, 4, "0", STR_PAD_LEFT);
     
	 
	 
	 $texto1=$vetorDadosDocumento[4];
	 $texto1="/".$texto1;
	 if(substr($cliente,0,10)=='QUALITESTE' ):
      	 $pdf->setXY($posicaoCab2,$cota1+12);//era 18
         $pdf->Cell($tama,6,utf8_decode('Nº: ').$texto.$texto1,0,1,'C',1);//esta linha esta boa ramadan
     else:
      	 $pdf->setXY($posicaoCab2,$cota1+16);//era 18
         $pdf->Cell($tama,10,utf8_decode('Nº: ').$texto.$texto1,0,1,'C',1);//esta linha esta boa ramadan
	 endif; 
	 
	 
	 
	 //$pdf->Ln(5);
     //AQUI VAI COLOCAR UM ENCIMENTO SENDO PARA QUALITESTE A DIFINICAO DAS VIAS
	 //$viaFinal=$sessao->getvar('controle1');


	 $pdf->SetLineWidth($medio);
     #####################DADOS DO REQUERENTE##################################################
	 $cota2=$cota1+28;
	 $larguraDaLinha=3.5;
	 $pdf->SetLineWidth($extraFino);
	 $pdf->setXY($margemEsquerda,$cota2);
     global $amostraLong;
     $amostraLong=$vetori[5];
	 $pdf->SetFont('Times','B',8);
	 //$limiteDireito=200;
     $pdf->Cell($larguraUtil,$larguraDaLinha,utf8_decode('IDENTIFICAÇÃO DO REQUERENTE').$limiteDireito ,1,1,'C',1);	
     $pdf->SetFont('Times','',8);
	 if(substr($cliente,0,7)=='CELEIRO'):
	     $pdf->SetFont('Times','',10);
	 endif;
	 $pdf->setXY($margemEsquerda,$cota2+(1*$larguraDaLinha));
     $pdf->Cell(160,$larguraDaLinha,'Requerente: '.utf8_decode($vetorDadosDocumento[0]) ,1,0,'L');
     $pdf->Cell(121,$larguraDaLinha,'RENASEM: '.$vetorDadosDocumento[6] ,1,1,'L');
	 $pdf->setXY($margemEsquerda,$cota2+(2*$larguraDaLinha));
     $pdf->Cell(281,$larguraDaLinha,utf8_decode('Endereço: '.$vetorDadosDocumento[8]),1,1,'L');
     ################IDENTIFICACAO DA AMOSTRA##################################################
     $pdf->SetFont('Times','B',8);
	 if(substr($cliente,0,7)=='CELEIRO'):
	     $pdf->SetFont('Times','',10);
	 endif;
	 $pdf->SetXY($margemEsquerda,$cota2+(3*$larguraDaLinha));
     $pdf->Cell($larguraUtil,$larguraDaLinha,utf8_decode('IDENTIFICAÇÃO DA AMOSTRA') ,1,0.5,'C',1);	

     $pdf->SetFont('Times','',8);
	 if(substr($cliente,0,7)=='CELEIRO'):
	     $pdf->SetFont('Times','',10);
	 endif;
     $nomeComum=trim($vetorDadosDocumento[2]);
	 $tama=strlen($nomeComum)*2.0;
	 if($nomeComum=="MAMONA")$tama=$tama+6;//aqui um gato pois mamona tem duas vezes a letra m e m gasta mais espaco hihihhi
	 $pdf->SetXY($margemEsquerda,$cota2+(4*$larguraDaLinha));
     $pdf->Cell(12,$larguraDaLinha,utf8_decode('Espécie:'),0,0,'L');
	 if(substr($nomeComum,0,3)=='FEI'  && substr($cliente,0,8)=='GERMINAX')$nomeComum='FEIJAO';//NO BANCO DE DADOS VAI TIL E SAI DOM DEFEITO
     $pdf->Cell($tama,$larguraDaLinha,utf8_decode($nomeComum ),0,0,'L');
     $pdf->SetFont('Times','I',8);
     $nomeCientifico=$vetorDadosDocumento[13];
	 //$nomeCentificoReduzido=$objetocalculo->nomeCientificoReduzido($nomeCientifico);
     $pdf->Cell(150,$larguraDaLinha,'('.$nomeCientifico.')' ,0,0,'L');//era 120 ate 080317

     $posicaoCultivar=172;
	 $pdf->SetXY($posicaoCultivar,$cota2+(4*$larguraDaLinha));
	 $pdf->SetFont('Times','',8);
     $pdf->Cell(65,$larguraDaLinha,'Cultivar: '.utf8_decode($vetorDadosDocumento[3]) ,1,0,'L');
     $pdf->Cell(23,$larguraDaLinha,'Safra: '.$vetorDadosDocumento[9] ,1,0,'L');
     $pdf->Cell(31,$larguraDaLinha,'Categoria: '.utf8_decode($vetorDadosDocumento[10]) ,1,1,'L');
	 $pdf->SetXY($margemEsquerda,$cota2+(5*$larguraDaLinha));
     $pdf->Cell(180,$larguraDaLinha,utf8_decode('Procedência: '.$vetorDadosDocumento[14]),1,0,'L');
     $pdf->Cell(101,$larguraDaLinha,'Data da amostragem: '.$vetorDadosDocumento[11] ,1,1,'L');
	 $pdf->SetXY($margemEsquerda,$cota2+(6*$larguraDaLinha));
     $pdf->Cell(140,$larguraDaLinha,'Nome do amostrador: '.utf8_decode($vetorDadosDocumento[5]) ,1,0,'L');
     $pdf->Cell(141,$larguraDaLinha,utf8_decode('Nº RENASEM: ').$vetorDadosDocumento[7] ,1,1,'L');
	 
	 ############RESULTADO DE ANALISE########################
	 //definir a subcotas logo apos a legenda comentada, para ser facil de achar e regurar a calibração
	 $cota3a=$cota3+14;
	 $cota3b=$cota3+26;
 
	 //so define as larguras
	 $largo[1]=13; //amostra era 20
	 $largo[2]=29;  //lote 31
	 $largo[3]=8;   //peneira era 9
	 $largo[4]=21;//representatividade era19
     //para sempre eu largo um pouco a peneira
	 if($cliente=='SEMPRE'):
		$largo[1]=13; //amostra era 20
		$largo[2]=21;  //ate dia 29/07/21 era 24                        b
		$largo[3]=16;   //peneira era 9
		$largo[4]=22;//representatividade era 19 ate 	29/07/21  
	 endif;	 
	 
	 
	 //celeiro diminui um pouco a largura do lote, aumentando a representatividade
	 if(substr($cliente,0,7)=='CELEIRO'):
		 $largo[2]=27;  //lote 18
		 $largo[4]=23;//representatividade era22
     endif; 	 
	 
	 
	 $largo[5]=10;  //era 11
	 $largo[6]=10;  //era 11 
	 $largo[7]=10;  //era 11 
	 $largo[8]=17;
	 $largo[9]=12;
	 $largo[10]=12;
	 $largo[11]=12;
	 $largo[12]=12;
	 $largo[13]=12;
	 $largo[14]=14;
	 $largo[15]=14;
	 $largo[16]=14;
	 $largo[17]=14;
	 $largo[18]=15;
	 $largo[19]=15;
	 $largo[20]=14;
	 //valores acumulados
	 $largoAcumulado[1]=$largo[1];
	 $largoAcumulado[2]=$largo[2]+$largo[3]+$largo[4];
     $largoAcumulado[3]=$largo[5]+$largo[6]+$largo[7];
     $largoAcumulado[4]=$largo[8];
     $largoAcumulado[5]=$largo[9]+$largo[10]+$largo[11]+$largo[12]+$largo[13];
     $largoAcumulado[6]=$largo[14]+$largo[15]+$largo[16]+$largo[17];
	 $largoAcumulado[7]=$largo[18]+$largo[19]+$largo[20];
	 //cria o vetor positrom que é as larguras cumuladas
	 $larguraAcumulada=$margemEsquerda;
	 for($i=1;$i<20;$i++):
       $larguraAcumulada+=$largo[$i];
       $positron[$i+1]=$larguraAcumulada;	 
	 endfor;
	 
     $cotalinha=$cota3;
     $posicao2=$margemEsquerda+$largoAcumulado[1]+$largoAcumulado[2];
	 $largura2=$larguraUtil-$largoAcumulado[1]-$largoAcumulado[2];//ele vai deduzir
	 $pdf->SetFont('Times','B',8);
	 $pdf->setXY($posicao2,$cota3);
	 //$pdf->Cell($posicao2);//sempre DEVE DEFINIR ONDE COMECA A CELULA a menos que comeca na coluna 10
     $pdf->Cell($largura2,$larguraDaLinha,'RESULTADO DE ANALISE' ,1,1,'C',1);	
	 
	 //aqui pega o numero de amostras que tem no boletim para fins de
	//fazer um casuismo interessante
	//se tem 1 so amostra ele deve pegar os pesos minimos direto da amostra
	//se tiver varia amostras ele vai pegar o peso que esta cadastrado na especie
	//ENTRA DE QUAKQUER MANEIRA
	$contaAmostrasCasuismo=0;
	$contadorOto2021=0;
	$genericaBoletim=new tabelagenerica();
	$genericaBoletim->tabela="documentosponte";
	$genericaBoletim->campos_valores = array(
			"dpo_amostra_vinculada" => NULL,
		);
	$genericaBoletim->extras_select =" where  dpo_documento_autonumerador=".$idDoc." order by dpo_amostra_vinculada LIMIT 12";
	$genericaBoletim->selecionaCampos($genericaBoletim);
	while ($resgenericaBoletimBoletim = $genericaBoletim->retornaDados()):
	    $contaAmostrasCasuismo++;
		$contadorOto2021++;
		$vetorDPO[$contadorOto2021]=$resgenericaBoletimBoletim->dpo_amostra_vinculada;
	endwhile;
    $amostraLongAleatoria=$vetorDPO[$contaAmostrasCasuismo];
    

	//se tem SO UMA AMOSTRA VAI PEGR DA AMOSTRA SE TEM MASI DE UMA PEGA Da amostra
	if($contaAmostrasCasuismo>1):
	   $pesoPureza= $vetorDadosDocumento[15];
	   $pesoOCV= $vetorDadosDocumento[18];
	   $pesoDOSN= $vetorDadosDocumento[17];
	   $pesoNocivas= $vetorDadosDocumento[16];
	else:
	   $amostraLong=$vetorDPO[1]; 
	   $vetorAmostraBruto=$objetocalculo->capturaGeralAmostra($amostraLong);//captura TUDO 
	   $pesoPureza= $vetorAmostraBruto[45];
	   $pesoOCV= $vetorAmostraBruto[49];
	   $pesoDOSN= $vetorAmostraBruto[50];
	   $pesoNocivas= $vetorAmostraBruto[51];
	endif;

	//aqui faz uma verificacao se nao foi feito pureza(PUREZA=-N-) entao coloca -O- nos pesos.
	   $amostraLong=$vetorDPO[1]; 
	   $vetorAmostraBruto=$objetocalculo->capturaGeralAmostra($amostraLong);//captura TUDO 
       if($vetorAmostraBruto[4]=='-N-'):
		   $pesoPureza= '-O-';
		   $pesoOCV= '-O-';
		   $pesoDOSN= '-O-';
		   $pesoNocivas= '-O-';
	   endif;	
	
	
	
	 
     ########SETOR DO GRANDES TITULOS DE RESULTADOS######################################
     //conteudos
	 $vetor="";//limpar o array
	 $vetor[1][2]="IDENTIFICAÇÃO DA AMOSTRA";
	 $vetor[1][4]="Verificação";
	 $vetor[2][3]="PUREZA em ".str_replace(".",",",$pesoPureza)."g";//$vetorAmostraBruto[4]=str_replace(".",",",$vetorAmostraBruto[4])
	 $vetor[2][4]="de outras";
	 $vetor[2][5]="GERMINAÇÃO";
	 $vetor[2][6]="OUTRAS SEMENTES POR";
	 $vetor[2][7]="OUTRAS DETERMINAÇÕES";



	 $vetor[3][1]="Nº da";
	 $vetor[3][3]="(%)";
	 $vetor[3][4]="cultivares";
	 $vetor[3][5]="(%)";


	 $vetor[3][6]="NÚMERO";
	 $pdf->SetLineWidth(0.5); //usar espessura 1 para testar calibraçao
	 $registros=1;//aqui ele tem que saber ja quantos registros tem
	 $pdf->SetFont('Times','B',8);
	 //$registros=$pdf->registros;
	 if($registros>12) $registros=12;
	 $limiteBola=12;
	 $cota4f=$cota4+($registros)*4.0; // linha de fechamento
	 //$pdf->setXY(10,$cotaLinha);
	 $linhas=3;
     $colunas=7;
	 
	 //imprime as 6 linhas verticais separadoras negritadas
	 $posicao=$margemEsquerda;
     for($j=1;$j<=6;$j++)
	 {
         $posicao+=$largoAcumulado[$j];
         $cotaSuperior=$cota3;
		 if($j>2)$cotaSuperior=$cota3 +4;
		 $pdf->Line($posicao,$cotaSuperior,$posicao,$cota5);//linha vertical separadore das colunas so imprime uma vez
	 }


//imprime os titulos das colunas
     $cotaLinha=$cota3; 
     for($L=1;$L<=$linhas;$L++)
	 {
    	 $posicao=$margemEsquerda;
	     $cotaLinha+=$larguraDaLinha;
    	 for($i=1;$i<=$colunas;$i++)
		 {
	    	 $pdf->setXY($posicao,$cotaLinha);
			 //if($i==2)$pdf->Cell($largo[$i],$larguraDaLinha,utf8_decode($vetor[$L][$i]),0,1,'C',1);	
			 $pdf->Cell($largoAcumulado[$i],$larguraDaLinha,utf8_decode($vetor[$L][$i]),0,1,'C');	
  			 $posicao+=$largoAcumulado[$i];
 		 }
	 }




     
	 $pdf->SetLineWidth(0.5); //usar espessura 1 para testar calibraçao
	 //$topo1=$cota3a;
     $pdf->Line(10+$largo[1],$cota3a,$margemDireita,$cota3a);//linha logo abaixo da palacra CULTIVARES	
	//////////DEFINE AS OUTRAS DETERMINACOES////////////////
	//acha daddos da determinacaoes xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	//captura os codigos das 4 posições, que inclusive pode ser zero  
	$idEspecie=$vetorDadosDocumento[28];
  		//ENTRA DE QUAKQUER MANEIRA PARA ACHAR AS DETS DESTA ESPECIE
 	 	$genericaBoletim=new tabelagenerica();
		$genericaBoletim->tabela="deteboletim";
		$genericaBoletim->campos_valores = array(
				"dbo_sigla_dete1" => NULL,
				"dbo_sigla_dete2" => NULL,
				"dbo_sigla_dete3" => NULL,
				"dbo_sigla_dete4" => NULL,
			);
		$genericaBoletim->extras_select =" where  dbo_lab=".$idLabo." && dbo_especie=".$idEspecie;
		//echo $genericaBoletim->extras_select ;
		
	    $genericaBoletim->selecionaCampos($genericaBoletim);
		while ($resgenericaBoletimBoletim = $genericaBoletim->retornaDados()):
			$sigla[1]=$resgenericaBoletimBoletim->dbo_sigla_dete1;
			$sigla[2]=$resgenericaBoletimBoletim->dbo_sigla_dete2;
			$sigla[3]=$resgenericaBoletimBoletim->dbo_sigla_dete3;
			$sigla[4]=$resgenericaBoletimBoletim->dbo_sigla_dete4;
	    endwhile;
    //vai achar na tabela de determinacoes, os titulos correspondentes para cada uma das detes
	//captura a primeira coluna das 3 determinacoes
     if($sigla[1]!=""):
		//ENTRA DE QUAKQUER MANEIRA
		$genericaBoletim->tabela="determinacoes";
		$genericaBoletim->campos_valores = array(
				"det_tit1" => NULL,
				"det_tit2" => NULL,
				"det_tit3" => NULL,
			);
		$genericaBoletim->extras_select =" where  det_sigla='".$sigla[1]."'";
		$genericaBoletim->selecionaCampos($genericaBoletim);
		while ($resgenericaBoletimBoletim = $genericaBoletim->retornaDados()):
			$vetorDete1[1]=$resgenericaBoletimBoletim->det_tit1;
			$vetorDete1[2]=$resgenericaBoletimBoletim->det_tit2;
			$vetorDete1[3]=$resgenericaBoletimBoletim->det_tit3;
		endwhile;
    endif;
	
		
	//captura a segunda coluna das 3 determinacoes
     if($sigla[2]!=""):
		//ENTRA DE QUAKQUER MANEIRA
		$genericaBoletim->tabela="determinacoes";
		$genericaBoletim->campos_valores = array(
				"det_tit1" => NULL,
				"det_tit2" => NULL,
				"det_tit3" => NULL,
			);
		$genericaBoletim->extras_select =" where  det_sigla='".$sigla[2]."'";;
		$genericaBoletim->selecionaCampos($genericaBoletim);
		while ($resgenericaBoletimBoletim = $genericaBoletim->retornaDados()):
			$vetorDete2[1]=$resgenericaBoletimBoletim->det_tit1;
			$vetorDete2[2]=$resgenericaBoletimBoletim->det_tit2;
			$vetorDete2[3]=$resgenericaBoletimBoletim->det_tit3;
		endwhile;
    endif;	
	//captura a terceiraeira coluna das 3 determinacoes
     if($sigla[3]!=""):
		//ENTRA DE QUAKQUER MANEIRA
		$genericaBoletim->tabela="determinacoes";
		$genericaBoletim->campos_valores = array(
				"det_tit1" => NULL,
				"det_tit2" => NULL,
				"det_tit3" => NULL,
			);
		$genericaBoletim->extras_select =" where  det_sigla='".$sigla[3]."'";
		$genericaBoletim->selecionaCampos($genericaBoletim);
		while ($resgenericaBoletimBoletim = $genericaBoletim->retornaDados()):
			$vetorDete3[1]=$resgenericaBoletimBoletim->det_tit1;
			$vetorDete3[2]=$resgenericaBoletimBoletim->det_tit2;
			$vetorDete3[3]=$resgenericaBoletimBoletim->det_tit3;
		endwhile;
    endif;
	



     ########SETOR DE MICRO COLUNAS DE RESULTADOS##################################################
	 $rotulos[1][1]="amostra no"; 
	 $rotulos[1][14]="Outras"; 
	 $rotulos[1][15]="Sementes"; 
	 
	 //$rotulos[1][14]="Sementes"; 
	 $rotulos[1][18]=$vetorDete1[1];#"corazon"
	 //$rotulos[1][18]='Grau de ';//especial para geminax
	 $rotulos[1][19]=$vetorDete2[1];
	 $rotulos[1][20]=$vetorDete3[1];

	 $rotulos[2][1]="Laboratório"; 
	 $rotulos[2][2]="Lote"; 
	 $rotulos[2][3]="Peneira";
	 $rotulos[2][4]="Represen-"; 
	 $rotulos[2][5]="Semente"; 
	 $rotulos[2][6]="Material"; 
	 $rotulos[2][7]="Outras"; 
	 $rotulos[2][9]="Plântulas"; 
	 $rotulos[2][10]="Plântulas"; 
	 $rotulos[2][11]="Sementes"; 
	 $rotulos[2][12]="Sementes"; 
	 $rotulos[2][13]="Sementes"; 

	 $rotulos[2][14]="Espécies"; 
	 $rotulos[2][15]="Silvestres"; 
	 $rotulos[2][16]="Toleradas"; 
	 $rotulos[2][17]="Proibidas"; 
	 
	 
	 $rotulos[2][18]=$vetorDete1[2];
	 //$rotulos[2][18]='infestacao';//especial para germinax
	 $rotulos[2][19]=$vetorDete2[2];
	 $rotulos[2][20]=$vetorDete3[2];
 



	 $rotulos[3][2]="(Nº)"; 
	 $rotulos[3][3]="";//PRNEIRA 
	 $rotulos[3][4]="tatividade";
	 $rotulos[3][5]="Pura";
	 $rotulos[3][6]="Inerte";
	 $rotulos[3][7]="Sementes";
     if($cliente=="SÃO FRANCISCO"):
	    $pesoOCV=500;//fixa ocv
	 endif;	 
	 
	 
	 $rotulos[3][8]= "Nº em ".$pesoOCV."g";//peso para o teste de outras cultivares
	 if(substr($cliente,0,7)=='CELEIRO'):
	    $rotulos[3][8]= "N° em -O-g";
     endif;
	 
	 
	 
	 		
	 $rotulos[3][9]="Normais"; 
	 $rotulos[3][10]="Anormais"; 
	 $rotulos[3][11]="Duras"; 
	 $rotulos[3][12]="Dormentes"; 
	 $rotulos[3][13]="Mortas"; 
	 $rotulos[3][14]="Cultivadas";
	 $rotulos[3][18]=$vetorDete1[3];
	 $rotulos[3][19]=$vetorDete2[3];
	 $rotulos[3][20]=$vetorDete3[3];

//situacao especial vigna em soja mas serve para aveia em trigo etc
//pode colocar a vigna m qualqeur coluna com qalquer det, desde que as  primeira 5 letras do rotulo sejam VIGNA
$posicaoDetVigna=0;

if($sigla[1]=='PM1'):
   $posicaoDetVigna=18;
endif;
if($sigla[2]=='PM1'):
   $posicaoDetVigna=19;
endif;
if($sigla[3]=='PM1'):
   $posicaoDetVigna=20;
endif;

if($nomeComum=='SOJA'):
	if($posicaoDetVigna>0):
	   //$rotulos[1][$posicaoDetVigna]='Vigna un-';
	   $rotulos[1][$posicaoDetVigna]="Vigna un-";
	   $rotulos[2][$posicaoDetVigna]='guiculata';
	   $rotulos[3][$posicaoDetVigna]="Nºem". $pesoNocivas."g";
	endif;
endif;

 if($nomeComum=='TRIGO'  || $nomeComum=='TRIGO DURO'   || $nomeComum=='TRITICALE'  || $nomeComum=='CENTEIO' || $nomeComum=='CEVADA' ):
	if($posicaoDetVigna>0):
	   $rotulos[1][$posicaoDetVigna]='Aveias';
	   $rotulos[2][$posicaoDetVigna]="Nºem" .$pesoDOSN."g";
	   $rotulos[3][$posicaoDetVigna]="";
	endif;
 endif;

 if($nomeComum=='AVEIA PRETA'):
	if($posicaoDetVigna>0):
	   $rotulos[1][$posicaoDetVigna]='Outras';
	   $rotulos[2][$posicaoDetVigna]='aveias';
	   $rotulos[3][$posicaoDetVigna]="Nºem" .$pesoDOSN."g";
	endif;
 endif;

 // adv cadastrou uma especie estrnaha AVEIA-BRANCA OU AVEIA-AMARELA
 //$rotulos[2][20]="NC=".$nomeComum . " PDV=".$posicaoDetVigna . "s" .$sigla[3];
 if($nomeComum!='AVEIA PRETA' && substr($nomeComum,0,5)=='AVEIA'):
	if($posicaoDetVigna>0):
	   //$rotulos[2][20]="NCU=".$nomeComum . " PDV=".$posicaoDetVigna . "s" .$sigla[3];
	   $rotulos[1][$posicaoDetVigna]='Avena';
	   $rotulos[2][$posicaoDetVigna]='strigosa';
	   $rotulos[3][$posicaoDetVigna]="Nºem" .$pesoDOSN."g";
	endif;
 endif;


 if($nomeComum=='ARROZ'):
	if($posicaoDetVigna>0):
	   $rotulos[1][$posicaoDetVigna]='Outros';
	   $rotulos[2][$posicaoDetVigna]='arroz';
	   $rotulos[3][$posicaoDetVigna]="Nºem" .$pesoNocivas."g";
	endif;
 endif;




//$vetorDete1[1]=$nomeComum;
//$vetorDete1[1]="xxx";
//$rotulos[1][18]=$nomeComum.$posicaoDetVigna;

     //aqui tem que ter cuidado pois alinha 4 nao existem dados ou senha nada sera impresso mas ela vai garar um espaco para eu colocar nymero em........

//aqui vai imprimir as alinhas separadoras finas
	 $pdf->SetLineWidth(0.2); //usar espessura 1 para testar calibraçao
     $posicao=$margemEsquerda;       
	 for($i=1;$i<=20;$i++):
	     //ele nao vai imprimir todas as linhas pois as linhas verticasi no setor de outras sements por numero sao segmentadas e sao tratadas adiante
	     if($i<15 || $i>17)$pdf->Line($posicao,$cota3a,$posicao,$cota5);
	     $posicao+=$largo[$i];
     endfor;  	 


//vai imprimir rotulos
	 $pdf->SetFont('Times','',7);
	 $cotaLinha=$cota3a;
	 $alturaMinima=3;
     for($L=1;$L<=4;$L++):
         $posicao=$margemEsquerda;       
    	 for($i=1;$i<=20;$i++):
			 $pdf->setXY($posicao,$cotaLinha);
			 //se uma das 3 dets for vigna entao ele passa o rotulo para italico(vigna ficou convencionada ser ZX1)
			 if($posicaoDetVigna==$i):
			   $pdf->SetFont('Times','I',7);
			   $pdf->Cell($largo[$i],$alturaMinima,utf8_decode($rotulos[$L][$i]),0,1,'C');	
               $pdf->SetFont('Times','',7);
			 else:
			   $pdf->Cell($largo[$i],$alturaMinima,utf8_decode($rotulos[$L][$i]),0,1,'C');	
			 endif;
 	    	 $posicao+=$largo[$i];
		 endfor;
 	     $cotaLinha+=$alturaMinima;

     endfor;

     //joga os numeros para a linha 4 
	 for($i=1;$i<=16;$i++):
			 $pdf->setXY($positron[$i+4],$cotaLinha);
			 $pdf->Cell($largo[$i+4],$alturaMinima,$i,0,1,'C');	
	 endfor;







     $pdf->Line($positron[5],$cota3b,$margemDireita,$cota3b);//horizontal acima dos numeros das colunas	
	 //aqui colcoa os traçoes da quele setor de OUTRAS SEMENTRAS POR NUMERO umas s legendas e o escambau
	 //$pdf->SetLineWidth($grosso);
	 //valor de xfajuto definido acima é 225
	 $cota3a1=$cota3a+9;//era 9 pus 8
	 $cota3a2=$cota3a+3.5;//cota abaixo da frase: sementes nocivas
     //so linhyas veticais agora 
	 $pdf->Line($positron[15],$cota3a,$positron[15],$cota3a1);//linha vertical separadora  pequena em cima              	 
	 $pdf->Line($positron[15],$cota3b,$positron[15],$cota5);//linha vertical separadora    maior embaixo até a cota 5            	 
	 $pdf->Line($positron[17],$cota3a2,$positron[17],$cota3a1);//linha vertical    segmento pequeno abaixo de sementes  nocivas          	 
	 $pdf->Line($positron[17],$cota3b,$positron[17],$cota5);//linha vertical separadora    maior embaixo até a cota 5    
	 //imprime uma linha grossa vertical  fajuta que tem depois da sexta linha separadora
	 $pdf->SetLineWidth($medio);
     $pdf->Line($positron[16],$cota3a,$positron[16],$cota5);//linha vertical separadore das colunas so imprime uma vez
	 $pdf->SetLineWidth($fino);
     //so linhyas horizontais agora 
     //Aqui as 3 legendas.............
     if($cliente=="SÃO FRANCISCO"):
	    $pesoDOSN=500;//peso para o teste DOSN   //"Nº em....g";  aqui dosn
	    $pesoNocivas=1000;//peso para o teste nocivas   //"Nº em....g";  aqui nocivas
	 endif;




	 $primeiroNumero="Nº em ".$pesoDOSN."g";//peso para o teste DOSN   //"Nº em....g";  aqui dosn
	 $segundoNumero="Nº em ".$pesoNocivas."g";//peso para o teste nocivas   //"Nº em....g";  aqui nocivas
   

   
   

	 $alturaDaLinha=3.0;
	 $pdf->SetLineWidth($fino);
	 $pdf->setXY($positron[16],$cota3a);
	 $pdf->Cell(28,$alturaDaLinha,'Sementes nocivas',1,0,'C');
	 $pdf->setXY($positron[14],$cota3a1);
	 $pdf->Cell(28,$alturaDaLinha,utf8_decode($primeiroNumero),1,0,'C');
	 $pdf->setXY($positron[16],$cota3a1);
	 $pdf->Cell(28,$alturaDaLinha,utf8_decode($segundoNumero),1,0,'C');	
	 
	 
	 #################vai imprimir resultados##########################################
//aqui vou preparar o vetor de resultados/amostras
//captura o numero de registros e as id das amostras atraves da leitura da tabela documentosponte amarrada com a id do documento
//ENTRA DE QUAKQUER MANEIRA
//echo("3xxxxxxxxxxxxxxidDocumento= $idDoc<br>");

$genericaBoletim=new tabelagenerica();
$genericaBoletim->tabela="documentosponte";
$genericaBoletim->campos_valores = array(
		"dpo_amostra_vinculada" => NULL,
	);
$genericaBoletim->extras_select =" where  dpo_documento_autonumerador=".$idDoc." order by dpo_amostra_vinculada LIMIT 12";

//echo("eeeeexxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeerro $genericaBoletim->extras_select <br>");
$genericaBoletim->selecionaCampos($genericaBoletim);
$contaAmostras=0;
while ($resgenericaBoletim = $genericaBoletim->retornaDados()):
    $contaAmostras++;
	$vetorDPO[$contaAmostras]=$resgenericaBoletim->dpo_amostra_vinculada;
endwhile;
//echo("4xxxxxxxxxxxxxxidDocumento= $idDoc  contaAmostras =$contaAmostras $vetorDPO[1]<br>");

$indiceVetorNomesContaminantes=1;
//zera o vetor que vai carrgar os contaminantes
$base="";//limpa o array
$base[1][1]="OUTRAS SEMENTES POR NÚMERO(Identificação e nº de sementes):";


//pega dados da tabela ficha preenchendo o vetor  RESULTADOS, pois ja te as id das amostras
//ENTRA DE QUAKQUER MANEIRA
$vetorFinalMiFilho[1]='';//pega material inerte sem repetir
$contaMI=0;

$L=1;

$L=0;//gato


//$naturezaMatInerte="-O-";
$genericaBoletimAmo=new tabelagenerica();

//linha pegapega  nao apagar isso
//while($L<=$contaAmostras):
while($L<=$contadorOto2021):
    //$L++;  

    $naturezaMatInerte="";
    
	$amostraLong=$vetorDPO[$L]; 
	$churrio="AL=".$amostraLong ." L=".$L;
	
    //captura todos campos da tabela ficha
    $genericaBoletimAmo->tabela="ficha";
    $genericaBoletimAmo->campos_valores = array(
		"fic_amostra" => NULL,
		"fic_amostra_previa" => NULL,
        "fic_ano"     => NULL,
        "fic_lote"     => NULL,
        "fic_repre_quant"     => NULL,
        "fic_repre_unid"     => NULL,
        "fic_peneira"     => NULL,
		"fic_outrascultivares"=>NULL,
		"fic_dt_entrada"=>NULL,
		"fic_analise_reanalise"=>NULL,
	);
	$amostraLongBinaria=$amostraLong;

    //$amostraLong=75865;
	$genericaBoletimAmo->extras_select =" where fic_id=".$amostraLong;
	$genericaBoletimAmo->selecionaCampos($genericaBoletimAmo);
	$qtdEspecieExcecao=0;//na tirar isso pois faz parte da in45
	
	while ($resgenericaBoletimAmo = $genericaBoletimAmo->retornaDados()):
		$vetorAmostraBruto=$objetocalculo->capturaGeralAmostra($amostraLong);//captura TUDO 
		if($imprimirBranco=='SIM')$vetorAmostraBruto="";
		$amostraDefini=$resgenericaBoletimAmo->fic_amostra;
		$amostraPrevia=$resgenericaBoletimAmo->fic_amostra_previa;
		if($amostraDefini>0):
		   $amostraValendo=$amostraDefini;
        else:  		   
		   $amostraValendo=$amostraPrevia;
		endif; 
		
		$statusAnaliseReanalise= $resgenericaBoletimAmo->fic_analise_reanalise;//1=analise  2=reanalise
		$amostraRaizContaminante="Amostrax:" .$amostraValendo."/".substr($resgenericaBoletimAmo->fic_ano,2,2);
		//$pdf->setXY(175,180+$L*5);
		//$pdf->cell(50,5,"bofe793= caso=".$caso. ' L=' .$L,1,1);
	
	
	
	
	    $iniciando="SIM";	
		$protocolo=$amostraValendo;
		if(substr($cliente,0,7)=='CELEIRO'):
		     $protocoloZeros=str_pad($protocolo, 4, "0", STR_PAD_LEFT);
		else:
		     $protocoloZeros=str_pad($protocolo, 5, "0", STR_PAD_LEFT);
		endif;
		//$protocoloZeros=str_pad($protocolo, 5, "0", STR_PAD_LEFT);
		$vetorResultados[$L][1]=$protocoloZeros."/".substr($resgenericaBoletimAmo->fic_ano,2,2);//numero da amostra/ANO
		
		
		//$vetorResultados[$L][1]=$resgenericaBoletimAmo->fic_amostra."/".substr($resgenericaBoletimAmo->fic_ano,2,2);//numero da amostra/ANO
		
	    //$vetorResultados[$L][2]=$vetorAmostraBruto[2].$churrio;//lote
	    $vetorResultados[$L][2]=$vetorAmostraBruto[2];//lote
		$amostraLongBinaria=$amostraLong;
	$contaAmostrasBinaria=$contaAmostras;
	$valordeL=$L;
		
		
		
		
		
	    $vetorResultados[$L][3]=$vetorAmostraBruto[35];//peneira
	    $vetorResultados[$L][4]=$vetorAmostraBruto[6];//  representatividade
		$vetorResultados[$L][8]=$vetorAmostraBruto[15];//outras cultivares
////////////////////////captura outras determinacoes//////////////
	    //ENTRA DE QUAKQUER MANEIRA PARA ACHAR OS VALORES GRAVADOS PARA AS DETS SE NAO ACHA A DET JA CRIA O REGISTRO E COLOCA -N-
	    $valorDeful="-N-";
		///se o cliente é tabajara ou se é rio grande do sul entao preeenche com -O-///////
	    $sessao=new sessao();
	    //$cliente=$sessao->getVar('cliente');
		$clientePedaco=substr($cliente,0,2);
		//DIA 030920 TABAJARA FOI O PRIMEIRO QUE ME PEDIU PARA MUDAR DE -0- PARA -N-
	    //if($clientePedaco=="TS" || $clientePedaco=="AD" || $clientePedaco=="DI" )$valorDeful="-O-";   //para o tabajara vale tudo
	    //if($clientePedaco=="AD" || $clientePedaco=="DI" )$valorDeful="-O-";   //para o tabajara vale tudo
		//no boletim horizontal sao 3 detes
 	 	for($indi=1;$indi<=3;$indi++):
		    $indice=17+$indi;
			//AQUI VAI PEGAR DA REAN
			$vetorResultados[$L][$indice]=$valorDeful;//se ele nao achar nada entao poe -N-
			$genericaBoletim=new tabelagenerica();
			$genericaBoletim->tabela="rean1";
			$genericaBoletim->campos_valores = array(
					"rea_v1" => NULL,
                    "rea_v2" => NULL,
					"rea_boletim" => NULL,
				);
			$genericaBoletim->extras_select =" where rea_teste='".$sigla[$indi]."' &&  rea_ficha=".$amostraLong;
			//echo $genericaBoletim->extras_select ;
		    $genericaBoletim->selecionaCampos($genericaBoletim);
			
			while ($resgenericaBoletim = $genericaBoletim->retornaDados()):
				//$vetorResultados[$L][$indice]=$resgenericaBoletim->rea_v1;
				$ocultarOD=$resgenericaBoletim->rea_boletim;
                $valorResultadoOD=$resgenericaBoletim->rea_v1; 
                //se quer que apareca viabilidade no TZO entao vai pegar o v2 mas se quiser os dois a gente adapta para o segundo quer o lab
				if($cliente=='VIGOR'  && $sigla[$indi]=="TZO"):
				   $valorResultadoOD=$resgenericaBoletim->rea_v2; 
				endif;
				if($ocultarOD=='N'):
        			$valorResultadoOD='-N-';
   		        endif;
				//$valorResultadoOD=$sigla[$indi];
				$vetorResultados[$L][$indice]=$valorResultadoOD;
				//$vetorResultados[$L][$indice]="kk";
				
				
		    endwhile;
        endfor;//final do for que vasculha os testes nas colunas 14,15,16 e 17 outras determinacoes

		
///////////////////////final de captura outras determinacoes//////////
	//$dataEntrada=$resgenericaBoletim->fic_dt_entrada;//data entrada
	endwhile;

    //captura todos campos de pureza
		$sementesPuras=$vetorAmostraBruto[4];//puras
		//$vetorResultados[$L][5]=$resgenericaBoletim->rea_v1;//puras
		if(is_numeric($vetorAmostraBruto[4])) $vetorAmostraBruto[4]=str_replace(".",",",$vetorAmostraBruto[4]);//tira o ponto e coloca virgula
		$vetorResultados[$L][5]=$vetorAmostraBruto[4];//puras
		$quantidadeInerte=$vetorAmostraBruto[17];//captura este valor para zerar o campo natureza do material inerte
		if(is_numeric($vetorAmostraBruto[17])) $vetorAmostraBruto[17]=str_replace(".",",",$vetorAmostraBruto[17]);//tira o ponto e coloca virgula
		$vetorResultados[$L][6]=$vetorAmostraBruto[17];//inertte
		if(is_numeric($vetorAmostraBruto[18])) $vetorAmostraBruto[18]=str_replace(".",",",$vetorAmostraBruto[18]);//tira o ponto e coloca virgula
		$vetorResultados[$L][7]=$vetorAmostraBruto[18];//outras sementes
		//str_replace(",",".",$atglido);
		
		
		
		
		
		
		
		
        $naturezaEncontradaNaAmostra=$vetorAmostraBruto[19];//natureza do material inerte
		
	////////////////////
	///concatena todos mat. inete que foram encontrdo em todas amostras sem repetir//////////////////
    //limpar o vetor 	
    for($mi=1;$mi<=15;$mi++):
       $vMI[$mi]="";
	endfor;
	//vao formar um vetor com os itens concatenados de cada amostra
    list($vMI[1],$vMI[2],$vMI[3],$vMI[4],$vMI[5],$vMI[6],$vMI[7],$vMI[8],$vMI[9],$vMI[10],$vMI[11],$vMI[12],$vMI[13],$vMI[14],$vMI[15])=explode(";",$naturezaEncontradaNaAmostra) ;
    $limite=sizeof($vMI);
	//cria o vetor fihho so agregando os itens novos, que ainda nao tem no vetro filho
    for($mi=1;$mi<=$limite;$mi++):
	
	  $testado=$vMI[$mi];
      if(in_array($testado,$vetorFinalMiFilho)):
	  else:
        $contaMI++;
        $vetorFinalMiFilho[$contaMI]=$testado;
	  endif;			
	endfor;
	//joga na variavel concatenada
    for($mi=1;$mi<=$contaMI;$mi++):
		$naturezaMatInerte=$naturezaMatInerte.$vetorFinalMiFilho[$mi].";";
    endfor;
	//aqui ele colocava -O-;; e ficava estranho isso no boletim, mas pode ser que na amostra tenha aparecido uma delas com -O-
	if(substr($naturezaMatInerte,0,3)=='-O-' && strlen($naturezaMatInerte)<6):
	    $naturezaMatInerte='-O-';
	endif;	
	
	///////////////////	
 
   
       //captura todos campos de germinacao do objetocalculo		
		$vetorResultados[$L][9]=$vetorAmostraBruto[3];//normais
		$infecionadas=$vetorAmostraBruto[40];	 
        $deformadas=$vetorAmostraBruto[11];	 
        $totalAnormais=$infecionadas+$deformadas;
		//ANOMAIIS=DEFORMADAS + INFEC, MAS SE NORMAIS =-N- AS ANORMAIS SEGUEM
		if($vetorAmostraBruto[3]=="-N-")$totalAnormais=$vetorAmostraBruto[3];
		$vetorResultados[$L][10]=$totalAnormais;//anormais
		$vetorResultados[$L][11]=$vetorAmostraBruto[12];//duras 
		$vetorResultados[$L][12]=$vetorAmostraBruto[13];//dormentes
		$vetorResultados[$L][13]=$vetorAmostraBruto[14];//mortas
		$dataTesteGerm=$vetorAmostraBruto[52];//data teste
		//$dataTesteGerm=date("d/m/y",strtotime($dataTesteGerm));//inverte a data
		$duracao=$vetorAmostraBruto[53];//duracao
		if(substr($cliente,0,7)=='CELEIRO'):
		   $duracao=' 5 dias';//duracao
        endif; 		
		$substrato=$vetorAmostraBruto[54];//substrato
		$temperatura=$vetorAmostraBruto[56];//temper
		$tratamento=$vetorAmostraBruto[55];//tratamento

	//TRABALHA COM OS CONTAMINANTES  primeiro somente calculando o total por grupo
     $caso=0; 
	 $somaOE=0;
	 $somaSI=0;
	 $somaTO=0;
	 $somaPR=0;
     $somaTodasExcecoes=0;
	 if($sementesPuras=='-N-'):
		 $vetorResultados[$L][14]='-N-';//oesp
		 $vetorResultados[$L][15]='-N-';//silv
		 $vetorResultados[$L][16]='-N-';//noct
		 $vetorResultados[$L][17]='-N-';//nocp
		 $vetorResultados[$L][$posicaoDetVigna]='-N-';//coluna excecao 
     else:
		 $vetorResultados[$L][14]='0';//oesp
		 $vetorResultados[$L][15]='0';//silv
		 $vetorResultados[$L][16]='0';//noct
		 $vetorResultados[$L][17]='0';//nocp
		 //aqui traz zero para coluna vigna um inicializador
		 $vetorResultados[$L][$posicaoDetVigna]=0;//coluna excecao
	 endif;
	 //$vetorResultados[$L][15]='962';
	 
	 
		   
	 //ENTRA DE QUAKQUER MANEIRA
     $genericaBoletim->tabela="invasoras,contaminantes";
	 $genericaBoletim->campos_valores = array(
			"inv_qtd" => NULL,
			"inv_codigo" => NULL,
			"con_nome_cientifico" => NULL,
			"inv_codigo" => NULL,
		);
     $genericaBoletim->extras_select =" where inv_codigo!='5FRA' AND con_id=inv_cod_praga and inv_amostra=".$amostraLong. " order by inv_codigo";
     $genericaBoletim->selecionaCampos($genericaBoletim);
	 $caso=0;
	 $contamAcum="";
	 $textoTeste="";
	 $alturaPraga=165;
     $tipoContaminanteAnterior="@";
	 $oto=0;
	 $controleOESP="zerado";
     while ($resgenericaBoletim = $genericaBoletim->retornaDados()):
	    $qtd=$resgenericaBoletim->inv_qtd;
	    //$nomeCientificoComQuantidade=$resgenericaBoletim->con_nome_cientifico.'('.$qtd.')';
		$oto++;
		$vetorOto[$oto]=$nomeCientificoComQuantidade;
        $praga= $resgenericaBoletim->con_nome_cientifico;
		$pragaNova='SIM';
		
		if($resgenericaBoletim->inv_codigo!=$tipoContaminanteAnterior):
          $tipoContaminanteAtual= $resgenericaBoletim->inv_codigo;
		  $tipoContaminanteAnterior=$tipoContaminanteAtual;
		  //para forcar a implantacao do novo codigo/tipo
		  if($caso>1):
            $caso=1;		  
		  endif;	
	    endif;

		//aqui vai fazer a exceção relativa a in45 conforme instrucao LASORS E LASOMG 
	    if($resgenericaBoletim->inv_codigo=="1OES"):
	       $qtdEspecieExcecao=0;
		   if($nomeComum=='SOJA'):
 		     if(substr($praga,0,5)=='Vigna'):
			    $qtdEspecieExcecao=$resgenericaBoletim->inv_qtd;
			    $conteudoEspecialExcessao=$resgenericaBoletim->con_nome_cientifico;
             endif; 
           elseif(substr($nomeComum,0,5)=='ARROZ')://ja inclui o 3 tipos de arroz do boletim
             //$praga= $resgenericaBoletim->con_nome_cientifico;
		     if(substr($praga,0,5)=='Oryza')://ja inclui qualquqr uma dos contaminantes de arroz
			    $qtdEspecieExcecao+=$resgenericaBoletim->inv_qtd;
			    $conteudoEspecialExcessao=$resgenericaBoletim->con_nome_cientifico;
             endif; 
		   //SE FOR QUALQUER AVEIA MAS NAO FOR AVEA PRETA	 
           elseif(substr($nomeComum,0,5)=='AVEIA' &&  $nomeComum!='AVEIA PRETA' )://ja inclui o 3 tipos de arroz do boletim
             //$praga= $resgenericaBoletim->con_nome_cientifico;
		     if(substr($praga,0,14)=='Avena strigosa')://inclui  contaminantes avei apreta
			    $qtdEspecieExcecao+=$resgenericaBoletim->inv_qtd;
			    $conteudoEspecialExcessao=$resgenericaBoletim->con_nome_cientifico;
             endif; 
   
            elseif($nomeComum=='TRIGO' ||$nomeComum=='TRIGO DURO' || $nomeComum=='TRITICALE' || $nomeComum=='CENTEIO' || $nomeComum=='CEVADA')://ja inclui o 3 tipos de arroz do boletim
             //$praga= $resgenericaBoletim->con_nome_cientifico;
		     if(substr($praga,0,5)=='Avena')://inclui  contaminantes avei apreta
			    $qtdEspecieExcecao+=$resgenericaBoletim->inv_qtd;
			    $conteudoEspecialExcessao=$resgenericaBoletim->con_nome_cientifico;
             endif; 
           elseif(substr($nomeComum,0,11)=='AVEIA PRETA')://ja inclui o 3 tipos de arroz do boletim
             //$praga= $resgenericaBoletim->con_nome_cientifico;
		     if(substr($praga,0,5)=='Avena')://ja inclui qualquqr uma dos contaminantes de arroz
			    $qtdEspecieExcecao+=$resgenericaBoletim->inv_qtd;
			    $conteudoEspecialExcessao=$resgenericaBoletim->con_nome_cientifico;
             endif; 
             

           else://aqui vem as que nao forem excessao
		     //SE NAO FOR NENUMA DAS EXCEÇÕES ACIMA ENTAO SOMA NORMAL
           endif;//FINAL DOS TESTES PARA CADA ESPECIE 
	       $somaOE+=$resgenericaBoletim->inv_qtd;
           $somaTodasExcecoes+=$qtdEspecieExcecao;
		   
	       //ja vai jogar o conteuso de oesp////////////////////////
           //ja vai jogar o conteuso de oesp////////////////////////
		   
		    //$caso=0;
			//$pdf->setXY(120,180+$L*5);
			//$pdf->cell(50,5,"bofe OESP= caso=".$caso. ' L=' .$L,1,1);
		    if($caso==0)://caso zero iniciando significa colocar o numero da amostra
			   $indiceVetorNomesContaminantes++;
	           $base[$indiceVetorNomesContaminantes][1]=$amostraRaizContaminante;
	           $caso=1;
	        endif;               

		    if($caso==1 && $pragaNova=='SIM')://caso zero iniciando significa colocar o numero da amostra
			   $praga= "[".$praga."]";
			   $pv=$posicaoDetVigna-4;
			   if($qtdEspecieExcecao>0):
				 $indiceVetorNomesContaminantes++;
			     $contaminanteAcumulado= $pv.'-'.$praga.'('.$qtd.')';
	             $base[$indiceVetorNomesContaminantes][1]=$contaminanteAcumulado;
	           else://se nao for excessao...
			   //esta parte é adaptada
			   if(strlen($base[$indiceVetorNomesContaminantes][1])>50):
				$indiceVetorNomesContaminantes++;
				//$oespAcumulado="10-".$praga.'('.$qtd.')';
                $oespAcumulado="10-".$praga.'('.$qtd.')';
				$base[$indiceVetorNomesContaminantes][1]=$oespAcumulado;
               else://se o comprimento nao for maior que 60
			    if($controleOESP=='zerado'):
				    $oespAcumulado="10-".$praga.'('.$qtd.')';
				    $indiceVetorNomesContaminantes++;
				    //$contamAcum=$base[$indiceVetorNomesContaminantes][1].$praga.'1072('.$qtd.')';
					$base[$indiceVetorNomesContaminantes][1]=$oespAcumulado;
			        $controleOESP='naozerado';
                else:
				    $oespAcumulado=$oespAcumulado. $praga.'('.$qtd.')'; 
					$base[$indiceVetorNomesContaminantes][1]=$oespAcumulado;
			        //$controleOESP=='naozerado'):
				endif;
                //SE FOR MAIOR ELE CRIA NOVA LINHA
	           endif;
			   //fim da parte adaptada
			   //esta parte funciona mas cria varias linhas
				 //$indiceVetorNomesContaminantes++;
			    // $contaminanteAcumulado="10-".$praga.'('.$qtd.')';
	             //$base[$indiceVetorNomesContaminantes][1]=$contaminanteAcumulado;
				 
				 
				 
				 
	           endif;  
	           //$inicaindo="NAO";
	           $pragaNova='NAO';
	        endif; //testa se é caso 1              

	       	 if($sementesPuras=='-N-'):
		         $vetorResultados[$L][$posicaoDetVigna]='-N-';
	             $vetorResultados[$L][14]='-N-';;
		     else:
		         $vetorResultados[$L][$posicaoDetVigna]=$somaTodasExcecoes;
	             $vetorResultados[$L][14]=$somaOE-$somaTodasExcecoes;
			 endif;
		endif;//TESTOU SE É OESP

        //TRABALHA OS DEMAIS TIPOS///////////////////////////////////
        //TRABALHA OS DEMAIS TIPOS///////////////////////////////////
        //TRABALHA OS DEMAIS TIPOS///////////////////////////////////
        //TRABALHA OS DEMAIS TIPOS///////////////////////////////////
	    if($tipoContaminanteAtual!="1OES"):
		    //$pdf->setXY(120,180+$L*5);
			//$pdf->cell(50,5,"bofe<>OESP= caso=".$caso. ' L=' .$L,1,1);
		
		    if($resgenericaBoletim->inv_codigo=="2SIL"):
			   $somaSI+=$resgenericaBoletim->inv_qtd;
			   $colunaEspecial="11-";
			endif;   
		    if($resgenericaBoletim->inv_codigo=="3NOT"):
			   $somaTO+=$resgenericaBoletim->inv_qtd;
			   $colunaEspecial="12-";
			endif;   
		    if($resgenericaBoletim->inv_codigo=="4NOP"):
			   $somaPR+=$resgenericaBoletim->inv_qtd;
			   $colunaEspecial="13-";
		    endif;		
	        $vetorResultados[$L][15]=$somaSI;
		    $vetorResultados[$L][16]=$somaTO;
		    $vetorResultados[$L][17]=$somaPR;
	////////////////////////////
	        //AQUI NAO TEM AS EXCECOES MAS VOU CRIAR CASO 2 PARA CONCATENAR 
		    if($caso==0)://caso zero iniciando significa colocar o numero da amostra
			   $indiceVetorNomesContaminantes++;
	           $base[$indiceVetorNomesContaminantes][1]=$amostraRaizContaminante;
	           $caso=1;
	        endif;               

		    $praga= "[".$praga."]";
		    if($caso==1 && $pragaNova=='SIM')://caso zero iniciando significa colocar o numero da amostra
			   $indiceVetorNomesContaminantes++;
	           $base[$indiceVetorNomesContaminantes][1]=$colunaEspecial.$praga.'('.$qtd.')';
	           $pragaNova='NAO';
               $caso=2;
	        endif;               

		    if($caso==2 && $pragaNova=='SIM')://caso zero iniciando significa colocar o numero da amostra
		    //if($pragaNova=='SIM')://caso zero iniciando significa colocar o numero da amostra
              if(strlen($base[$indiceVetorNomesContaminantes][1])>50):
				$indiceVetorNomesContaminantes++;
				$base[$indiceVetorNomesContaminantes][1]=$colunaEspecial.$praga.'('.$qtd.')';
              else:
			    $contamAcum=$base[$indiceVetorNomesContaminantes][1].$praga.'('.$qtd.')';
				$base[$indiceVetorNomesContaminantes][1]=$contamAcum;
                //SE FOR MAIOR ELE CRIA NOVA LINHA
				if(strlen($base[$indiceVetorNomesContaminantes][1])>60):
				   //$indiceVetorNomesContaminantes++;
				endif;
	          endif;
	           $pragaNova='NAO';
               $caso=2;
	        endif; 



        endif;//TESTA SE É TIPO DIFERENTE DE OESP
	 endwhile;//LOOP DA CONTAMONANTES



//teste sao teome dos contaminantes
$cotaOto=160;
for($oto=1;$oto<=8;$oto++):
$cotaOto+=2;
      $pdf->setXY(130,$cotaOto);
	  //$pdf->Cell(100,5,"kkk" .$vetorOto[$oto],0,0);
endfor;

	 
	 
     //$vetorResultados[$L][14]=$somaOE-$qtdEspecieExcecao;//in45 julio garcia 05/10/2020
     //se nao fez pureza ele deve colocar -N- nos camos das nocivas e outra especies


	 //SE FOR PARA IMPRIMIR EM BRANCO
	if($imprimirBranco=='SIM'):
			 $vetorResultados[$L][14]='';
			 $vetorResultados[$L][15]='';
			 $vetorResultados[$L][16]='';
			 $vetorResultados[$L][17]='';
	endif;
    //aqi vai colocara -N- nas colunas se fora REANALISE
	if($statusAnaliseReanalise=="2"):
 	   $vetorResultados[$L][5]='-N-';//puras
 	   $vetorResultados[$L][6]='-N-';//mi
 	   $vetorResultados[$L][7]='-N-';//os
 	   $vetorResultados[$L][8]='-N-';//outras cultivares
 	   $vetorResultados[$L][14]='-N-';//oesp
 	   $vetorResultados[$L][15]='-N-';//silv
 	   $vetorResultados[$L][16]='-N-';//nt
 	   $vetorResultados[$L][17]='-N-';//np
	
	endif;
$L++;//incrementa o valor de L ate chegar ao numero de registros
endwhile; //aqui termina o while que pega todas id  //colecou na linha pegapega



if($imprimirBranco=='SIM')$base="";





	 //resultaso sao impressoas a partr da cota 4
	 $pdf->SetFont('Times','',8);
	 if(substr($cliente,0,7)=='CELEIRO') $pdf->SetFont('Times','',10);
	 $cotaLinha=$cota4+0.5;//define o começo da impressao de resultados , apenas para naoa ficar em cima da  linha divisoria muito grossa
	 $alturaLinhaResultados=4.1;//define a largura das linhas de resultados
     $pdf->setXY(10,$cotaLinha);
	 //$pdf->SetLineWidth(0.2); //usar espessura 1 para testar calibraçao
	 //echo("registrosxxxxxxxxxxxxxxx=$registros<br>");
	 //vai ordenar o array
	 // Compara se $a é maior que $b
	 //eu nao posso chamar duas vezes a funcao entao mescladas deve valer 1 e apenas 1
	 if($mescladas==1):
		function cmp($a, $b) {
			return $a[1] > $b[1];
		}
	 endif;

	// Ordena
	usort($vetorResultados, 'cmp');


///////////////////////////////////############################################### 	
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
/////aqui imprime os resultados //////////////////////////////////////////////////
     $pdf->SetFont('Times','',8);
	 
	 //$contaAmostras=2;	
     for($L=1;$L<=$contaAmostras;$L++):
	     $pdf->setXY($margemEsquerda,$cotaLinha);
    	 for($i=1;$i<=20;$i++)
		 {
		     $conteudo=trim($vetorResultados[$L][$i]);
			 if($i==2):
    		     //$conteudo=trim($vetorResultados[$L][$i]);			 
			 endif;
		     //Para imprimir o lote num tamanho de letra menor  atendendo germinax
			 $alinhamento='C';
			
             if($i==2):
				$pdf->SetFont('Times','',7);
			    //$alinhamento='L';
				if($cliente=="SÃO FRANCISCO"):
				   // $alinhamento='C';
			    endif;		
				if(substr($cliente,0,4)=="TS L"):
				   // $alinhamento='C';
			    endif;		
			 endif;
             if($i==4  && strlen($conteudo)>13 && $cliente=="VIGOR"):
				$pdf->SetFont('Arial','',5);
			 endif;
			 
             //para celeiro aumenta de 8 para 9 o tamanho da letra
			 if(substr($cliente,0,7)=='CELEIRO')$pdf->SetFont('Times','',9);
			 
			 //$conteudo="xx";
			 $pdf->Cell($largo[$i],$alturaLinhaResultados,utf8_decode($conteudo),0,0,$alinhamento);
         	 $pdf->SetFont('Times','',8);
		 }
	     $cotaLinha+=$alturaLinhaResultados;
		 if(substr($cliente,0,3)!='ADV' && substr($cliente,0,5)!='VIGOR'):
             $pdf->Line(10,$cotaLinha,$margemDireita,$cotaLinha);//linha separadora horizontal
	     endif;		 
	 endfor;
    



//impriem fechador com -0-
	     //$cotaLinha+=$alturaLinhaResultados;
	     $pdf->setXY($margemEsquerda,$cotaLinha);
    	 for($i=1;$i<=20;$i++)
		 {
			 $pdf->Cell($largo[$i],$alturaLinhaResultados,'-o-o-',0,0,'C');
		 }
		 $pdf->Ln($alturaLinhaResultados);




     ###########parte final, aquele espaco entre duas linhas onde vai o tratamento########################################33
	 //a cota 5 é o final do resultados a cota 6 vem antes da linha dupla ,  Aota 5 definida bem acima é o final do detail
	 $pdf->SetFont('Times','',8);
     $pdf->setXY(10,$cota5);
	 //$vetor[2][3]="Data Recebimento da Amostra:".$dataEntrada; 
	 //$vetor[3][3]="Data de Conclusao do Teste de Germinação:".$pdf->vetorReanGerminacao[0] ;  
	 //$vetor[4][3]="Duração do teste:".$pdf->vetorReanGerminacao[1] ; 
     //linhas separadoras verticais 
     $pdf->Line(90,$cota5,90,$cota6);//linha separadora vertical
     $pdf->Line(190,$cota5,190,$cota6);//linha separadora vertical

     $pdf->Line(125,$cota6,125,$cota7);//linha separadora vertical
     $pdf->Line(170,$cota6,170,$cota7);//linha separadora vertical
     $pdf->Line(193,$cota6,193,$cota7);//linha separadora vertical
	 //agora os 7 textos
	 	 //aqui coloca -o- na natureza do materia inerte se a quantidade enconctrada for zero e se for sao francisco
	 //if(strlen($naturezaMatInerte)>3 && strlen($materialInerteDeful)==3):
	 //   $materialInerteDeful=$naturezaMatInerte;
	 //endif;
	 //$naturezaMatInerte=$materialInerteDeful;
	 
	 //aqui coloca -o- na natureza do materia inerte se a quantidade enconctrada for zero e se for sao francisco
	 
	 if($cliente=="SÃO FRANCISCO"):
	   if($quantidadeInerte=="0.0"):
		  $naturezaMatInerte='-O-';
	   endif;
	   $tratamento='-O-';//fixo para sao francisco
	   $temperatura='25ºC';//fixo para sao francisco
	   $substrato='RP';//fixo para sao francisco
	   $duracao='5 dias.';//fixo para sao francisco
     endif;//testou se é o cliente sao francisco	
	
	 $pdf->SetXY(10,$cota5);
	 
	 $pdf->Cell(90,$larguraDaLinha,'Data do recebimento: '. $vetorDadosDocumento[12],0,0,'L');
	 $pdf->SetXY(90,$cota5);
	 //aqui inverte a data
	 $pdf->Cell(100,$larguraDaLinha,utf8_decode('Data de Conclusão do Teste de Germinação: '.$dataTesteGerm ),0,0,'L');
	 $pdf->SetXY(190,$cota5);
	 $pdf->Cell(90,$larguraDaLinha,utf8_decode('Duração do Teste de Germinação: '.$duracao ),0,0,'L');
	 //linha dupla ou seja uma linha de legenda e uma linha de dados que começãm natureza do material inerte
     $pdf->setXY(10,$cota6);
	 //$pdf->Cell(120,$larguraDaLinha,'Natureza do Material inerte: ',0,1,'L');	
	 $concatenadoNatMatInerte='Natureza do Material inerte: '.$naturezaMatInerte;
     $pdf->MultiCell(110,$larguraDaLinha,utf8_decode($concatenadoNatMatInerte),0,'L',false);//Natureza do Material inerte
	 
	 
	 
	 
	 $pdf->SetXY(125,$cota6);
	 $pdf->Cell(40,$larguraDaLinha,'Substrato: ',0,0,'L');	
	 $pdf->SetXY(170,$cota6);
	 $pdf->Cell(22,$larguraDaLinha,utf8_decode('Temperatura(ºC): '),0,0,'L');	
	 $pdf->SetXY(193,$cota6);
	 $pdf->Cell(80,$larguraDaLinha,'Tratamento especial: ',0,1,'L');
     $cota6a=$cota6+4;	 
	 $pdf->SetXY(10,$cota6a);
	 
 
	 
     //$pdf->Cell(120,$larguraDaLinha,utf8_decode($naturezaMatInerte),0,0,'L');//Natureza do Material inerte
	 //$pdf->Cell(120,$larguraDaLinha,utf8_decode($quantidadeInerte.$cliente),0,0,'L');//Natureza do Material inerte
	 	
	 $pdf->SetXY(125,$cota6a);
     $pdf->Cell(40,$larguraDaLinha,utf8_decode($substrato),0,0,'L');	
	 $pdf->SetXY(170,$cota6a);
     $pdf->Cell(22,$larguraDaLinha,utf8_decode($temperatura),0,0,'L');	
	 $pdf->SetXY(193,$cota6a);
	 //aqui pequeno ajuste para adv, que grava o aparelho depois de tratamento e separa por asterisco
	 //se outros fizerem o mesmo que adv, vai funfar igual
	 $tratamentoSalvo=$tratamento;//pega o valor original
	 list($tratamento) = explode("*", $tratamentoSalvo);//pega so o tratameto e nao o restante depois do asteridco  ex: soda*67 , vai pegar so soda
     $pdf->Cell(80,$larguraDaLinha,utf8_decode($tratamento),0,0,'L');	
	 	 

     #########3 ULTIMAS CAIXAS################################################
     //conteudos
     //daque pra frente fica defnicido pela penultima cota que é a cota 7	 
	 $base[1][2]="Observações:";
	 $base[2][2]=$vetorDadosDocumento[19];
	 $base[3][2]=$vetorDadosDocumento[20];
	 $base[4][2]=$vetorDadosDocumento[21];
	 $base[5][2]=$vetorDadosDocumento[22];
	 $base[6][2]=$vetorDadosDocumento[23];
	 $base[7][2]=$vetorDadosDocumento[24];
	 $base[8][2]=$vetorDadosDocumento[25];
	 $base[9][2]=$vetorDadosDocumento[26];

     //NOTAS ,DATA E responsavel tecnico
	 $base[1][3]="NOTAS:1-A identificação das amostras é de exclusiva " ;
	 $base[2][3]="responsabilidadedo remetente.";
	 $base[3][3]="2-A presente análise tem seu valor restrito à amostra";
	 $base[4][3]="entregue ao laboratório.";
	 $base[5][3]="3-Métodos de análise segundo as RAS em vigor ou outro";
	 $base[6][3]="informado no campo observações.";
	 $base[8][3]="";
	 $base[9][3]="";
	 //captura o rt
	 $vetorTecnico=$objetocalculo->dadostecnico($idLabo,'BOLE');
	 if($imprimirBranco=='SIM')$vetorTecnico="";

     $idTecnico=$vetorTecnico[5];
	 $assinaturaAtivada=$vetorTecnico[4];
     if($nivel=='PRODUTOR') $assinaturaAtivada='SIM';	 
	 if($assinaturaAtivada=='SIM'):
		 $caminhoFinalTecnico="ImagensClientes/a".$idTecnico.".JPG";
		 $pdf->Image($caminhoFinalTecnico,229,$cota7+15,61,14,'JPG');
     endif;

	$base[10][3]=$vetorTecnico[1];//nome do rt
    $base[11][3]="RENASEM:".$vetorTecnico[3]."  CREA:".$vetorTecnico[2];	
    $base[7][3]=$vetorCabecalho[6].", ".$vetorDadosDocumento[27];
    $base[12][3]=$vetorTecnico[7];  //cargo responsavel tecnico substituto etc


	 $largo[1]=100;
	 $largo[2]=120;
	 $largo[3]= 65;
	 
	 
     //provigor quer aquelas caisxa la embaixo tudo da mesma largura
	 if($cliente=='VIGOR'):
		 $largo[1]=$larguraUtil/3;
		 $largo[2]=$larguraUtil/3;
		 $largo[3]=$larguraUtil/3;
	 endif;
	 
	 
	 
	 $pdf->SetXY(10,$cota7);
	 $positron[1]=10;
	 $larguraDaLinha=3.0;
     $posicao1=$margemEsquerda;
	 $posicao2=$posicao1+$largo[1];
	 $posicao3=$posicao2+$largo[2];
	 //TROUXE ISSO DA VERSAO VERTICAL e adaptei//////////////////////////////////////

	 //imprime as contaminamates///////////////////////////////
	 //imprime as contaminamates///////////////////////////////
	 //imprime as contaminamates///////////////////////////////
	 //imprime as contaminamates///////////////////////////////
	 //imprime as contaminamates///////////////////////////////
	 $cotaLinha=$cota7;
	 $pdf->SetFont('Times','',7);
	 $parametroAltura=3;
	 $cotaLocal=158;
	 $pdf->setXY($margemEsquerda,$cotaLocal);
 	 $pdf->Cell(150,$parametroAltura,utf8_decode($base[1][1]),0,0,'L');
     $cotaLocal+=$parametroAltura;
	 
	 
	 
     for($L=2;$L<=11;$L++):
	     //if($base[$L][1]=="")$base[$L][1]="dafo".$L;
         if($base[$L][1]!=""):
			 $pdf->setXY($margemEsquerda,$cotaLocal);
             $texto=$base[$L][1]; 
			 //$catifunda="italico";
             //if(substr($texto,4,19)=='Não identificada')$catifunda='Normal'	;		 	
             //$captura=substr($texto,4,3);	
			 //if($captura=='Nao')$catifunda='normal'; 	 	
             $tamaGeral=strlen($texto); 
			 $pdf->SetFont('Times','',8);
			 //vai imprimir caracter por caracter alternando entre italico e nao italico
			 //sendo italico depois do caractar [ e nao italico depois de ]
             //$montaSubTexto="";
             for($letra=0;$letra<=$tamaGeral;$letra++):                 
                //se achar um abridor [ vai passar para italico
				$caracter=substr($texto,$letra,1);
                //$montaSubTexto= $montaSubTexto.$caracter;               
				$teste=0;
				if($caracter=='['):
 			        $pdf->SetFont('Times','I',8);//aqui vai italico
					$teste=1;
                    //$tama=strlen($montaSubTexto);
				endif;
				if($caracter==']'):
 			        $pdf->SetFont('Times','',8);
					$teste=1;
                    //$tama=strlen($montaSubTexto);
				endif;
				//aqui faz um casuismo pois algumas letras sao muito estreitas e ficava um espaco esquisito
                $largura=1.5;
                if($caracter=="l" || $caracter=="r"  || $caracter=="i"  || $caracter=="t"   || $caracter=="s"   || $caracter=="y" )$largura=1;
                if($caracter=="m")$largura=1.8;
				if(substr($texto,4,3)=="Nao") $pdf->SetFont('Times','',8); //nao escrever em italico NAO IDENTIFICADA
			
	    	    if($teste!=1) $pdf->Cell($largura,$parametroAltura,utf8_decode($caracter),0,0,'L');
			 endfor;
			 $cotaLocal+=$parametroAltura;
		     ////////////////
		 else://SE VEIO ITEM EM BRANCO PARA FINALIZAR E COLOCAR TRACO BOLA TRACO
		   $pdf->setXY($margemEsquerda,$cotaLocal);
	       $pdf->Cell(100,4,'-o-o-o-o-o-o-o-o-o-o-o-o-o-o-',0,0,'L');	
		   break;
		   ///////////
		 endif;//FOR LETRA
		 
		 
		    
	 endfor;//FOLR L
     //fim da impressaao de contaminantes
	 
//impressao de observacoes versao 031120
//VAI PERCORRER TODAS LINHAS  versao 03/11/2020 imprimindo caractar por caracater
//imprime observacoes//////////////////////////////////////////////////////////////
$cotaLinha=$cota7;
$pdf->SetFont('Times','',7);
//VAI DETERMINAR O NUMERO DE LINHAS
//imprimir observacoes
$limiteLinhas=0;
for($L=1;$L<=10;$L++)
{
 //se nao tem nada numa linha, significa que encerrou entao imprime -o-o- para finalizar
 if(strlen($base[$L][2])>1):
     $limiteLinhas++;
 endif; 	  
}
$limiteLinhas++;//avanca um linha para que sai observacoes 	 
$base[$limiteLinhas][2]='-o-o-o-o-o-o-o-o-o-o-o-o-o-o-';
$cotaLocal=153;
$parametro=4;
$posicaoObs=$margemEsquerda+$largo[1]+1;
$cotaLocal+=$parametro;//incrementa se realmente tem texto dentro
$pdf->setXY($posicaoObs,$cotaLocal);
//$pdf->Cell(100,$parametro,utf8_decode("OBSERVAÇÕES:")." inicio=".$inicioNumeroVia.'  iddoc='.$idDoc.'  amolong='.$amostraLong.'  amLongBin='.$amostraLongBinaria.'  $contaAmBin='.$contaAmostrasBinaria.'  $valordeL='.$valordeL .'  $contaAm='.$contaAmostras ,0,0,'L');
$pdf->Cell(100,$parametro,utf8_decode("OBSERVAÇÕES:") ,0,0,'L');


for($i=2;$i<=$limiteLinhas;$i++):
	 $cotaLocal+=$parametro;//incrementa se realmente tem texto dentro
	 $pdf->setXY($posicaoObs,$cotaLocal);
     //$volatil=$i+18;
     //$texto=$vetorDadosDocumento[$volatil];
	 $texto=$base[$i][2];
	 $pdf->setXY($posicaoObs,$cotaLocal);
	 $acumuladorTamanho=0;
     //$volatil=$i+18;
	 $tama=strlen($texto);
	 $temCaracterEspecial="NAO";
	 $primeiroSegmento="SIM";
	 if($tama>1):
	     $pdf->SetFont('Times','',8);
		 $segmento="";//limpa o segemento que vai ser impresseo
         $posicaoImpressao=0;//zera o detonador da impressao do segmento 
		 for($posi=0;$posi<=$tama;$posi++)://percorre toda strig
            $stringAtomica=substr($texto,$posi,1);//captura cada um dos caracteres
            //detect o caracter especial para disparar o evento impressao  
            //detect o caracter especial para disparar o evento impressao  
			if($stringAtomica=='[' ||  $stringAtomica=='{' ||  $stringAtomica==']' ||  $stringAtomica=='}' )://testa caracteres especiais
			   //$pdf->SetFont('Times','',8);
			   //$posicaoImpressao=$posi;
				  if(substr($segmento,0,1)=="[") $pdf->SetFont('Times','I',8);
				  if(substr($segmento,0,1)=="{") $pdf->SetFont('Times','B',8);
				  if(substr($segmento,0,1)=="]"   || substr($segmento,0,1)=="}") $pdf->SetFont('Times','',8);
				  $comeco=1; 
				  if($primeiroSegmento=="SIM")$comeco=0; 
				  $pdf->Cell($acumuladorTamanho,$parametro,utf8_decode(substr($segmento,$comeco)),0,0,'L');
                  $posicaoImpressao=0;
				  $acumuladorTamanho=0;
				  $segmento="";
                  $temCaracterEspecial="SIM";
				  $primeiroSegmento="NAO";
			endif;
	    	$tamanho_mm=$objetocalculo->calculaTamanhoMM($stringAtomica);
			$acumuladorTamanho+=$tamanho_mm;
            $segmento=$segmento.$stringAtomica; 			
         endfor;////fecha o for que percorre os caracteres
		 //PARA IMPRIMIR A PARTA FINAL QUE NAO TEM EVENTO DISPARADOR DE IMPRESSAO
         if($temCaracterEspecial=="SIM" && strlen($segmento)>0):
         //if($temCaracterEspecial=="SIM"):
			$pdf->SetFont('Times','',8);
			$pdf->Cell(200,$parametro,utf8_decode(substr($segmento,1)),0,0,'L');
		 endif;

         //PARA IMPRIMIR CASO NAO TENHA EVENTO ALGUM
         if($temCaracterEspecial=="NAO"):
			$pdf->SetFont('Times','',8);
			$pdf->Cell(200,$parametro,utf8_decode($texto),0,0,'L');
		 endif;


     endif;//verifica se o texto existe
 endfor;////fecha o for que percorre as linhas







	 //imprime notas e assinatura
	 $cotaLinha=$cota7+2;
	 //da linha 1 até linha 6 coloca fonte menor
	 $pdf->SetFont('Times','',6);
     for($L=1;$L<=6;$L++)
	 {
		 $pdf->SetXY($posicao3,$cotaLinha);
		 $pdf->Cell($largo[3],2,utf8_decode($base[$L][3]),0,0,'L');	
	     $cotaLinha+=2;
     }	 
	 $pdf->SetFont('Times','',7);

     for($L=7;$L<=12;$L++)
	 {
		 $pdf->SetXY($posicao3,$cotaLinha);
		 $pdf->Cell($largo[3],4,utf8_decode($base[$L][3]),0,0,'C');	
	     $cotaLinha+=4;
     }	 


     $pdf->setXY(20,194);
	 //$total=595.28*193/184;
	 //$pdf->Cell(50,5,$total,0,1,'L');
     //coloca  as 3 linhas separadoras verticais 
	 $posicao1=$largo[1]+10;
	 $posicao2=$posicao1+$largo[2];
  	 $pdf->Line($posicao1,$cota7,$posicao1,$cota8);//linha separadora
	 $pdf->Line($posicao2,$cota7,$posicao2,$cota8);//linha separadora
	 //vai imprimir numero de via
	 $pdf->SetFont('Times','B',8);
	 //$vias=$sessao->getVar('controle1');
	 //$vias="oooo";
     //$meuArquivo = "vias.txt";
     //$id=fopen($meuArquivo,"r");
     //$recuperado= fread($id,filesize($meuArquivo));
     //fclose($id);// Fecha o arquivo
	 $numeroVias=$sessao->getvar('controle2');
	 if($numeroVias>1):
	     $viaAtual=$sessao->getvar('controle1');
		 if($viaAtual=='Vias 2 e 3')$viaAtual=1;//erA 1
	     $sessao->setVar('controle1',$viaAtual);
		 $viaFinal=$viaAtual.'ª via';
     else:
         $viaFinal=$sessao->getvar('controle1');
		 
     endif;	
	 //se estou mandando fazer mais de uma via pela opção mesclado entao prioriza o mesclado
     if($viasMescladas>1):	 
		 $viaFinal=$mescladas.'ª via';
		 $valorFinal23=$mescladas+1;
		 if($via23Sempre=='SIM')$viaFinal=$valorFinal23.'ª via';
     endif;	 
	 	//VAI ACESSAR A CLASSE E PREPARA O NOME DO ARQUIVO
	if($digital=='SIM'):
		$objetoEncriptar=new encriptar();
		$amostraEncriptada=$objetoEncriptar->certificado($idDoc.$viaFinal);
	endif;
	
	//adv quer o numero da via perto do numero do boletim
    $posicaoX=271;

    
	//qulaiteste imprimimira sempre la em cima
	if(substr($cliente,0,10)=='QUALITESTE' ):
	     $tama=65;
 		 $pdf->Line($posicaoCab2,19,$margemDireita,19);
         if($viaFinal=='*Vias 1,2 e 3'):
			$pdf->setXY($posicaoCab2,20); $pdf->Cell($tama,3,utf8_decode('1ª Via - Requerente'),0.5,1,'C',1);
	        $pdf->setXY($posicaoCab2,23); $pdf->Cell($tama,3,utf8_decode('2ª Via - Laboratório'),0.5,1,'C',1);
	        $pdf->setXY($posicaoCab2,26); $pdf->Cell($tama,3,utf8_decode('3ª Via - MAPA'),0.5,1,'C',1);
		 else:
			$pdf->setXY($posicaoCab2,20); $pdf->Cell($tama,8,utf8_decode($viaFinal),0.5,1,'C',1);
         endif;		 
	 else:
	     //SE NAO FOR QUALITESTE
      	 //$pdf->setXY($posicaoCab2,18);//era 18
         //$pdf->Cell($tama,10,utf8_decode('Nº: ').$texto.$texto1,0,1,'C',1);//esta linha esta boa ramadan
		 if(substr($cliente,0,3)=='ADV')://mudar para adv
      	    $pdf->SetXY($posicaoCab2+45,$cota1+22);//era -10//
		 else://CELEIRO E OUTROS
    	    $pdf->SetXY($posicaoX,$cota8);//era -10//
	     endif; 
		 $viaFinal=$viaFinal;
         $pdf->Cell(20,$larguraDaLinha,utf8_decode($viaFinal),1,1,'R');//do horizontal geral
	 endif;
     //$pdf->Cell(20,$larguraDaLinha,utf8_decode($viaAtual));
	 
	 if(strlen($amostraEncriptada)>1):
	     $pdf->SetXY($margemEsquerda,$cota8-6);//era -10//
		 $pdf->Cell(85,3,utf8_decode('Para imprimir este certificado digital acesse: www.gugeler.net Link Certificado digital'),'0',1,'L');
		 $pdf->Cell(85,3,utf8_decode($amostraEncriptada),1,1,'L');
     endif;
	
	 
	endfor;//aqui varre para que saia as vias mescladas num so arquivo 
	 
	








ob_clean(); // Quando usava essa classe o ob_clean() resolvia meu problema

if($amostraEncriptada!=""):
   $pdf->Output("uploads/".$amostraEncriptada.".pdf","F");//funciona
endif;


$pdf->Output("uploads/arquivo.pdf","I");//arquivo vai para impressao




//$amostraEncriptada


/*
$nome = $idDoc ."-".$pdf->Output("arquivo.pdf","F");
$dir = $_SERVER['DOCUMENT_ROOT'] .'semente2013/php/paineladm/uploads/';
		//$tmpName = $_FILES[$nome]['tmp_name']; // Recebe o arquivo temporário.
		$name = $dir .$_FILES[$nome]['name']; // Recebe o nome do arquivo.
		// move_uploaded_file( $arqTemporário, $nomeDoArquivo )
		if( move_uploaded_file( $tmpName, $name ) ) { // move_uploaded_file irá realizar o envio do arquivo.		
			//header('Location: sucesso.php'); // Em caso de sucesso, retorna para a página de sucesso.	
			printMSG('okvvvvvvv','alerta');		
		} else {
		    printMSG('nao okvvvvv','alerta'); 
					
			//header('Location: erro.php'); // Em caso de erro, retorna para a página de erro.			
		}
*/		

?>
