<?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");
$sessao = new sessao();
$composto=$sessao->getVar('controle');
list($mesNumero,$anoAmostra,$nomeFuncao,$imprimeAmostras)= explode("*", $composto);
$idLabo=$sessao->getVar('idLabo');
$cliente=strtoupper($sessao->getVar('cliente' ) ?? "");
$inicio=$sessao->getVar('inicio');
$anoCorrente=$sessao->getVar('anocorrente');
$anoAmostra=$anoCorrente;
$enquadramento=$finalidade;$nomeOperador=$sessao->getVar('nomeuser');
//echo("amostralong= $amostraLong<br>");
$objetocalculo = new calculos(); //calcula todos valores finais
$vetorCabecalho=$objetocalculo->dadoslaboratorio();

$pdf=new FPDF('P','mm','A4'); //parametos da pagina 
 $pdf->open();//abre o fpdf
 //$pdf->AddPage();//adicionando a primera pafina
 $pdf->SetDrawColor(10,10,10);
 $maximoHAdobe=297;//isso para vertical
 $maximoLAdobe=210;//isso para vertical
 $maximoLAdobe=297;//isso para horizontal
 $maximoHAdobe=210;//isso para horizontal
 $margemEsquerdaExterna=10;
 $margemEsquerda=10;
 $margemDireita=$maximoLAdobe-6;
 $larguraUtil=$maximoLAdobe-16;
 $futer=$maximoHAdobe-10;
 //$larguraUtil=$maximoLAdobe;
 $cinza=220;
 //$fonte="Arial";
 $nomeOperador=5;
 $pdf->SetFillColor($cinza,$cinza,$cinza); 
 //$pdf->AddPage();//adicionando a primera pafina 
 





//esta matriz de titulos das colunas
 $vetorTitulos[1][1]="Espécie";
 $vetorTitulos[1][2]="Recebidas";
 $vetorTitulos[1][3]="Pureza";
 $vetorTitulos[1][4]="Germina-";
 $vetorTitulos[1][5]="DOSN";
 $vetorTitulos[1][6]="V.O.C.";
 $vetorTitulos[1][7]="Tetrazólio";
 $vetorTitulos[1][8]="EAC";
 $vetorTitulos[1][9]="OGM";
 $vetorTitulos[1][10]="Sanidade";
 $vetorTitulos[1][11]="TOTAL";
 //segunda linha
 $vetorTitulos[2][4]="ção";
 
 
 //largura das colunas
 $larguraColuna=50;
 $larguraColunasDados=14;



 $cotaY1+=10;
 $cotaYInicio=$cotaY1+4;
 $pdf->SetFont('Arial','',7);





//precisa colocar a clausula distinct, pois pode acontecer de a amostras ser colocada em dois documentos

if($nomeFuncao=="PREVIA"):
	$sqlSeletor="select  fic_amostra,fic_amostra_previa, fic_testes_realizar,fic_id,esp_nome from ficha,cultivar,especies where fic_labo=".$idLabo."
	  and year(fic_dt_entrada)='".$anoAmostra."'  and MONTH(fic_dt_entrada)='".$mesNumero."'
	  and fic_previa ='S' and fic_cultivar=ctv_id && ctv_especie=esp_id order by esp_nome";	
endif;
if($nomeFuncao=="DEFINITIVA")://(se for definicita
	$sqlSeletor="select  fic_amostra, fic_amostra_previa, fic_testes_realizar,fic_id,esp_nome from ficha,cultivar,especies where fic_labo=".$idLabo."
	  and year(fic_dt_entrada)='".$anoAmostra."'  and MONTH(fic_dt_entrada)='".$mesNumero."'
	  and fic_definitiva ='S'  and fic_previa ='N' and fic_cultivar=ctv_id && ctv_especie=esp_id order by esp_nome";	
endif;

	    //$pdf->AddPage();//adicionando a primera pafina 
		//$pdf->setXY(0,0);
		//$pdf->multicell(290,5,$sqlSeletor,0,1,'L');//lab nome
          



//ENTRA DE QUAKQUER MANEIRA

