<?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=10;
			 $margemDireita=$maximoLAdobe-6;
			 $larguraUtil=$maximoLAdobe-16;
			 $futer=$maximoHAdobe-10;
			 //$larguraUtil=$maximoLAdobe;
			 $cinza=220;
		     //$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






            //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";
			   
        
			$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]=$resgenerica->fic_tta;
                $matrizConteudo[$contador][3]=date("d/m/y",strtotime($resgenerica->fic_dt_entrada));
                $matrizConteudo[$contador][4]=$resgenerica->prd_nome;
                $matrizConteudo[$contador][5]=$resgenerica->fic_procedencia;
                $matrizConteudo[$contador][6]=$resgenerica->ctv_nome;
                $matrizConteudo[$contador][7]=$resgenerica->fic_lote;
			    $matrizConteudo[$contador][8]=$vetorAmostraBruto[90];//
                $matrizConteudo[$contador][9]=$resgenerica->fic_safra;
                $matrizConteudo[$contador][10]=$resgenerica->fic_categoria;
                $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="";
				if($funcao=='MONITORAR QUALIDADE'):
				   //aqui vai testar se a amostra ja foi fechada a geminacao
				   //caso contrario nao mostrará nada
	               ///////////no mq é assimxxxxxxxxxxxx
					//germinacao
					$germinacao="";
					$dataGerm="";
					$rean = new rean1();
					$rean->extras_select =" where  rea_teste='GERM' and rea_finalizada='S' AND rea_ficha=".$amostraLong;
	                $rean->selecionaTudo($rean);
                    $estaFinalizado='NAO';
				    $documento=" ";
				    $dataDoc=" ";
					while ($resRean = $rean->retornaDados()):
                      $estaFinalizado='SIM';
	                endwhile;				   
				   
				   //TESTA SE ESTA FINALIZADO PARA SO ENTAO COLOCAR AQUI////////// 
				   if($estaFinalizado=='SIM'):
					   $documento="MQ".$anoCorrente;
					   $dataDoc=$vetorAmostraBruto[52];
                   endif;
  				else:
                   //captura o numero do documento e o tipo
				   //ENTRA DE QUAKQUER MANEIRA
					$genericaDoc=new tabelagenerica();
					$genericaDoc->tabela="documentosponte,documentos";
					$genericaDoc->campos_valores = array(
						   "doc_numero" => NULL,
						   "doc_tipo" => NULL,
						   "doc_data" => NULL,
					);
					$genericaDoc->extras_select =" where dpo_documento_autonumerador=doc_id &&  dpo_amostra_vinculada=".$amostraLong;
					$genericaDoc->selecionaCampos($genericaDoc);
					while ($resgenericaDoc= $genericaDoc->retornaDados()):
		               $tipoDoc=$resgenericaDoc->doc_tipo;
		               $numeroDoc=$resgenericaDoc->doc_numero;
		               $dataDoc=date("d/m/y",strtotime($resgenericaDoc->doc_data));  
					   $documento=substr($tipoDoc,0,1).str_pad($numeroDoc, 4, "0", STR_PAD_LEFT).date("/y",strtotime($resgenericaDoc->doc_data));
                       //$documento='dafo';

                    endwhile;      
				endif;
			    $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
			$matrizLargura[1]=12;$matrizTitulo[1]='Amostra';
			$matrizLargura[2]=15; $matrizTitulo[2]='FSA';
			$matrizLargura[3]=17;$matrizTitulo[3]='Recebimento';
			$matrizLargura[4]=37; $matrizTitulo[4]='Requerente';
			$matrizLargura[5]=25; $matrizTitulo[5]='Procedência';
			$matrizLargura[6]=23; $matrizTitulo[6]='Cultivar';
			$matrizLargura[7]=19; $matrizTitulo[7]='Lote';
			$matrizLargura[8]=25; $matrizTitulo[8]='Representatividade';//renasem do requerente
			$matrizLargura[9]=15; $matrizTitulo[9]='Safra';
			$matrizLargura[10]=16; $matrizTitulo[10]='Categoria';
			$matrizLargura[11]=15; $matrizTitulo[11]='DocTo';
			$matrizLargura[12]=15; $matrizTitulo[12]='Data';
			$matrizLargura[13]=45; $matrizTitulo[13]='Observação';
			$limite=sizeof($matrizLargura);

		    $cinza=230;
			$pdf->SetFillColor($cinza,$cinza,$cinza); 
			$pdf->SetFont('Arial','',7);	
			$contadorLinhasPagina=0;
			$numeroPagina=0;
			
			//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($i=1;$i<=$contador;$i++):
			    $cota1+=4.5;
			    //imprime o timbrado
                //se o contador é igual a 0, imprime o timbrado  
				if($contadorLinhasPagina==0):
				    $pdf->AddPage();//adicionando a primera pafina 
                    $numeroPagina++;
                    //$pdf->SetFont('Times','',7);
			        //cabecalho
				 	$posicaoCab1=60;$posicaoCab2=245;
		            $caminhoFinal="ImagensClientes/i".$idLabo.".JPG";
		            $pdf->Image($caminhoFinal,11,3,24,12,'JPG');
					$cota1=5;			
					$pdf->SetFont('Arial','B',10);
					$pdf->setXY($posicaoCab1,$cota1);$pdf->Cell(140,5,'RG-LAS-013',0,1,'C');
	     			$pdf->setXY($posicaoCab1,$cota1+5);$pdf->Cell(140,5,utf8_decode('Protocolo de Recebimento de amostras'),0,1,'C');//lab nome
					$pdf->SetFont('Arial','',8);
					$posicaoDireita=189;
					$pdf->setXY($posicaoDireita,$cota1);$pdf->Cell(100,5,utf8_decode('Edição:09'),0,1,'R');
					$pdf->setXY($posicaoDireita,$cota1+5);$pdf->Cell(100,5,utf8_decode('Data de aprovação:23/10/2015'),0,1,'R');
		            //aqui imprime a linha de cabecalho //posso negrita/ colocar hachurrado etc 
		            $cota1=$cota1+30;
					$pdf->setXY($margemEsquerda,$cota1-7);
					$pdf->Cell(50,5,utf8_decode('Ano:'.$anoCorrente),1,0,'L',1);//lab nome
		            $pdf->Rect($margemEsquerda,$cota1,$larguraUtil-2,10,'FD');//sintaxe do rect  (x,y,largura,altura'fill draw'	
					//imprime casuismo da amostra		
					$pdf->setXY($margemEsquerda,$cota1+1);$pdf->Cell($matrizLargura[1],4,utf8_decode('Nº'),0,0,'C');
		     		$pdf->setXY($margemEsquerda,$cota1+5);$pdf->Cell($matrizLargura[1],4,'Amostra',0,0,'C');
					//aqi imprime varios que sao normais...
		     		$pdf->setXY($margemEsquerda+$matrizLargura[1],$cota1);
					for($j=2;$j<=10;$j++):
						$largura=$matrizLargura[$j];
						$larguraTexto=ceil($largura*.7);
						$texto=$matrizTitulo[$j];
						$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
					endfor;
					//imprime casuismo do laudo		
		            $posicaoLaudoX=214;
					$pdf->setXY($posicaoLaudoX,$cota1);$pdf->Cell(30,5,'Laudo',1,0,'C');
		     		$pdf->setXY($posicaoLaudoX,$cota1+5);$pdf->Cell(15,5,utf8_decode('Nº'),1,0,'C');
		     		$pdf->Cell(15,5,utf8_decode('Data'),1,0,'C');
					$pdf->setXY($posicaoLaudoX+30,$cota1+2.5);
		     		$pdf->Cell($matrizLargura[13],5,utf8_decode('Observação'),0,0,'C');
					
					
					$cota1=45;
					
				endif;//aqui encerra o if que controla o contador de paginas e imprime cabecalho e dao salto de pagina

			    $contadorLinhasPagina++;
				if($contadorLinhasPagina==30)://colocar 30 depois
				   $contadorLinhasPagina=0;
				   //SETOR DO RODAPE
					$cotaR1=190;
					$pdf->SetFont('Arial','',6);		
					$pdf->setXY($margemEsquerda,$cotaR1);
				    $pdf->Cell(90,5,utf8_decode('Elaborado por: Silas'),0,0,'L');
				    $pdf->Cell(90,5,utf8_decode('Página: '.$numeroPagina.'/'.$totalPaginas),0,0,'C');
				    $pdf->Cell(90,5,utf8_decode('Aprovado por:Juliana Trinca'),0,0,'R');
					$pdf->SetFont('Arial','',8);
				endif;
			
			    //negritar linhas de cores alternadas
				$file=0;  
			    if($i % 2 == 0):
				    $file=1;
			    endif;	
				
					
				$pdf->setXY($margemEsquerda,$cota1);
	            $tabela .= '<tr>';
                for($j=1;$j<=$limite;$j++): 
					$largura=$matrizLargura[$j];
					$larguraTexto=ceil($largura*.7);
					$texto=$matrizConteudo[$i][$j];
					$tabela .= '<td>'.$texto.'</td>';
					$texto=substr($texto,0,$larguraTexto);//pois as vezes vai acavalar alguns textos
				    $pdf->Cell($largura,4.5,utf8_decode($texto),1,0,'C',$file);//lab nome
                endfor;
		        $tabela .= '</tr>';
            endfor;
			
		   $tabela .= '</table>';
		   $sessao->setVar('controleExcel',$tabela);
   				
				/////////////
			//endfor;
			
			//SETOR DO RODAPE
			$cotaR1=190;
			$pdf->SetFont('Arial','',6);		
			$pdf->setXY($margemEsquerda,$cotaR1);
		    $pdf->Cell(90,5,utf8_decode('Elaborado por: Lucia Santos'),0,0,'L');
		    $pdf->Cell(90,5,utf8_decode('Página: '.$numeroPagina.'/'.$totalPaginas),0,0,'C');
		    $pdf->Cell(90,5,utf8_decode('Aprovado por:Juliana Trinca'),0,0,'R');
			
			ob_clean(); // Quando usava essa classe o ob_clean() resolvia meu problema
$pdf->Output("arquivo.pdf","I");

		
		
?>
