<?php 
require_once(dirname(dirname(__FILE__))."/funcoes.php");
protegeArquivo(basename(__FILE__));
loadJS('jquery-validate');
loadJS('jquery-validate-messages');
$sessao = new sessao();
$senhaCli=$sessao->getVar('iduser');
$idLabo=$sessao->getVar('idLabo');
$anoCorrente=$sessao->getVar('anocorrente');
$anoAmostra=$anoCorrente;
$ultima=$sessao->getVar('ultima');
$limite=$_POST['limite'];
if($limite<1)  $limite=15;
if($limite>100) :
     $limite=100;
	 echo("O limite máximo é 100 amostras por pesquisa!<br>");
endif;	 



//echo("passo pelo comeco");
$nomeOperador=$sessao->getVar('nomeuser');
//echo("Operador: $nomeOperador idlabo=$idLabo tela=$tela<br>");
$legendaGeral="Registro de amostra(Incluir,alterar,excluir,localizar)  Operador:".$nomeOperador;
//vai capturar a ida da ultima amostrs 
//quando ele entrar aqui ele ja vai ler o numero da amostra a partir de uma session 
//vai ter um modulo perfeito onde ele vai selecionar amostra
//prieira ultima segunte anterior, aleatoria ao localizar vai voltar para o edit trazendo o numero da amostra na session 


if($sessao->getVar('amostraLong')==NULL)
{
	//echo "nulo<br>";
	//vai capturar a id da amostra caso nao tenha nada na sessao(logo depois de logar))
	$userAmostra = new amostras();
    $userAmostra->extras_select =  " where fic_ano='".$anoAmostra."' && fic_labo='".$idLabo."' order by fic_amostra desc LIMIT 1";  //fucnciona perfeito
    $userAmostra->selecionaCampos($userAmostra);
    while ($resAmostra = $userAmostra->retornaDados()):
        $amostraLong=$resAmostra->fic_id;
        $ultima=$resAmostra->fic_amostra;
    endwhile;		
	$sessao->setVar('amostraLong', $amostraLong);
	$sessao->setVar('ultima',$ultima);
}
else
{
	//echo "nao nulo<br>";
    $amostraLong=$sessao->getVar('amostraLong');
}


