<?php 
require_once(dirname(dirname(__FILE__))."/funcoes.php");
protegeArquivo(basename(__FILE__));
loadJS('jquery-validate');
loadJS('jquery-validate-messages');
$objetocalculo=new calculos();
$sessao = new sessao();
$amostraLong=$sessao->getVar('amostraLong');
$senhaCli=$sessao->getVar('iduser');
$idLabo=$sessao->getVar('idLabo');
$cliente=$sessao->getVar('cliente');
$nomeOperador=$sessao->getVar('nomeuser');
$finalidade=$sessao->getVar('finalidade');
//echo("Operador: $nomeOperador idlabo=$idLabo tela=$tela<br>");
//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 
$quantidade=post('quantidade');
if($quantidade<5)$quantidade=5;




if($amostraLong>0)
{
	//echo "nao nulo<br>";
	$userAmostra = new amostras();
    $userAmostra->extras_select =  " where fic_id=".$amostraLong;
    $userAmostra->selecionaCampos($userAmostra);
    while ($resAmostra = $userAmostra->retornaDados()):
        $amostraLong=$resAmostra->fic_id;
        $idCultivar=$resAmostra->fic_cultivar;
        $idProdutor=$resAmostra->fic_produtor;
        $idAmostrador=$resAmostra->fic_amostrador;
        $ultima=$resAmostra->fic_amostra;
    endwhile;		
	$sessao->setVar('amostraLong', $amostraLong);
	$sessao->setVar('idCultivar',$idCultivar);
	$sessao->setVar('idProdutor',$idProdutor);
	$sessao->setVar('idAmostrador',$idAmostrador);
	$sessao->setVar('ultima',$ultima);
}
else
{
     $amostraLong=$objetocalculo->achaUltima();
	 $idCultivar=$sessao->getVar($idCultivar);
	 $idProdutor=$sessao->getVar($idProdutor);
	 $idAmostrador=$sessao->getVar($idAmostrador);
}






//echo("Operador: $nomeOperador idlabo=$idLabo tela=$tela<br>");
switch ($tela):
    case 'telaGeral':
    echo("<h2>Módulo pesquisa  banco de dados " .DBNAME." segregado especialmente para esta finalidade. </h2>");
	echo("Objetivo(1) PRINCIPAL DA PESQUISA: Verificar e diagnosticar possiveis causas de gasto de tempo considerado grande<br>");
	echo("Objetivo(2) secundário: Fazer um comparativo entre o modo de execução padrao e as rotinas didáticas sugeridas na literatura do PHP.<br>");
	echo("Objetivo(3)  Sugerir alterações no scrip para que seja factivel estas delecoes uma vez que com cerca de 8 amostras ja estoura o tempo máximo<br>");
	echo("Obs.: O script se encontra em wamp/www/semente2013/php/paineladm/modulos/reduzbanco.php<br>");
	
	//97=dados da qaulidetes
	//adv=132
	//conceito=162
    //ufla=172
	//dimicron(ca)=33)	
	
