<?php
require_once(dirname(dirname(__FILE__))."/paineladm/funcoes.php");
$pathlocal = dirname(__FILE__);
//require_once(dirname($pathlocal)."/paineladm/classes/fpdf.class.php");
//require_once(dirname($pathlocal)."/paineladm/classes/sessao.class.php");
$material = $_COOKIE['material'];
$sessao = new sessao();
$modelo=$sessao->getVar('controle');
$preenchimento=$sessao->getVar('controle1');

$cliente=$sessao->getVar('cliente');
$senhaCli=$sessao->getVar('iduser');
$idLabo=$sessao->getVar('idLabo');
$inicio=$sessao->getVar('inicio');
$final=$sessao->getVar('final');
$anoCorrente=$sessao->getVar('anocorrente');
$anoAmostra=$anoCorrente;
$finalidade=$sessao->getVar('finalidade');
echo ("finalidade= $finalidade<br>");
$enquadramento=$finalidade;
$nomeOperador=$sessao->getVar('nomeuser');
$amostraLong=$sessao->getVar('amostraLong');
//echo("amostralong= $amostraLong<br>");
$objetocalculo = new calculos(); //calcula todos valores finais
$vetorCabecalho=$objetocalculo->dadoslaboratorio();

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

			//aqi imprime O ULTIMO..
			//$matrizLargura[13]=70;
     		$pdf->setXY(239,$cota1);
			$largura=$matrizLargura[13];
			$larguraTexto=ceil($largura*.7);
			$texto=$matrizTitulo[13];
			$texto=substr($texto,0,$largura);//pois as vezes vai acavalar alguns textos
		    $pdf->Cell($largura,10,utf8_decode($texto),1,0,'C',1);//lab nome
            $largurasRepeticoes=10;
			$matrizLargura[1]=16;
			$matrizLargura[2]=19;
			$matrizLargura[3]=20;
			$matrizLargura[4]=16;
			$matrizLargura[5]=$largurasRepeticoes;
			$matrizLargura[6]=$largurasRepeticoes;
			$matrizLargura[7]=$largurasRepeticoes;
			$matrizLargura[8]=$largurasRepeticoes;
			$matrizLargura[9]=$largurasRepeticoes;
			$matrizLargura[10]=$largurasRepeticoes;
			$matrizLargura[11]=$largurasRepeticoes;
			$matrizLargura[12]=$largurasRepeticoes;
			$matrizLargura[13]=13;
			$matrizLargura[14]=20;
			$matrizLargura[15]=16;
			$matrizLargura[16]=26;
			$matrizLargura[17]=17;
			$matrizLargura[18]=26;
            $limite=18;
			
			//cria matriz de posicoes
			$matrizPosicao[1]=$margemEsquerda;
			for($i=1;$i<$limite;$i++):
 		       $matrizPosicao[$i+1]=$matrizPosicao[$i]+$matrizLargura[$i];
			endfor;
		





            //cria o array conteudo################################################33
			//ENTRA DE QUAKQUER MANEIRA
			$generica=new tabelagenerica();
			$generica1=new tabelagenerica();
			//echo $finalidade;
			
			//$campos=" select fic_amostra,fic_tta, fic_lote,ctv_nome, prd_nome, prd_renasem, amt_apelido, amt_renasem,fic_funcao,fic_categoria,fic_safra,fic_peneira,fic_dt_entrada,fic_repre_unid,fic_id,esp_nome,fic_dt_amostragem,fic_amostra_previa,fic_observacao,fic_procedencia ";
			   //$generica->extras_select =$campos ."  from  ficha,cultivar,remetente,amostrador,especies  where fic_amostra>='".$inicio."' &&   fic_amostra<='".$final."'            && prd_id=fic_produtor   && amt_id=fic_amostrador && fic_cultivar=ctv_id   && ctv_especie=esp_id  and fic_ano='".$anoCorrente."'  && fic_labo=" . $idLabo." order by fic_amostra";

			$campos=" select fic_amostra,fic_peneira,fic_dt_entrada,fic_id,esp_nome ";
			$generica->extras_select =$campos ."  from  ficha,cultivar,especies  where fic_amostra>='".$inicio."' &&   fic_amostra<='".$final."'            &&  fic_cultivar=ctv_id   && ctv_especie=esp_id  and fic_ano='".$anoCorrente."' && fic_labo=" . $idLabo." order by fic_amostra";

			   
        
			$generica->selecionaCamposEspecial($generica);
			$contador=1;
            //vou criar a matriz de conteudos que vai ter linhas e colunas
			while ($resgenerica= $generica->retornaDados()):
				$amostraLong=$resgenerica->fic_id;
			    $vetorAmostraBruto=$objetocalculo->capturaGeralAmostra($amostraLong);//captura TUDO 
    
                $matrizConteudo[$contador][1]=str_pad($resgenerica->fic_amostra, 4, "0", STR_PAD_LEFT).'/'.date("y",strtotime($resgenerica->fic_dt_entrada));
                $matrizConteudo[$contador][2]=date("d/m/y",strtotime($resgenerica->fic_dt_entrada));
                $matrizConteudo[$contador][3]=$resgenerica->esp_nome;
                $matrizConteudo[$contador][4]=$resgenerica->fic_peneira;
                $funcao=$resgenerica->fic_funcao;				
                //Se a funcao for MONITORAR QUALIDADE ele pega a data do teste de gemrinacao
				//caso contrariro pega o numero do documento(se houver)
				$documento="";
				$dataDoc="";

			    $matrizConteudo[$contador][11]=$documento;//
			    $matrizConteudo[$contador][12]=$dataDoc;//
			    $matrizConteudo[$contador][13]=$resgenerica->fic_observacao;//

                $amostraLong=$resgenerica->fic_id;
				

			    $contador++;
                //if($contador>30)break;
			endwhile; 
			$totalPaginas=ceil($contador/30);//arredonda para cima

			
			//	$pdf->Cell($largura,5,"xxxxxxxxxxxxxxx" .$contador ." limite=". $limite,1,0,'L');//lab nome		
