<?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();
$senhaCli=$sessao->getVar('iduser');
$idLabo=$sessao->getVar('idLabo');
$inicio=$sessao->getVar('inicio');
$final=$sessao->getVar('final');
$idDoc=$sessao->getVar('transfere');
$cliente=strtoupper($sessao->getVar('cliente' ) ?? "");
if(substr(strtoupper($cliente ?? ""),0,8)=='DIMICRON')$cliente="DIMICRON";//este casuismo é necessario pois a ricetec é RiceTec......

if(substr(strtoupper($cliente ?? ""),0,7)=='RICETEC')$cliente="RICETEC";//este casuismo é necessario pois a ricetec é RiceTec......
//echo("cliente=$cliente<br>");

//echo("1xxxxxxxxxxxxxxidDocumento= $idDoc<br>");

$nomeOperador=$sessao->getVar('nomeuser');
$objetocalculo = new calculos(); //calcula todos valores finais
$pdf=new FPDF('P','mm','A4'); //parametos da pagina 
			 $pdf->open();//abre o fpdf
		
			 $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;
			 $margem=$margemEsquerda;
			 $margemDireita=$maximoLAdobe-6;
			 $larguraUtil=$maximoLAdobe-16;
 	 		 $futer=$maximoHAdobe-10;
			 $cinza=220;
		     $fonte="Arial";
			 $nomeOperador=5;
			 $pdf->SetFillColor($cinza,$cinza,$cinza); 
			 $linha=0;
			 $posicaox1=10;
             $larg1=20;
             $larg2=20;
             $larg3=30;
             $larg4=50;
             $larg5=15;
             $larg6=10;
             $larg7=10;
             $larg8=10;
             $larg9=10;
             $larg10=10;
			 $larguraDaLinha=4;
	 //AQUI COMECA 
	 $cota1=20;//inicio de tudo
 
     //PARAMETROS GERAIS
     //altura util=210  largura util=297(dados do adobe)
     $pdf->AddPage();//adicionando a primera pafina 
	                $vetorNormas=$objetocalculo->capturaNormas("Informe","EspecialUFLA",$idLabo);
					$posicaoNorma=174;
					$pdf->Rect($posicaoNorma,$cota1,30,15);
					$pdf->SetFont('Times','',8);
					$pdf->setXY($posicaoNorma,$cota1);  $pdf->Cell(40,4,utf8_decode("Doc.:".$vetorNormas[1]),0,0);
					$pdf->setXY($posicaoNorma,$cota1+4);  $pdf->Cell(40,4,utf8_decode("Nº Revisão:".$vetorNormas[2]),0,0);
					$pdf->setXY($posicaoNorma,$cota1+8);  $pdf->Cell(40,4,utf8_decode("Data revisão:".$vetorNormas[3]),0,0);
     $margemEsquerda=10;

	 //largura de uma margem a outra = 281  se eu imprimo algo esta soma nao pode ultrapassar este valor
	 $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



	 $cota4=102;
	 //$cota5=145;
	 //$cota6=149;
	 //$cota7=157; //estas duas cotas sao definidas aqui memsmo
     $cota8=200;  //usara 195 se for colocar o rodape na munheca, mas pode usar a funcao footer que da mais 5 milimetros
	 //LINHAS LATERAIS DO  cabecalho
	 $pdf->SetLineWidth($grosso);
	
	 //$pdf->rect($margemEsquerda,$cota1,$larguraUtil,25);//borda ao redor do timbrado e nome lab
	 $pdf->rect($margemEsquerda,$cota1,$larguraUtil,$maximoHAdobe-30);//borda ao redor de todo o documento

     ####################################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.....
	 $posicaoCab1=60;$posicaoCab2=245;
	 $caminhoFinal="ImagensClientes/i".$idLabo.".JPG";
	 //echo("caminhofinal=$caminhoFinal<br>");
	 $pdf->Image($caminhoFinal,11,$cota1+1,48,23,'JPG');
	 //o/a didentificacao do lab
	 $pdf->SetFont('Times','B',9);
	 $pdf->setXY($posicaoCab1,$cota1);
	 $pdf->Cell(125,5,utf8_decode($vetorCabecalho[0]),0.5,1,'C');//lab nome
	 //$pdf->SetFont('Times','',10);
	 $pdf->Ln(0);
	 $pdf->Cell($posicaoCab1-$margemEsquerda);
	 $pdf->Cell(125,5,utf8_decode($vetorCabecalho[1]),0.5,1,'C');
	 $pdf->Ln(0);
	 $pdf->Cell($posicaoCab1-$margemEsquerda);
	 $pdf->Cell(125,5,utf8_decode($vetorCabecalho[2]),0.5,1,'C');
	 $pdf->Ln(0);
	 $pdf->Cell($posicaoCab1-$margemEsquerda);
	 //$pdf->Cell(185,5,utf8_decode($vetorCabecalho[3]),0.5,1,'C');
	 $pdf->Cell(125,5,utf8_decode($vetorCabecalho[3]),0.5,1,'C');
	 $pdf->Ln(0);
	 $pdf->Cell($posicaoCab1-$margemEsquerda);
	 $pdf->Cell(125,5,utf8_decode($vetorCabecalho[4]),0.5,1,'C');
	 //aqui cria o vetor que todos documentos vao ter em comum(nume documento, daos do remetente, da especie/cultivar, data documento etc)
     $vetorDadosDocumento=$objetocalculo->dados_gerais_documento($idDoc);
	 $pdf->SetLineWidth($medio);
	 $pdf->SetFont('Times','B',10);
	 $cota2=$cota1+28; 	 
	 $pdf->setXY(10,$cota2);
	 $texto=number_format($vetorDadosDocumento[1]/1000,3,'','');//NUMERO DO INFORME
	 $texto1=$vetorDadosDocumento[4];//ANO DO INFORME
	 $texto1="/".$texto1;
	 $pdf->Cell($larguraUtil,5,utf8_decode('INFORME Nº ') .$texto.$texto1,0,1,'C');

	 $pdf->SetFont('Times','',10);
	 $pdf->setXY($margem,$cota2+10);
        	 $pdf->Cell(180,$larguraDaLinha,utf8_decode('Resultado de análise de:'.$vetorDadosDocumento[2]) ,0,0,'L');
		 //imprime o nome cientifico mas tem que se colado ao nome comum
         $pdf->SetFont('Times','I',10);
		 //mede o tamanho do nome comum e acrescenta ao espaco usado para imprimir o texto fixo  [ Resultado de análise de:  ]
		 $tama=strlen($vetorDadosDocumento[2])*1.4;//mede tamanho nome comum .Multiplica por 3 pois sao 3 mm por letra e  este 15 ai é o taamanhao do rotulo especie que vem antes
		 $derrapador=72+$tama;//era 1.2  e 60
		 $pdf->setXY($derrapador,$cota2+10);
	         $pdf->Cell(100,$larguraDaLinha,'('.$vetorDadosDocumento[13].')' ,0,1,'L');//nome cientifico da especie
          	 $pdf->SetFont('Times','',10);
		 $pdf->setXY($margem,$cota2+15);
	         $pdf->Cell(100,$larguraDaLinha,'Requerente:'.utf8_decode($vetorDadosDocumento[0]) ,0,1,'L');
		 $pdf->setXY($margem,$cota2+20);
        	 $pdf->Cell(100,$larguraDaLinha,utf8_decode('Endereço:'.$vetorDadosDocumento[8]) ,0,1,'L');
		 $data=$pdf->vetorFicha[6];
		 $dia=substr($data,8,2);
		 $mes=substr($data,5,2);
		 $ano=substr($data,0,4);//ano   1951-02-28
		 $dataFinal=$dia."/".$mes."/".$ano;
		 $pdf->setXY($margem,$cota2+25);
	     $pdf->Cell(93,$larguraDaLinha,'Data do recebimento da amostra:'.$vetorDadosDocumento[12],0,1,'L');
		 //IMPRIME A LEGENDA PROIBIDA COMERCIALIZACAO
         $pdf->SetFont('Times','BI',10);
		 $pdf->setXY(60,$cota2+46.5);
	         $pdf->Cell(100,9,' ',1,0,'C',1);//MOLDURA HACHURRIADA
		 $pdf->setXY(61,$cota2+47);
	         $pdf->Cell(95,4,utf8_decode('PROIBIDA A COMERCIALIZAÇÃO'),0,0,'C',1);
		 $pdf->setXY(61,$cota2+51);
	         $pdf->Cell(95,4,utf8_decode('Art. 84,$1º e $2º, do Decreto nº 5.153, de 23.07.04'),0,0,'C',1);
		 
	
	 ############RESULTADO DE ANALISE########################
 	 #################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>");

	$generica=new tabelagenerica();
	$generica->tabela="documentosponte";
	$generica->campos_valores = array(
			"dpo_amostra_vinculada" => NULL,
		);
	$generica->extras_select =" where  dpo_documento_autonumerador=".$idDoc." order by dpo_amostra_vinculada LIMIT 4";
	//echo("eeeeexxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeerro $generica->extras_select <br>");
	$generica->selecionaCampos($generica);
	$contaAmostras=0;
	while ($resgenerica = $generica->retornaDados()):
	    $contaAmostras++;
		//$vetorDPO[$contaAmostras]=$resgenerica->dpo_amostra_vinculada;
		$amostraLong=$resgenerica->dpo_amostra_vinculada;
		
		$vetorAmostraBruto=$objetocalculo->capturaGeralAmostra($amostraLong);
		//aqui temos um abacaxi para resolver
		//se a pessoa joga uma amostra de previa FNALIDADE=PREVIA a amostra vai ter numero na previa
		//mas se o laboratorio for convencional e tiver uma so listagem este campo nao sera usado e viaria zero ali
		//entao eu acho que no iforme deveria fazer um teste: se o numero previa for zero ele imprime o numero definitiva
		$numeroAmostra=$vetorAmostraBruto[25];
		if($numeroAmostra==0)$numeroAmostra=$vetorAmostraBruto[1].'/'.substr($vetorAmostraBruto[36],0,4);
		$vetorResultados[1][$contaAmostras]=$numeroAmostra;//amostra
		$vetorResultados[2][$contaAmostras]=$vetorAmostraBruto[2];//lote
		$vetorResultados[3][$contaAmostras]=$vetorAmostraBruto[34];//safra
		$vetorResultados[4][$contaAmostras]=$vetorAmostraBruto[31];//cultivar
        $vetorResultados[5][$contaAmostras]=$vetorAmostraBruto[4];//pureza
		//$vetorResultados[3][$contaAmostras]=$vetorAmostraBruto[17];//mat.inerte
		//$vetorResultados[4][$contaAmostras]=$vetorAmostraBruto[18];//outras esp
		$vetorResultados[6][$contaAmostras]=$objetocalculo->captura_OD_Especifica($amostraLong,'INF');
		$vetorResultados[7][$contaAmostras]=$objetocalculo->captura_OD_Especifica($amostraLong,'BVI');
		$vetorResultados[8][$contaAmostras]=$vetorAmostraBruto[20];//dosn
		$vetorResultados[9][$contaAmostras]=$vetorAmostraBruto[3];//germinacao
		$vetorResultados[10][$contaAmostras]=$objetocalculo->captura_OD_Especifica($amostraLong,'PMS');
		$vetorResultados[11][$contaAmostras]=$objetocalculo->captura_OD_Especifica($amostraLong,'TZO');
		$vetorResultados[12][$contaAmostras]=$objetocalculo->captura_OD_Especifica($amostraLong,'EAC');
		$vetorResultados[13][$contaAmostras]=$objetocalculo->captura_OD_Especifica($amostraLong,'CAN');
		$vetorResultados[14][$contaAmostras]=$objetocalculo->captura_OD_Especifica($amostraLong,'FRI');
		$vetorResultados[15][$contaAmostras]=$objetocalculo->captura_OD_Especifica($amostraLong,'VIG');
	endwhile;//fecha o whule que percorre todas amostras