$idLabo=132;//este é o id da qualidteste dentro do subdominio oto 
        $user = new usuarios();
		//$user->extras_select = "WHERE  usuario='".$siglaLabLido."'";
		$user->extras_select = "WHERE id=".$idLabo."  limit 1";
        $user->selecionaTudo($user);
        $texto= ""; 
        while ($res = $user->retornaDados()):
            $texto="Nome=".$res->nome. "  campoUsuario=".$res->usuario. " id fixada=".$idLabo;
      endwhile;                
      echo("dados do cliente: $texto<br>");




      if(post('bt_eliminaReanLenta') !== ""):
	    echo("Eliminacao PADRAO usada em todo programa<br><br>");
		//vai percorrer as amostras que nao sao da adv  e CAPTURA A ANOSTRALONG
        //conta toal de amostras
        $userAmo = new amostras();
		$userAmo->extras_select = "WHERE   fic_labo=".$idLabo." LIMIT ".$quantidade;
        $userAmo->selecionaTudo($userAmo);
        $contador=0;
        while ($resAmo = $userAmo->retornaDados()):
            $contador++;
            $amostraLong=$resAmo->fic_id;
            $amostra=$resAmo->fic_amostra;
			//VAI DELETAR INVASORAS  DAQUELA AMOSTRA
			$sql="delete from invasoras where inv_amostra=".$amostraLong;
			$hora=date('h:i:s');
			echo("mostrando sql invasoras   $sql $hora<br>");

		    $userNota = new generica();
		    $userNota->campos_valores = $sql;				 
			$userNota->inserirEspecial($userNota);	

			//VAI DELETAR TETRAZOLIO   DAQUELA AMOSTRA
			$sql="delete from tetrazolio where tet_amostra=".$amostraLong;
			$hora=date('h:i:s');
            echo("mostrando sql tz   $sql $hora<br>");
		    $userNota = new generica();
		    $userNota->campos_valores = $sql;				 
			$userNota->inserirEspecial($userNota);	
			
		  
	        //VAI DELETAR TESTES SOLICITADOS DAQUELA AMOSTRA
			$sql="delete from testessolicitados where tes_ficha=".$amostraLong;
			$hora=date('h:i:s');
            echo("mostrando sql testes   $sql $hora<br>");
			
		    $userNota = new generica();
		    $userNota->campos_valores = $sql;				 
			$userNota->inserirEspecial($userNota);	
		  
		   
	        //VAI DELETAR DOCUMENTOS PONTE   DAQUELA AMOSTRA	  	  
			$sql="delete from documentosponte where dpo_amostra_vinculada=".$amostraLong;
			$hora=date('h:i:s');
            echo("mostrando ponte  $sql $hora<br>");
		    $userNota = new generica();
		    $userNota->campos_valores = $sql;				 
			$userNota->inserirEspecial($userNota);	


	        //VAI PERCOREER TODOS REGISTROS REAN1 DAQUELA AMOSTRA  CAPTURANDO REANLONG  
	        $user = new rean1();
			$user->extras_select = " where rea_ficha=".$amostraLong;
	        $user->selecionaTudo($user);
	        while ($res = $user->retornaDados()):
				$longRean=$res->rea_id;
	            //VAI DELETAR REGISTROS DA TABELA LEITURAS QUE TENHAM O VALOR DA REAN
				$sql="delete from leituras where lei_rean=".$longRean;
				$hora=date('h:i:s');
			    $userNota = new generica();
			    $userNota->campos_valores = $sql;				 
				$userNota->inserirEspecial($userNota);
				//$afetadas=5+$userNota->linhasAfetadas;
				echo("mostrando sql leituras   $sql $hora $afetadas<br>");
	            //VAI DELETAR O REGISTRO DA REAN 
				$sql="delete from rean1 where  rea_id=".$longRean;
				$hora=date('h:i:s');
                echo("mostrando sql rean $sql $hora<br>");
			    $userNota = new generica();
			    $userNota->campos_valores = $sql;				 
				$userNota->inserirEspecial($userNota);	
	        endwhile; 
	        //VAI DELETAR O REGISTRO DA TABELA FICHA QUE ACABOU DE SER LOCALIZADO        				
			$sql="delete from ficha where  fic_id=".$amostraLong;
			$hora=date('h:i:s');
            echo("mostrando sql fichas  $sql $hora<br>");
		    $userNota = new generica();
		    $userNota->campos_valores = $sql;
			if(post('inabilita') !== ""):
                $chequeInabilita="checked";			
			else:
			    $userNota->inserirEspecial($userNota);	
			endif;				 
            //vai me mostrar o numero da amostra deletada
            echo("Amostra deletada:   $amostra  id=$amostraLong  <br><br>"); 
        endwhile;

        //VAI DELETAR DOCUMENTOS QUE TEM DOC_LABO DIFERENTE DE IDLABO
		$sql="delete from documentos where  doc_labo=".$idLabo." LIMIT ".$quantidade;
		$hora=date('h:i:s');
		echo("mostrando sql documentos   $sql $hora<br>");
	    $userNota = new generica();
	    $userNota->campos_valores = $sql;				 
		if($chequeInabilita!="checked")$userNota->inserirEspecial($userNota);	
	  
	 /* 
        //deletar amostras daquele idlab, que sao de anos anteriores que nao precisa mais
		$sql="delete from ficha where  (fic_ano='2012' or  fic_ano='2013' or  fic_ano='2014' or  fic_ano='2015' or fic_ano='2016') and  fic_labo=".$idLabo;
	    $userNota = new generica();
	    $userNota->campos_valores = $sql;				 
		//$userNota->inserirEspecial($userNota);	
        //echo $sql;
		*/
        echo("contador de linha rean para deletar=$contador  <br>");


     endif;//testa se apaertou botao deleta rean ....

     //////RAPIDA///////////////////////////////////////////////////////
     //////RAPIDA///////////////////////////////////////////////////////
     //////RAPIDA///////////////////////////////////////////////////////
     //////RAPIDA///////////////////////////////////////////////////////
     //////RAPIDA///////////////////////////////////////////////////////



      if(post('bt_eliminaReanRapida') !== ""):
		//vai percorrer as amostras que nao sao da adv  e CAPTURA A ANOSTRALONG
        //conta toal de amostras
		echo("Eliminacao usando uma classe CONECTA <br>");
        $userAmo = new amostras();
		$userAmo->extras_select = "WHERE   fic_labo=".$idLabo." LIMIT ".$quantidade;//assin fuciniona
			$hora=date('h:i:s');
			echo("mostrando sql iniial   $sql $hora<br>");
        $userAmo->selecionaTudo($userAmo);
        $contador=0;
        while ($resAmo = $userAmo->retornaDados()):
            $contador++;
            $amostraLong=$resAmo->fic_id;
            $amostra=$resAmo->fic_amostra;
			//VAI DELETAR INVASORAS  DAQUELA AMOSTRA
			$sql="delete from invasoras where inv_amostra=".$amostraLong;
			$hora=date('h:i:s');
			echo("mostrando sql invasoras   $sql $hora<br>");
		    $userConvencional = new genericaConvencional();
 		    $resultado=	$userConvencional->executaSql2018($sql,200);

			//VAI DELETAR TETRAZOLIO   DAQUELA AMOSTRA
			$sql="delete from tetrazolio where tet_amostra=".$amostraLong;
			$hora=date('h:i:s');
			echo("mostrando sql tz   $sql $hora<br>");
		    $userConvencional = new genericaConvencional();
 		    $resultado=	$userConvencional->executaSql2018($sql,200);
			
		  
	        //VAI DELETAR TESTES SOLICITADOS DAQUELA AMOSTRA
			$sql="delete from testessolicitados where tes_ficha=".$amostraLong;
			$hora=date('h:i:s');
			echo("mostrando sql testes   $sql $hora<br>");

		    $userConvencional = new genericaConvencional();
 		    $resultado=	$userConvencional->executaSql2018($sql,200);
		  
		   
	        //VAI DELETAR DOCUMENTOS PONTE   DAQUELA AMOSTRA	  	  
			$sql="delete from documentosponte where dpo_amostra_vinculada=".$amostraLong;
			$hora=date('h:i:s');
			echo("mostrando sql ponte   $sql $hora<br>");

		    $userConvencional = new genericaConvencional();
 		    $resultado=	$userConvencional->executaSql2018($sql,200);


	        //VAI PERCOREER TODOS REGISTROS REAN1 DAQUELA AMOSTRA  CAPTURANDO REANLONG  
	        $user = new rean1();
			$user->extras_select = " where rea_ficha=".$amostraLong;
	        $user->selecionaTudo($user);
	        while ($res = $user->retornaDados()):
				$longRean=$res->rea_id;
	            //VAI DELETAR REGISTROS DA TABELA LEITURAS QUE TENHAM O VALOR DA REAN
				$sql="delete from leituras where lei_rean=".$longRean;
				$hora=date('h:i:s');
			    echo("mostrando sql leituras   $sql $hora<br>");

			    $userConvencional = new genericaConvencional();
	 		    $resultado=	$userConvencional->executaSql2018($sql,200);
	            //VAI DELETAR O REGISTRO DA REAN 
				$sql="delete from rean1 where  rea_id=".$longRean;
				$hora=date('h:i:s');
			    echo("mostrando sql rean1   $sql $hora<br>");

			    $userConvencional = new genericaConvencional();
	 		    $resultado=	$userConvencional->executaSql2018($sql,200);
	        endwhile; 
	        //VAI DELETAR O REGISTRO DA TABELA FICHA QUE ACABOU DE SER LOCALIZADO        				
			$sql="delete from ficha where  fic_id=".$amostraLong;
			$hora=date('h:i:s');
			echo("mostrando sql ficha   $sql $hora<br>");

		    $userConvencional = new genericaConvencional();
			if(post('inabilita') !== ""):
                $chequeInabilita="checked";			
			else:
 		        $resultado=	$userConvencional->executaSql2018($sql,200);
			endif;		
			
            //vai me mostrar o numero da amostra deletada
            echo("Amostra deletada:   $amostra  id=$amostraLong   resultado=$resultado <br>"); 
        endwhile;

        //VAI DELETAR DOCUMENTOS QUE TEM DOC_LABO DIFERENTE DE IDLABO
		$sql="delete from documentos where  doc_labo!=".$idLabo." LIMIT 1";
  		$userConvencional = new genericaConvencional();
        if($chequeInabilita!="checked")$resultado=	$userConvencional->executaSql2018($sql,200);


        //deletar amostras daquele idlab, que sao de anos anteriores que nao precisa mais
		//$sql="delete from ficha where  (fic_ano='2012' or  fic_ano='2013' or  fic_ano='2014' or  fic_ano='2015' or fic_ano='2016') and  fic_labo=".$idLabo;
	    //$userNota = new generica();
	    //$userNota->campos_valores = $sql;				 
		//$userNota->inserirEspecial($userNota);	
        //echo $sql;

        echo("contador de linha rean para deletar=$contador  <br>");
     endif;//testa se apaertou botao deleta  ....