//agora imprime	o corpo		
//o indice vai permitir eu imprimir na ordem que eu quiser e inclusive suprimir linhas	
			//se a pessoa quer imprimir um protocolo vazio(para documentação da qualidade)
			if($preenchimento=="branco"):
               $contador=0;
			endif;
			
            //para cada modelo defino as larguras e os titulos. Suprimo as colunas que nao usar
			//com isso ja consigo que ele me mostre so o que eu realmente quero no livro
			//no vetor indices eu digo quais as colunas e em que posicao relativa

			

			$limite=sizeof($matrizLargura);

		    $cinza=230;
			$pdf->SetFillColor(223,220,41); 
			$pdf->SetFont('Arial','',7);	
			$contadorLinhasPagina=0;
			$numeroPagina=0;
			//VARIAVEIS QUE PUXEID DA FICHA
			$espacador=4.5;
			$cota1=10;
			$cotaOriginal=$cota1;

			$largo1=36;
			$largo2=153;
			$largo3=80;
			$posicao3=$margemEsquerda+$largo1+$largo2;
			$terco=$largo3/3;
			
			
			
			//cria a tabela que vai exportar para excel
			$tabela = '<table border="1">';
			$tabela .= '<tr>';
			 $tabela .= '<td colspan="8">Exportacao de dados para Excel - Sistema SilasNet</tr>';//usa para o titulo tantas colunas quanto foi definido em coslpan
			 $tabela .= '</tr>';
			 $tabela .= '<tr>';
			 for($je=1;$je<=20;$je++):
				$tabela .= '<td>'.utf8_decode($matrizTitulo[$je]).'</td>';
			 endfor;
			 //so para ver como adiciona as colunas...hihihi
			 //$tabela .= '<td><b>Nome</b></td>';
			 //$tabela .= '<td><b>Email</b></td>';
			 $tabela .= '</tr>';
			 
			 
			 
			 
			
			for($linha=1;$linha<$contador;$linha++):
			    //$cota1+=$espacador;
			    //imprime o timbrado
                //se o contador é igual a 0, imprime o timbrado  
				if($contadorLinhasPagina==0):

                    $cota1=15;
				    $pdf->AddPage();//adicionando a primera pafina 
                    $numeroPagina++;
                    //$pdf->SetFont('Times','',7);
					
	
					//COMECA O CABEÇA~LHO