$generica=new tabelagenerica();
$generica->extras_select =$sqlSeletor;
$generica->selecionaCamposEspecial($generica);
$contador=0;
$contaRegistros=0;
$entrouUmaVez="@";
$especie='@';
$alturaLinha=4;
$cota1=50;
$contador=50000000000000000;//para nao imprimir nem cabecalho nem amostras
if($imprimeAmostras=='SIM')$contador=50;
$contadorGeral=0;
$contaEspecies=0;
//zera os somadores finais
$contaRegPorEspecie_S=0;
$contaPUR_S=0;
$contaGER_S=0;
$contaDOS_S=0;
$contaOCV_S=0;
$contaTZO_S=0;
$contaEAC_S=0;
$contaOGM_S=0;
$contaSAN_S=0;
while ($res = $generica->retornaDados()):
      //captura os dados do registro
      $contadorGeral++;
      $amostraLong=$res->fic_id;
      $amostraDef=$res->fic_amostra;
      $amostraPre=$res->fic_amostra_previa;
	  //pesquisa se esta id ja esta no array
      $especie1=$res->esp_nome;   
      //if($especie1!=$especie):
	  if($contador==50):
        $pdf->SetFont('Arial','',10);
	    $cota1=10;
	    $contador=0;
	    $pdf->AddPage();//adicionando a primera pafina 
		$posicaoCab1=60;$posicaoCab2=45;
		$caminhoFinal="ImagensClientes/i".$idLabo.".JPG";
		$pdf->Image($caminhoFinal,11,$cota1,48,23,'JPG');
		$pdf->SetFont('Arial','',10);
		$pdf->setXY($posicaoCab1,$cota1);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[0]),0,1,'L');//lab nome
		$pdf->setXY($posicaoCab1,$cota1+5);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[1]),0,1,'L');//lab nome
		$pdf->setXY($posicaoCab1,$cota1+10);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[2]),0,1,'L');//lab nome
		$pdf->setXY($posicaoCab1,$cota1+15);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[3]),0,1,'L');//lab nome
        $cota1+=28;
		 $pdf->setXY($margemEsquerda,$cota1);
         $pdf->Cell(190,5,utf8_decode('RELATÓRIO DE PERFORMANCE   mes/ano: ').$mesNumero."/".$anoAmostra. '  Universo:' . $nomeFuncao,1,1,'C',1);//lab nome
	     $cota1+=5;




		//IMPRIME A GRADE DE TITULOS 
        $pdf->SetFont('Arial','',8);
		$cotaLocal=$cota1;
		//coloca os textos dentros dos retangulos
		for($i=1;$i<=3;$i++)://sao 4 linhas
		   $largura=40;
		   $pdf->setXY($margemEsquerda,$cotaLocal);
		   for($j=1;$j<=11;$j++):
		      if($j==1):
			      $larguraDeste=$larguraColuna;
			  else:
			      $larguraDeste=$larguraColunasDados;
			  endif; 	  
				  
		      $pdf->Cell($larguraDeste,$alturaLinha,utf8_decode($vetorTitulos[$i][$j]),0,0,'C',1);//lab nome
		   endfor;
           $cotaLocal+=$alturaLinha;
		endfor;
		//coloca os varios retangulos
		   //$pdf->setXY($margemEsquerda,$cotaY1);
		   for($j=1;$j<=11;$j++):
		      if($j==1):
			     $posicao=$margemEsquerda;
				 $larguraDeste=$larguraColuna;
			  else:
		         $posicao+=$larguraDeste; 
				 $larguraDeste=$larguraColunasDados;
		 	  endif;
			  $pdf->Rect($posicao,$cota1,$larguraDeste,12);//lab nome
			  //$posicao+=$larguraDeste;	 
		   endfor;
	     $cota1=51;
	  endif;//perguntou se contador  =50  ou seja se é para imprimir ou nao alguma coisa
	  
	  
   	  $contador++;
	  if($especie!=$especie1):
        $contaEspecies++;
        $contaRegistrosPorEspecie=0;
		$contaPUR=0;
		$contaGER=0;
		$contaDOS=0;
		$contaOCV=0;
		$contaTZO=0;
		$contaEAC=0;
		$contaOGM=0;
		$contaSAN=0;
        $somaDireita=0;		
	    $especie=$especie1;
	  endif;
	  $cota1+=$alturaLinha;
	  $testesConcatenados="*".$res->fic_testes_realizar;
	  if(strrpos($testesConcatenados,'PUR')>0)$contaPUR++;
	  if(strrpos($testesConcatenados,'GER')>0)$contaGER++;
	  if(strrpos($testesConcatenados,'TZO')>0)$contaTZO++;
	  if(strrpos($testesConcatenados,'TZF')>0)$contaTZO++;
	  if(strrpos($testesConcatenados,'EAC')>0)$contaEAC++;
	  if(strrpos($testesConcatenados,'E24')>0)$contaEAC++;
	  if(strrpos($testesConcatenados,'E36')>0)$contaEAC++;
	  if(strrpos($testesConcatenados,'E48')>0)$contaEAC++;
	  if(strrpos($testesConcatenados,'E72')>0)$contaEAC++;
	  if(strrpos($testesConcatenados,'E96')>0)$contaEAC++;

	  if(strrpos($testesConcatenados,'DOS')>0)$contaDOS++;
	  if(strrpos($testesConcatenados,'OCV')>0)$contaOCV++;
	  if(strrpos($testesConcatenados,'OGM')>0)$contaOGM++;
	  if(strrpos($testesConcatenados,'SAN')>0)$contaSAN++;

      //SOMA TOTAIS	  
	  if(strrpos($testesConcatenados,'PUR')>0)$contaPUR_S++;
	  if(strrpos($testesConcatenados,'GER')>0)$contaGER_S++;
	  if(strrpos($testesConcatenados,'TZO')>0)$contaTZO_S++;
	  if(strrpos($testesConcatenados,'TZF')>0)$contaTZO_S++;
	  if(strrpos($testesConcatenados,'EAC')>0)$contaEAC_S++;
	  if(strrpos($testesConcatenados,'E24')>0)$contaEAC_S++;
	  if(strrpos($testesConcatenados,'E36')>0)$contaEAC_S++;
	  if(strrpos($testesConcatenados,'E48')>0)$contaEAC_S++;
	  if(strrpos($testesConcatenados,'E72')>0)$contaEAC_S++;
	  if(strrpos($testesConcatenados,'E96')>0)$contaEAC_S++;

	  if(strrpos($testesConcatenados,'DOS')>0)$contaDOS_S++;
	  if(strrpos($testesConcatenados,'OCV')>0)$contaOCV_S++;
	  if(strrpos($testesConcatenados,'OGM')>0)$contaOGM_S++;
	  if(strrpos($testesConcatenados,'SAN')>0)$contaSAN_S++;

	  
      $contaRegistrosPorEspecie++;//soma das  recebidas por especie
      $contaRegistrosPorEspecie_S++;//soma geral de recebidas
	  
	  $total=$contaPUR+$contaGER+$contaDOS+$contaVOC+$contaTZO+$contaEAC+$contaOGM+$contaSAN;
	  if($imprimeAmostras=='SIM'):
		  $pdf->SetXY($margemEsquerda,$cota1);
		  $pdf->Cell(50,$alturaLinha,utf8_decode($contadorGeral.') '.$especie1.$testesConcatenados.'  pre='.$amostraPre.'def='.$amostraDef),1,0,'L');	
		  $pdf->Cell($larguraColunasDados,$alturaLinha,$contaRegistrosPorEspecie,1,0,'C');	
		  $pdf->Cell($larguraColunasDados,$alturaLinha,$contaPUR,1,0,'C');	
		  $pdf->Cell($larguraColunasDados,$alturaLinha,$contaGER,1,0,'C');	
		  $pdf->Cell($larguraColunasDados,$alturaLinha,$contaDOS,1,0,'C');	
		  $pdf->Cell($larguraColunasDados,$alturaLinha,$contaOCV,1,0,'C');	
		  $pdf->Cell($larguraColunasDados,$alturaLinha,$contaTZO,1,0,'C');	
		  $pdf->Cell($larguraColunasDados,$alturaLinha,$contaEAC,1,0,'C');	
		  $pdf->Cell($larguraColunasDados,$alturaLinha,$contaOGM,1,0,'C');	
		  $pdf->Cell($larguraColunasDados,$alturaLinha,$contaSAN,1,0,'C');	
		  $pdf->Cell($larguraColunasDados,$alturaLinha,$total,1,0,'C');	
      endif; 
      $matrizGeral[$contaEspecies][1]=$especie;
	  $matrizGeral[$contaEspecies][2]=$contaRegistrosPorEspecie;
      $matrizGeral[$contaEspecies][3]=$contaPUR;
      $matrizGeral[$contaEspecies][4]=$contaGER;
      $matrizGeral[$contaEspecies][5]=$contaDOS;
      $matrizGeral[$contaEspecies][6]=$contaOCV;
      $matrizGeral[$contaEspecies][7]=$contaTZO;
      $matrizGeral[$contaEspecies][8]=$contaEAC;
      $matrizGeral[$contaEspecies][9]=$contaOGM;
      $matrizGeral[$contaEspecies][10]=$contaSAN;
	  $somaDireita=$contaPUR+$contaGER+$contaDOS+$contaOCV+$contaTZO+$contaEAC+$contaOGM+$contaSAN;
      $matrizGeral[$contaEspecies][11]=$somaDireita;
	  
	  