//aqui vai colocar -O-  nos campos das amostras nao utilizados(solicitacao adv jan 17))	
if($contaAmostras<4):
  for($c=$contaAmostras+1;$c<=4;$c++):
     for($l=1;$l<=15;$l++):
		$vetorResultados[$l][$c]='-O-';
     endfor;
  endfor;
endif;	
	
	

	
	//echo("4xxxxxxxxxxxxxxidDocumento= $idDoc  contaAmostras =$contaAmostras $vetorDPO[1]<br>");
    //vai pegar os dados da amopstra la na classe calculo pois ja tem a id da amostra
	$vetorResultados[1][0]="Nº da Amostra";
	$vetorResultados[2][0]="Lote";
	$vetorResultados[3][0]="Safra";
	$vetorResultados[4][0]="Cultivar";
	$vetorResultados[5][0]="Pureza(%)";
	$vetorResultados[6][0]="Sementes Infestadas (%)";
	$vetorResultados[7][0]="Broca Viva (%)";
	$vetorResultados[8][0]="Determinação de outras sementes por número";
	$vetorResultados[9][0]="Germinação(%)";
	$vetorResultados[10][0]="Peso de Mil Sementes (g)";//aqui vai a sigla da outra det
	
	$vetorResultados[11][0]="Tetrazólio (%)";
	$vetorResultados[12][0]="Vigor - Env. Acelerado (%)";
	$vetorResultados[13][0]="Vigor emergência em canteiro (%)";
	$vetorResultados[14][0]="Vigor Teste de Frio (%)";
	$vetorResultados[15][0]="Vigor emergência em condições controladas (%)";

 
	 //definir a subcotas logo apos a legenda comentada, para ser facil de achar e regurar a calibração
	 
	 $cota3=$cota2+60;
	 $pdf->setXY(61,$cota3);
	 $pdf->SetFont('Times','B',10);
     $pdf->Cell(100,$larguraDaLinha,utf8_decode('RESULTADO DA ANÁLISE') ,0,1,'C');	
	 //resultaso sao impressoas a partr da cota 3
	 $pdf->SetFont('Times','',8);
	 $cotaLinha=$cota3;//define o começo da impressao de resultados , apenas para naoa ficar em cima da  linha divisoria muito grossa
	 $alturaLinhaResultados=6.1;//define a largura das linhas de resultados
     for($L=1;$L<=15;$L++)
	 {
	     $cotaLinha+=$alturaLinhaResultados;
	     $pdf->setXY($margem,$cotaLinha);
	     $alinhamento="L";
    	 for($i=0;$i<=4;$i++)
		 {
  	      	 $larguraColuna=65;
        	 if($i>0)
			 {
 			     $larguraColuna=32;//so a primeira coluna é mais larga
			     $alinhamento="C"; //so a primeira coluna é alinhada a esquerda
			 }
			 $pdf->Cell($larguraColuna,$alturaLinhaResultados,utf8_decode($vetorResultados[$L][$i]),1,0,$alinhamento);
		 }
	 }
	 
	 
	 
     ########################################observacoes###########################
	 //retangulo das observacoes
     //retangulo e risco vertical entre contaminantes e observacoes
	 $posicao=110;
	 $cota4=$cota3+100;//era 83
	 $alturaRetangulo=45;
     $pdf->Rect($margemEsquerda,$cota4,$larguraUtil,$alturaRetangulo); 	 
     $pdf->Line($posicao,$cota4,$posicao,$cota4+$alturaRetangulo);

 	 $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];

	 //aqui inverte a data
	 $data=$vetorCabecalho[17];
	 $dia=substr($data,8,2);
	 $mes=substr($data,5,2);
	 $ano=substr($data,0,4);//ano   1951-02-28
	 $dataBoletim=$dia."/".$mes."/".$ano;
	 $cotaLinha=$cota4;
     for($L=1;$L<=9;$L++)
	 {
	     $conteudo=$base[$L][2];
	     if(strlen($conteudo)>2)
		 {
			 $pdf->setXY($posicao,$cotaLinha);
			 $pdf->Cell(190,$larguraDaLinha,utf8_decode($base[$L][2]),0,1,'L');	
			 $cotaLinha+=$larguraDaLinha;
		 }
	 }
	 //aqui imprime o -o- independente de ter colocado ou nao la no campo de observacoes 
	 $pdf->SetXY($posicao,$cotaLinha+4);
	 $pdf->Cell(180,$larguraDaLinha,'-O-O-O-O-O-O-O-O-O-O-O-O-O-',0,1,'L');	

	
     ###########OUTRAS ESPECIES CONTAMINANTES########################################
     $contaminantesDocumento=$objetocalculo->acharContaminantesDocumento($idDoc);
     $cotaDOSN=$cotaLinha;//ele incrementa a cota linha e deixa espaco para imprimir logo a seguir os contaminantes	      
     $pdf->setXY($margem,$cotaLinha);
     //se o primeiro  item estver vazio ele nem siquer imprime a esperessao  OUTRAS ESPECIES CONTAMINANTES
	 $pdf->setXY($margem,$cota4);
     $pdf->Cell(100,$larguraDaLinha,utf8_decode('DETERMINAÇÃO DE OUTRAS SEMENTES POR NÚMERO:'),0,1,'L');	
	 $pdf->SetFont('Times','I',8);
	 $cotaLinha=$cota4;
     for($L=1;$L<=10;$L++)
	 {
	      $conteudo=$contaminantesDocumento[$L];
		  if(strlen($conteudo)>2):
		 	 $cotaLinha+=$larguraDaLinha;
			 $alturaRetangulo+=$larguraDaLinha;
	         $pdf->SetXY($margem,$cotaLinha);
			 $pdf->Cell(180,$larguraDaLinha,utf8_decode($conteudo),0,1,'L');	
		  endif;
	 }
	 $pdf->SetFont('Times','',8);


	 
	 
	 ########################################ASSINATURAs######################################
	 //terminou de imprimir resultado agora vi para observacoes tecico e assinatura
     //$cota4+=$alturaRetangulo;
	 $cota4=255;
     $vetorTecnico=$objetocalculo->dadostecnico($idLabo,'BOLE');
     $cota7=$cota4;
	 $cotaLinha=$cota7;
     $pdf->setXY(10,$cota7);
 	 //$base[1][3]=$vetorTecnico[6].', '.$vetorDadosDocumento[27];
	 $base[1][3]=$vetorCabecalho[6].", ".$vetorDadosDocumento[27];//local e data

	 $base[2][3]="";
	 $base[3][3]="";
	 $base[4][3]=$vetorTecnico[1];
	 $base[5][3]="RENASEM:".$vetorTecnico[3]."  CREA:".$vetorTecnico[2];
	 $base[6][3]=$vetorTecnico[7];
     //$pdf->Line(100,$cota7+14,180,$cota7+14);//linha separadora horizontal
	 $pdf->SetXY(70,$cota7);$pdf->Cell(90,5,utf8_decode($base[1][3]),0,1,'C');	
	 $pdf->SetXY(70,$cota7+15);$pdf->Cell(90,5,utf8_decode($base[4][3]),0,1,'C');	
	 $pdf->SetXY(70,$cota7+20);$pdf->Cell(90,5,utf8_decode($base[5][3]),0,1,'C');	
	 $pdf->SetXY(70,$cota7+25);$pdf->Cell(90,5,utf8_decode($base[6][3]),0,1,'C');		 
		 
	ob_clean(); // Quando usava essa classe o ob_clean() resolvia meu problema
$pdf->Output("arquivo.pdf","I");
		
?>