$pdf->Image('ImagensClientes/i' .$idLabo.'.JPG',$margemEsquerda+5,$cota1+2,24,12,'JPG');//vai LOGOMARCA
$pdf->Rect($margemEsquerda,$cota1,$largo1,4*$espacador);
$pdf->SetFont('Arial','',10);
$pdf->setXY($margemEsquerda+$largo1,$cota1); 
$pdf->Cell($largo2,2*$espacador,utf8_decode("FORMULÁRIO"),1,1,'C');

$pdf->setXY($margemEsquerda+$largo1,$cota1+2*$espacador); 
$pdf->SetFont('Arial','B',10);
$pdf->Cell($largo2,2*$espacador,utf8_decode("Ficha de Peso de Mil sementes"),1,1,'C');
//direita
$pdf->Rect($posicao3,$cota1,$largo3,2*$espacador);
$pdf->SetFont('Arial','',8);
$pdf->setXY($margemEsquerda+$largo1+$largo2,$cota1); 
$pdf->Cell($largo3,$espacador,utf8_decode("Identificação"),0,1,'C');
$pdf->SetFont('Arial','B',10);
$pdf->setXY($margemEsquerda+$largo1+$largo2,$cota1+$espacador); 
$pdf->Cell($largo3,$espacador,utf8_decode("FOR 7.8.03"),0,1,'C');
$pdf->Rect($posicao3,$cota1+2*$espacador,$terco,2*$espacador);
$pdf->Rect($posicao3+$terco,$cota1+2*$espacador,$terco,2*$espacador);
$pdf->Rect($posicao3+$terco+$terco,$cota1+2*$espacador,$terco,2*$espacador);
$pdf->SetFont('Arial','',10);
$pdf->setXY($posicao3,$cota1+2*$espacador); 
$pdf->Cell($largo3/3,$espacador,utf8_decode("Data revisão"),0,0,'C');
$pdf->Cell($largo3/3,$espacador,utf8_decode("Revisão"),0,0,'C');
$pdf->Cell($largo3/3,$espacador,utf8_decode("Página"),0,0,'C');
$pdf->setXY($posicao3,$cota1+3*$espacador); 
$pdf->SetFont('Arial','B',10);
$pdf->Cell($largo3/3,$espacador,utf8_decode("10/07/2020"),0,0,'C');
$pdf->Cell($largo3/3,$espacador,utf8_decode("00"),0,0,'C');
$pdf->Cell($largo3/3,$espacador,utf8_decode("1/1"),0,0,'C');

//vai imprimir cabecalho das colunas modelo pmsvigor2020
//imprime os retangulos
$cota1=38;
//primeiros 4
for($i=1;$i<=4;$i++)://os 4 primeiro retangulos
$pdf->Rect($matrizPosicao[$i],$cota1,$matrizLargura[$i],2*$espacador,'FD');//sintaxe do rect  (x,y,largura,altura'fill draw'	
endfor;
//retangulo longo
$larguraLonga=8*$largurasRepeticoes;
$pdf->Rect($matrizPosicao[5],$cota1,$larguraLonga,2*$espacador,'FD');//sintaxe do rect  (x,y,largura,altura'fill draw'	
//ultimos retangulos
for($i=13;$i<=18;$i++)://os 4 primeiro retangulos
$pdf->Rect($matrizPosicao[$i],$cota1,$matrizLargura[$i],2*$espacador,'FD');//sintaxe do rect  (x,y,largura,altura'fill draw'	
endfor;