endwhile;
//acumulado embaixo
$matrizGeral[$contaEspecies+1][1]='Total=';
$matrizGeral[$contaEspecies+1][2]=$contaRegistrosPorEspecie_S;
$matrizGeral[$contaEspecies+1][3]=$contaPUR_S;
$matrizGeral[$contaEspecies+1][4]=$contaGER_S;
$matrizGeral[$contaEspecies+1][5]=$contaDOS_S;
$matrizGeral[$contaEspecies+1][6]=$contaOCV_S;
$matrizGeral[$contaEspecies+1][7]=$contaTZO_S;
$matrizGeral[$contaEspecies+1][8]=$contaEAC_S;
$matrizGeral[$contaEspecies+1][9]=$contaOGM_S;
$matrizGeral[$contaEspecies+1][10]=$contaSAN_S;
$somaDireita_S=$contaPUR_S+$contaGER_S+$contaDOS_S+$contaOCV_S+$contaTZO_S+$contaEAC_S+$contaOGM_S+$contaSAN_S;
$matrizGeral[$contaEspecies+1][11]=$somaDireita_S;

////////////////////////////////
//vaI IMPRIMIR A MATRIZ FINAL

$cota1=50;
$contador=50;//nao mudar este parametro pois é o gatilho para imprimir o cabecalho etc
$contadorGeral=0;
for($L=1;$L<=$contaEspecies+1;$L++):
      //captura os dados do registro
	  if($contador==50):
        $pdf->SetFont('Arial','',10);
	    $cota1=10;
	    $contador=0;
	    $pdf->AddPage();//adicionando a primera pafina 
		$posicaoCab1=60;$posicaoCab2=45;
		$caminhoFinal="ImagensClientes/i".$idLabo.".JPG";
		$pdf->Image($caminhoFinal,11,$cota1,48,23,'JPG');
		$pdf->SetFont('Arial','',10);
		$pdf->setXY($posicaoCab1,$cota1);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[0]),0,1,'L');//lab nome
		$pdf->setXY($posicaoCab1,$cota1+5);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[1]),0,1,'L');//lab nome
		$pdf->setXY($posicaoCab1,$cota1+10);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[2]),0,1,'L');//lab nome
		$pdf->setXY($posicaoCab1,$cota1+15);$pdf->Cell(140,5,utf8_decode($vetorCabecalho[3]),0,1,'L');//lab nome
        $cota1+=28;
		 $pdf->setXY($margemEsquerda,$cota1);
         $pdf->Cell(190,5,utf8_decode('RELATÓRIO DE PERFORMANCE   mes/ano: ').$mesNumero."/".$anoAmostra. '  Universo:' . $nomeFuncao,1,1,'C',1);//lab nome
	     $cota1+=5;

		//IMPRIME A GRADE DE TITULOS 
        $pdf->SetFont('Arial','',8);
		$cotaLocal=$cota1;
		//coloca os textos dentros dos retangulos
		for($i=1;$i<=3;$i++)://sao 4 linhas
		   $largura=40;
		   $pdf->setXY($margemEsquerda,$cotaLocal);
		   for($j=1;$j<=11;$j++):
		      if($j==1):
			      $larguraDeste=$larguraColuna;
			  else:
			      $larguraDeste=$larguraColunasDados;
			  endif; 	  
     		  $pdf->SetFont('Arial','',7);
              if($j==2) $pdf->SetFont('Arial','BI',7);
		      $pdf->Cell($larguraDeste,$alturaLinha,utf8_decode($vetorTitulos[$i][$j]),0,0,'C',1);//lab nome
		   endfor;
           $cotaLocal+=$alturaLinha;
		endfor;
		//coloca os varios retangulos
		   //$pdf->setXY($margemEsquerda,$cotaY1);
		   for($j=1;$j<=11;$j++):
		      if($j==1):
			     $posicao=$margemEsquerda;
				 $larguraDeste=$larguraColuna;
			  else:
		         $posicao+=$larguraDeste; 
				 $larguraDeste=$larguraColunasDados;
		 	  endif;
			  $pdf->Rect($posicao,$cota1,$larguraDeste,12);//lab nome
			  //$posicao+=$larguraDeste;	 
		   endfor;
	     $cota1=51;

	  endif;//este cara aaqui verifica se deve colocar o cabecalho
      $contador++;
	  $cota1+=$alturaLinha;
	  $pdf->SetXY($margemEsquerda,$cota1);
	  $total=0;
	  for($j=1;$j<=11;$j++):
	      if($j==1):
             $largura=$larguraColuna;   		  
		  else:
             if($j>=3)$total+=$matrizGeral[$L][$j];
             $largura=$larguraColunasDados;   		  
		  endif;
		  $pdf->SetFont('Arial','',7);
          if($j==2) $pdf->SetFont('Arial','BI',8);
    	  $pdf->Cell($largura,$alturaLinha,utf8_decode($matrizGeral[$L][$j]),1,0,'C');	
      endfor;     
   	  //$pdf->Cell($largura,$alturaLinha,utf8_decode($total),1,0,'C');	
  endfor;//variador de i




//////////////////////////////////


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

		
		
?>