///////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
      if(post('bt_eliminaReanRapidaSemClasse') !== ""):
	  	echo("Eliminacao usando a rotina didatica do PHP <br>");
		//vai percorrer as amostras que nao sao da adv  e CAPTURA A ANOSTRALONG
        //conta toal de amostras
        $userAmo = new amostras();
		$userAmo->extras_select = "WHERE   fic_labo=".$idLabo." LIMIT ".$quantidade;
        $userAmo->selecionaTudo($userAmo);
        $contador=0;
        //cria um vetor so para guardar as id com a finalidade de nao manter duas conexoes ambbertas simultaneamente
        //estabelece uma conexao independente da anterior
		$a=DBHOST;
		$b=DBUSER;
		$c=DBPASS;
		$d=DBNAME;
		$conecta=mysql_connect($a,$b,$c) or die(mysql_error());
		mysql_select_db($d,$conecta) or die(mysql_error());	
		while ($resAmo = $userAmo->retornaDados()):
            $contador++;
		    $amostraLong=$resAmo->fic_id;
            $amostra=$resAmo->fic_amostra;
			//VAI DELETAR INVASORAS  DAQUELA AMOSTRA
			$sql="delete from invasoras where inv_amostra=".$amostraLong;
		    mysql_query($sql, $conecta); 


			//VAI DELETAR TETRAZOLIO   DAQUELA AMOSTRA
			$sql="delete from tetrazolio where tet_amostra=".$amostraLong;
		    mysql_query($sql, $conecta); 
			
		  
	        //VAI DELETAR TESTES SOLICITADOS DAQUELA AMOSTRA
			$sql="delete from testessolicitados where tes_ficha=".$amostraLong;
		    mysql_query($sql, $conecta); 
		  
		   
	        //VAI DELETAR DOCUMENTOS PONTE   DAQUELA AMOSTRA	  	  
			$sql="delete from documentosponte where dpo_amostra_vinculada=".$amostraLong;
		    mysql_query($sql, $conecta); 

	        //VAI PERCOREER TODOS REGISTROS REAN1 DAQUELA AMOSTRA  CAPTURANDO REANLONG  
	        $user = new rean1();
			$user->extras_select = " where rea_ficha=".$amostraLong;
	        $user->selecionaTudo($user);
	        while ($res = $user->retornaDados()):
				$longRean=$res->rea_id;
	            //VAI DELETAR REGISTROS DA TABELA LEITURAS QUE TENHAM O VALOR DA REAN
				$sql="delete from leituras where lei_rean=".$longRean;
			    mysql_query($sql, $conecta); 
	            //VAI DELETAR O REGISTRO DA REAN 
				$sql="delete from rean1 where  rea_id=".$longRean;
			    mysql_query($sql, $conecta); 
	        endwhile; 
	        //VAI DELETAR O REGISTRO DA TABELA FICHA QUE ACABOU DE SER LOCALIZADO        				
			$sql="delete from ficha where  fic_id=".$amostraLong;
			if(post('inabilita') !== ""):
                $chequeInabilita="checked";			
			else:
 		        mysql_query($sql, $conecta); 
			endif;		

            //vai me mostrar o numero da amostra deletada
            echo("Amostra deletada:   $amostra  id=$amostraLong   resultado=$resultado <br>"); 
        endwhile;

        //VAI DELETAR DOCUMENTOS QUE TEM DOC_LABO DIFERENTE DE IDLABO
		$sql="delete from documentos where  doc_labo!=".$idLabo." LIMIT ".$quantidade;
        if($chequeInabilita!="checked")	mysql_query($sql, $conecta); 
        echo("bt_eliminaReanRapidaSemClasse contador de linha rean para deletar=$contador  <br>");
     endif;//testa se apaertou botao deleta  ....




      if(post('bt_eliminaReanRapidaSemClasseComVetorxxxxxxxxxxxx') !== ""):
		//vai percorrer as amostras que nao sao da adv  e CAPTURA A ANOSTRALONG
        //conta toal de amostras
        $userAmo = new amostras();
		$userAmo->extras_select = "WHERE   fic_labo=".$idLabo." LIMIT ".$quantidade;
        $userAmo->selecionaTudo($userAmo);
        $contador=0;
        //cria um vetor so para guardar as id com a finalidade de nao manter duas conexoes ambbertas simultaneamente
		while ($resAmo = $userAmo->retornaDados()):
            $contador++;
		    $amostraLong=$resAmo->fic_id;
            $amostra=$resAmo->fic_amostra;
            $matrizId[$contador]= $amostraLong;
        endwhile;        

        //estabelece uma conexao independente da anterior
		$a=DBHOST;
		$b=DBUSER;
		$c=DBPASS;
		$d=DBNAME;
		$conecta=mysql_connect($a,$b,$c) or die(mysql_error());
		mysql_select_db($d,$conecta) or die(mysql_error());	
        $contador3=0;
        while($contador3<$contador):
            $contador3++;
            $amostraLong=$matrizId[$contador3];

			//VAI DELETAR INVASORAS  DAQUELA AMOSTRA
			$sql="delete from invasoras where inv_amostra=".$amostraLong;
		    mysql_query($sql, $conecta); 


			//VAI DELETAR TETRAZOLIO   DAQUELA AMOSTRA
			$sql="delete from tetrazolio where tet_amostra=".$amostraLong;
		    mysql_query($sql, $conecta); 
			
		  
	        //VAI DELETAR TESTES SOLICITADOS DAQUELA AMOSTRA
			$sql="delete from testessolicitados where tes_ficha=".$amostraLong;
		    mysql_query($sql, $conecta); 
		  
		   
	        //VAI DELETAR DOCUMENTOS PONTE   DAQUELA AMOSTRA	  	  
			$sql="delete from documentosponte where dpo_amostra_vinculada=".$amostraLong;
		    mysql_query($sql, $conecta); 

	        //VAI PERCOREER TODOS REGISTROS REAN1 DAQUELA AMOSTRA  CAPTURANDO REANLONG  
	        $user = new rean1();
			$user->extras_select = " where rea_ficha=".$amostraLong;
	        $user->selecionaTudo($user);
	        while ($res = $user->retornaDados()):
				$longRean=$res->rea_id;
	            //VAI DELETAR REGISTROS DA TABELA LEITURAS QUE TENHAM O VALOR DA REAN
				$sql="delete from leituras where lei_rean=".$longRean;
			    mysql_query($sql, $conecta); 
	            //VAI DELETAR O REGISTRO DA REAN 
				$sql="delete from rean1 where  rea_id=".$longRean;
			    mysql_query($sql, $conecta); 
	        endwhile; 
	        //VAI DELETAR O REGISTRO DA TABELA FICHA QUE ACABOU DE SER LOCALIZADO        				
			$sql="delete from ficha where  fic_id=".$amostraLong;
		    mysql_query($sql, $conecta); 
            //vai me mostrar o numero da amostra deletada
            echo("Amostra deletada:   $amostra  id=$amostraLong   resultado=$resultado <br>"); 
        endwhile;

        //VAI DELETAR DOCUMENTOS QUE TEM DOC_LABO DIFERENTE DE IDLABO
		$sql="delete from documentos where  doc_labo!=".$idLabo." LIMIT  1";
  		mysql_query($sql, $conecta); 
        echo("contador de linha rean para deletar=$contador3  <br>");
     endif;//testa se apaertou botao deleta  ....

	 echo '<h2>Ultima id '.  $amostraLong . '</h2>';
	 
        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": "100px",
                "bPaginate": false,
                "aaSorting": [[0, ""]] 
               }); 
            });
        </script>
	
      
		    <table cellspacing="0" cellpadding="0" border="0" class="display" id="listausers">
            <thead>
                <tr>
                    <th>Amostrax</th><th>idAmostra</th><th>dtEntrada</th><th>ficLabo</th>
                </tr>
            </thead>
            <tbody>

	   <?php

	 
	 

     //mostra amostras que estao prestes a serem deletadas
        //conta toal de amostras
        $user = new amostras();
		$user->extras_select = "WHERE   fic_labo=".$idLabo." LIMIT ".$quantidade;//assin fuciniona
        $user->selecionaTudo($user);
        $contador=0;
        while ($res = $user->retornaDados()):
            $contador++;
		    echo '<tr>';
            printf('<td>%s</td>',$res->fic_amostra);
            printf('<td>%s</td>',$res->fic_id);
            printf('<td>%s</td>',$res->fic_dt_entrada);
            printf('<td>%s</td>',$res->fic_labo);
            echo '</tr>';
        endwhile;
		
	
  
  
      ?>
	  </tbody>
	  </table>
	  <form class="userform" method="POST" action="">
	  <table>
	  <tr>
	  <td><input type="submit" name="bt_eliminaReanLenta"   value="Elimina usando rotina PADRAO" /></td>
	  <td><input type="submit" name="bt_eliminaReanRapida"   value="Elimina usando classe conecta" /></td>
	  <td><input type="submit" name="bt_eliminaReanRapidaSemClasse"   value="Elimina usando rotina didatica PHP" /></td>
	  </tr>
	  </table>
	  <table>
      <tr>
	  <td>Quantidade<input type="text" name="quantidade" size="1"  value="<?php echo $quantidade;?>" /></td>
	  </tr>	  
      <tr>
	  Executa a rotina sem escluir amostra<input type="checkbox" name="inabilita"  <?php echo $chequeInabilita;?>   />
	  </tr>	  
	  </table>
	  <p>Nao excluindo amostra, ficam apenas os registros da amostras, sem registros nas tabelas associadas!</p>
	  <p>ROTINA DIDATICA PHP:  Abre uma conexao, depois estabelece as sql e executa-as com a função:  mysql_query($sql, $conecta) </p>
	  </form>
	  <?php      
  break;








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