//coloca os conteusos um por um
$pdf->setXY($matrizPosicao[1],$cota1); 
$pdf->Cell($matrizLargura[1],$espacador,utf8_decode("Nº"),0,1,'C');
$pdf->setXY($matrizPosicao[1],$cota1+$espacador); 
$pdf->Cell($matrizLargura[1],$espacador,utf8_decode("Amostra"),0,1,'C');
//segunda coluna
$pdf->setXY($matrizPosicao[2],$cota1); 
$pdf->Cell($matrizLargura[2],2*$espacador,utf8_decode("Data"),0,1,'C');
//terceiraa coluna
$pdf->setXY($matrizPosicao[3],$cota1); 
$pdf->Cell($matrizLargura[3],2*$espacador,utf8_decode("Espécie"),0,1,'C');
//quarta coluna
$pdf->setXY($matrizPosicao[4],$cota1); 
$pdf->Cell($matrizLargura[4],2*$espacador,utf8_decode("Peneira"),0,1,'C');
//palavra repeticoes
$pdf->setXY($matrizPosicao[5],$cota1); 
$pdf->Cell($larguraLonga,$espacador,utf8_decode("Repetição"),0,1,'C');


//13ª coluna
$pdf->setXY($matrizPosicao[13],$cota1); 
$pdf->Cell($matrizLargura[13],2*$espacador,utf8_decode("Média"),0,1,'C');
//14ª coluna
$pdf->setXY($matrizPosicao[14],$cota1); 
$pdf->Cell($matrizLargura[14],2*$espacador,utf8_decode("Variância"),0,1,'C');

//15ª coluna
$pdf->setXY($matrizPosicao[15],$cota1); 
$pdf->Cell($matrizLargura[15],$espacador,utf8_decode("Desvio"),0,1,'C');
$pdf->setXY($matrizPosicao[15],$cota1+$espacador); 
$pdf->Cell($matrizLargura[15],$espacador,utf8_decode("Padrão"),0,1,'C');
//16ª coluna
$pdf->setXY($matrizPosicao[16],$cota1); 
$pdf->Cell($matrizLargura[16],$espacador,utf8_decode("Coeficiente"),0,1,'C');
$pdf->setXY($matrizPosicao[16],$cota1+$espacador); 
$pdf->Cell($matrizLargura[16],$espacador,utf8_decode("de Variação"),0,1,'C');

//17ª coluna
$pdf->setXY($matrizPosicao[17],$cota1); 
$pdf->Cell($matrizLargura[17],2*$espacador,utf8_decode("PMS"),0,1,'C');
//18ª coluna
$pdf->setXY($matrizPosicao[18],$cota1); 
$pdf->Cell($matrizLargura[18],2*$espacador,utf8_decode("Responsável"),0,1,'C');
$cota1=$cota1+$espacador*2;
////////////////////////////////////////////////////////////////////////
//SETOR DO RODAPE
$cotaRodape=155;
$contadorLinhasPagina=0;
//cria um retangulo 	
$pdf->Rect($margemEsquerda,$cotaRodape,$larguraUtil,$espacador*2); 					
//$cotaR1=190;
$pdf->SetFont('Arial','',7);		
$pdf->setXY($margemEsquerda,$cotaRodape+$espacador*2);
$pdf->Cell($larguraUtil,5,utf8_decode('Legenda: * C.V<4% = não palhentas;   C.V<6% = palhentas.'),0,0,'L');
$pdf->setXY($margemEsquerda,$cotaRodape+$espacador*5);
$pdf->Cell(70,$espacador,utf8_decode('Arquivo/Armazenamento'),1,0,'C');
$pdf->Cell(50,$espacador,utf8_decode('Indexação'),1,0,'C');
$pdf->Cell(75,$espacador,utf8_decode('Coleta/Acesso'),1,0,'C');
$pdf->Cell(40,$espacador,utf8_decode('Tempo de retenção'),1,0,'C');
$pdf->Cell(35,$espacador,utf8_decode('Disposição'),1,0,'C');