switch ($tela):
    case 'nova':
      echo"esta no nova";
	  $tela='editar';
    break;
    case 'faltafazer':
        $pedindo='LISTAGERAL';
    	echo("Este relatório mostra todas amostras do intervalo examinando se o TESTE SOLICITADO se encontra por fazer. Portanto deve estar marcado como teste a realizar e ainda nao ter sido gravado resultado dele.<br>");
        if($atual==""):
		    $atual=$ultima-$limite+1;//exemplo: ultima=6 limite=3  atual tem que ser 4 ou seja atual=6-3+1
		endif;			
        if(isset($_POST['listaAnterior'])):
			$atual=$_POST['atual'];
			$pedindo='LISTAGERAL';
         	//echo("LISTA GERAL:  Serao mostradas  todas amostras do intervalo se tiver algum TESTE SOLICITADO, por fazer. <br>");
			printMSG('LISTA GERAL:  Serao mostradas  todas amostras do intervalo se tiver algum TESTE SOLICITADO, por fazer.','erro');

		   // echo("atualxxxx=$atual<br>");
		endif;

        if(isset($_POST['listaAnterior1'])):
			$atual=$_POST['atual'];
			$pedindo='LISTATESTESABERTOS';
         	//echo("ACHAR ABERTAS:  Serao mostradas  as amostras do intervalo que tem um ou mais testes por fazer. <br>");
			printMSG('ACHAR ABERTAS:  Serao mostradas  as amostras do intervalo que tem um ou mais testes por fazer.','erro');
		   // echo("atualxxxx=$atual<br>");
		endif;
		
        if(isset($_POST['listaAnterior2'])):
			$atual=$_POST['atual'];
			$pedindo='SEMDOCUMENTO';
         	//echo("SEM DOCUMENTOS:  Relaciona so amostras que ainda nao foram incluidas nalgum documento. <br>");
			printMSG('SEM DOCUMENTOS:  Relaciona só amostras que ainda não foram incluidas nalgum documento.','erro');

		   // echo("atualxxxx=$atual<br>");
		endif;

        loadCSS('data-table',NULL,TRUE);
        loadJS('jquery-datatable');        
        ?>
        <script type="text/javascript">
            $(document).ready(function(){
               $("#listausers").dataTable({
                "oLanguage": {
                    "sZeroRecords": "Nenhum dado econtrado para exibição",
                    "sInfo": "Mostrando _START_ a _END_ de _TOTAL_ de registros",
                    "sInfoEmpty": "Nenhum registro para ser exibido",
                    "sInfoFiltered": "(filtrado de _MAX_ registros no total)",
                    "sSearch": "Pesquisar",
                },
                "sScrollY": "300px",
                "bPaginate": false,
                "aaSorting": [[0, "asc"]] 
               }); 
            });
        </script>
        <table cellspacing="0" cellpadding="0" border="0" class="display" id="listausers">
            <thead>
                <tr>
                    <th>Amostra</th><th>Ir</th><th>Falta fazer</th><th>Usuário</th> <th>Função</th><th>Registrador</th><th>Dt entrada</th><th>Documento feito</th>
                </tr>
            </thead>
            <tbody>
                <?php 
                $user = new amostras();
				$user->extras_select = "WHERE fic_amostra>=".$atual." and fic_labo=".$idLabo ." order by fic_amostra limit ".$limite."";
                $atual-=$limite;
				if($atual<1)$atual=1;
				$finalsequencia=$atual+$limite-1;
				//echo("extra=$user->extras_select<br>");

                $user->selecionaTudo($user);
                while ($res = $user->retornaDados()):
					$valorG="";//vai identificar se nao foi feito germinacao
					$valorP="";//vai identificar se nao foi feito pureza
                    $amostraLong=$res->fic_id;
					//$protocolo=$res->fic_amostra;
					$protocolo=str_pad($res->fic_amostra, 4, "0", STR_PAD_LEFT).'/'.date("y",strtotime($res->fic_dt_entrada));
					$dt_entrada=date("d/m/y",strtotime($res->fic_dt_entrada));
					$operadorGer="";
					////////vai verificar TODA AS AMOSTRASos testes a realizar/////////////
					if($pedindo=="LISTAGERAL")  $vaiAparecer='SIM';//verifica se estou pedindo a lista geral		
					if($pedindo=="SEMDOCUMENTO")$vaiAparecer='SIM';						  
					if($pedindo=="LISTATESTESABERTOS")$vaiAparecer='NAO';
					
						$testesol = new testesSolicitados();
						$testesol->extras_select = "where tes_ficha=".$amostraLong;
						$testesol->selecionaTudo($testesol);
						while ($resTS = $testesol->retornaDados()):
                            $testeSolicitado=$resTS->tes_teste;
	    					//aqui vai pesquisar se o teste solicitado esta ou nao fechado, mas nem testa se nao foi solicitado
	                        if($testeSolicitado=="GER"):
							    //verifica se o teste de germinacao esta fechado//////vai pesquisar  se fez germinacao/////////////
	                            //echo(" pediu teste GER NA AMOSTRA $protocolo<br>");						
							    //ENTRA DE QUAKQUER MANEIRA
						 	 	$generica=new tabelagenerica();
								$generica->tabela="rean1";
								$generica->campos_valores = array(
										"rea_finalizada" => NULL,
										"rea_operador" => NULL,
									);
								$generica->extras_select =" where rea_teste='GERM' AND rea_ficha=" . $amostraLong;
							    $generica->selecionaCampos($generica);
								while ($resgenerica = $generica->retornaDados()):
			                      $finalizadaG=$resgenerica->rea_finalizada;
			                      $operadorGer="[G]".substr($resgenerica->rea_operador,0,4);
                                  echo("operadorGer= $operadorGer<br>");
							    endwhile;
			                    if($finalizadaG=='N'):
								     $valorG="GER,";
             					     if($pedindo=="LISTATESTESABERTOS") $vaiAparecer='SIM';
								endif;//verifica se é aberto por causa do teste de germinaco que nao foi feito	 
							endif;//pergunta se é ger

	                        if($testeSolicitado=="PUR"):
								//////vai pesquisar  se fez pureza/////////////
							    //ENTRA DE QUAKQUER MANEIRA
						 	 	$generica=new tabelagenerica();
								$generica->tabela="rean1";
								$generica->campos_valores = array(
										"rea_finalizada" => NULL,
									);
								$generica->extras_select =" where rea_teste='PURE' AND rea_ficha=" . $amostraLong;
							    $generica->selecionaCampos($generica);
								while ($resgenerica = $generica->retornaDados()):
			                      $finalizadaP=$resgenerica->rea_finalizada;
							    endwhile;
				                if($finalizadaP=='N'):
								     $valorG="PUR,";
             					     if($pedindo=="LISTATESTESABERTOS") $vaiAparecer='SIM';
								endif;//verifica se é aberto por causa do teste de germinaco que nao foi feito	 
							endif;
						endwhile;//fim do while que percorre os testes solicitados    
						$usuario=$operadorGer.$operadorPur;
						
						//////vai pesquisar  se tem documentos qual tipo e que numero/////////////
					    //ENTRA DE QUAKQUER MANEIRA
				 	 	$generica=new tabelagenerica();
						$generica->tabela="documentos,documentosponte";
						$generica->campos_valores = array(
	    					   "doc_tipo" => NULL,
							   "doc_numero" => NULL,
							   "doc_data" => NULL,
							);
						$generica->extras_select =" where dpo_documento_autonumerador=doc_id and dpo_amostra_vinculada=" . $amostraLong;
					    $generica->selecionaCampos($generica);
	                    $documento="Nenhum";                    
						while ($resgenerica = $generica->retornaDados()):
	                      $documento=$resgenerica->doc_tipo.'['.$resgenerica->doc_numero.'] Data:'.date("d/m/Y",strtotime($resgenerica->doc_data));
					      if($pedindo=="SEMDOCUMENTO")$vaiAparecer='NAO';						  
					    endwhile;
	                    if($pedindo=="LISTAGERAL")  $vaiAparecer='SIM';//verifica se estou pedindo a lista geral ai sempre vai imprimir tudo		
	 				    if($vaiAparecer=='SIM'):
		                    echo '<tr>';
		                    printf('<td>%s</td>',$protocolo);
		                    printf('<td>%s</td>','link');
		                    printf('<td>%s</td>',$valorG.$valorP);
		                    printf('<td>%s</td>',$usuario);
		                    printf('<td>%s</td>',$res->fic_funcao);
		                    printf('<td>%s</td>',$res->fic_registrador);
		                    printf('<td>%s</td>',$dt_entrada);

		                    printf('<td>%s</td>',$documento);
						    echo '</tr>';
                        endif;//verifica se vai aparecer =sim, para entao sair na tela					
   

   
                endwhile;//PERCORRE AS AMOSTRAS DENTRO DO INTERVALO(este while serve para todos casos)                
                ?>
            </tbody>
        </table>
<hr><br>
       <form class="userform" method="POST" action="">
        <fieldset>
            <legend>PAINEL DE CONTROLE</legend>
            <ul>
                <table bgcolor="#d1d5de" width="780">
                  <tr>
                        <td>Acessar<input type="text"     size="1" name="limite"  value="<?php  echo $limite; ?>" />amostras a partir de <input type="text"     size="3" name="atual"  value="<?php  echo $atual; ?>" />  
                        
                        <input type="hidden"     size="3" name="ultima"  value="<?php  echo $ultima; ?>" />    
	                    <input type="submit" name="listaAnterior"   value="Achar Todas" />
	                    <input type="submit" name="listaAnterior1"   value="Achar ABERTAS" />
	                    <input type="submit" name="listaAnterior2"   value="SEM documento" /></td>
				 </table> 
			</ul>	 
        </fieldset>
        </form>  



        <?php        
    break;


	default:
		  echo '<p>A tela solicitada não existe.</p>';
		break;
endswitch;
?>