$pdf->setXY($margemEsquerda,$cotaRodape+$espacador*6);
$pdf->Cell(70,$espacador*2,utf8_decode('Arquivo sistema de gestão setorial'),1,0,'C');
$pdf->Cell(50,$espacador*2,utf8_decode('Data do preenchimento'),1,0,'C');
$pdf->Cell(75,$espacador*2,utf8_decode('Manual/Colaboradores do setor'),1,0,'C');
$pdf->Cell(40,$espacador*2,utf8_decode('03 anos'),1,0,'C');
$pdf->Cell(35,$espacador*2,utf8_decode('Eliminar'),1,0,'C');
$pdf->SetFont('Arial','',8);

//////////////////////////////////////////////////////////////////////					
				endif;//aqui encerra o if que controla o contador de paginas e imprime cabecalho e dao salto de pagina

			
			    //negritar linhas de cores alternadas
				$file=0;  
			    if($i % 2 == 0):
				    $file=1;
			    endif;
				$altura=6*$espacador;	
				$pdf->setXY($matrizPosicao[1],$cota1);
	            $tabela .= '<tr>';
				$pdf->SetFont('Arial','',7);	

                //primeira 4 colunas
                for($j=1;$j<=4;$j++): 
					$largura=$matrizLargura[$j];
					$larguraTexto=ceil($largura*.7);
					$texto=$matrizConteudo[$linha][$j];
					$tabela .= '<td>'.$texto.'</td>';
					$texto=substr($texto,0,$larguraTexto);//pois as vezes vai acavalar alguns textos
				    $pdf->Cell($largura,$altura,utf8_decode($texto),1,0,'C',$file);//lab nome
                endfor;

                //colunas de repeticoes				
                for($j=1;$j<=8;$j++): 
				    $largura=$matrizLargura[$j+4];
				    $posicao=$matrizPosicao[$j+4];
                    //caixa de numeracao 1 a 8
					$pdf->setXY($posicao,$cota1);
				    $pdf->Cell($largura,$espacador,utf8_decode($j),1,0,'C',1);//lab nome
                    //retangulo de cima
					$pdf->setXY($posicao,$cota1+$espacador*1);
				    $pdf->Cell($largura,$espacador*2,utf8_decode(""),1,0,'C',$file);//lab nome
                    //caixa de numeracao 9 a 16
					$pdf->setXY($posicao,$cota1+$espacador*3);
				    $pdf->Cell($largura,$espacador,utf8_decode($j+8),1,0,'C',1);//lab nome
                    //retangulo de baixo
					$pdf->setXY($posicao,$cota1+$espacador*4);
				    $pdf->Cell($largura,$espacador*2,utf8_decode(""),1,0,'C',$file);//lab nome
					
					
					//$pdf->rect($posicao,$cota1+$espacador*4,$matrizLargura[$i],$espacador*2);

					$larguraTexto=ceil($largura*.7);
					$texto=$matrizConteudo[$linha][$j];
					$tabela .= '<td>'.$texto.'</td>';
                    //caixa de cima 
					$texto=substr($texto,0,$larguraTexto);//pois as vezes vai acavalar alguns textos
				    //$pdf->Cell($largura,$espacador*2,utf8_decode(""),1,0,'C',$file);//lab nome
                endfor;
                //ultimas 6 colunas
                for($j=13;$j<=18;$j++): 
				    $pdf->setXY($matrizPosicao[$j],$cota1);
					$largura=$matrizLargura[$j];
					$larguraTexto=ceil($largura*.7);
					$texto=$matrizConteudo[$linha][$j];
					$tabela .= '<td>'.$texto.'</td>';
					$texto=substr($texto,0,$larguraTexto);//pois as vezes vai acavalar alguns textos
				    $pdf->Cell($largura,$altura,utf8_decode($texto),1,0,'C',$file);//lab nome
                endfor;
				
			    $contadorLinhasPagina++;
	            if($contadorLinhasPagina==4):
				   $contadorLinhasPagina=0;			
				endif;
		        $tabela .= '</tr>';
				$cota1+=$altura;

            endfor;
			
		   $tabela .= '</table>';
		   $sessao->setVar('controleExcel',$tabela);
   				
	
			
			ob_clean(); // Quando usava essa classe o ob_clean() resolvia meu problema
$pdf->Output("arquivo.pdf","I");

		
		
?>
