You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SIPRP/trunk/PlanosActuacao/src/java/utils/PlanosUpdater.java

102 lines
3.1 KiB

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package utils;
import com.evolute.utils.arrays.Virtual2DArray;
import com.evolute.utils.db.Executer;
import com.evolute.utils.sql.Assignment;
import com.evolute.utils.sql.Expression;
import com.evolute.utils.sql.Field;
import com.evolute.utils.sql.Select2;
import com.evolute.utils.sql.Update;
import db.providers.EvoBaseProvider;
import java.util.Date;
import shst.companydataloaders.SIPRPPropertiesLoader;
/**
*
* @author dneves
*/
public class PlanosUpdater
{
public static void main( String[] args )
{
try
{
SIPRPPropertiesLoader props = SIPRPPropertiesLoader.getInstance();
props.load();
EvoBaseProvider provider = EvoBaseProvider.getInstance();
Executer executer = provider.getExecuter();
Executer localExecuter = provider.getLocalExecuter();
// Expression whereExpression = new Field( "planos_actuacao.deleted_date" ).isEqual( null );
Expression whereExpression = null;
Select2 query = new Select2(
new String[] { "planos_actuacao" },
new Integer[] {},
new Expression[] {},
new String[] { "planos_actuacao.id", "planos_actuacao.estabelecimento_id", "planos_actuacao.data_visita" },
whereExpression,
new String[] { "planos_actuacao.estabelecimento_id", "planos_actuacao.data_visita" },
null, null, null
);
Virtual2DArray array = executer.executeQuery( query );
if ( array != null )
{
System.out.println( array.columnLength() + " : " );
for ( int i = 0; i < array.columnLength(); i++ )
{
Integer planoID = array.get( i, 0 );
Integer estabelecimentoID = array.get( i, 1 );
Date dataVisita = array.get( i, 2 );
System.out.println( planoID + " : " + estabelecimentoID + " : " + dataVisita );
Integer relatorioID = null;
Date dataDisponibilizacao = null;
Expression whereExpression2 = new Field( "marcacoes_estabelecimento.data" ).isEqual( dataVisita ).and(
new Field( "marcacoes_estabelecimento.estabelecimento_id" ).isEqual( estabelecimentoID )
);
Select2 query2 = new Select2(
new String[] { "hs_relatorio", "marcacoes_estabelecimento" },
new Integer[] { Select2.JOIN_INNER },
new Expression[] {
new Field( "marcacoes_estabelecimento.id" ).isEqual( new Field( "hs_relatorio.marcacao_id" ) )
},
new String[] { "hs_relatorio.id", "hs_relatorio.is_submetido" },
whereExpression2,
null,
null, null, null
);
Virtual2DArray array2 = localExecuter.executeQuery( query2 );
if ( array2 != null && array2.columnLength() > 0 )
{
relatorioID = array2.get( 0, 0 );
dataDisponibilizacao = array2.get( 0, 1 );
}
System.out.println( "\tRelatorioID : " + relatorioID );
Update upd = new Update( "planos_actuacao", new Assignment[] {
new Assignment( new Field( "hs_relatorio_id" ), relatorioID ),
new Assignment( new Field( "data_disponibilizacao" ), dataDisponibilizacao )
}, new Field( "id" ).isEqual( planoID ) );
executer.executeQuery( upd );
}
}
}
catch ( Exception e )
{
System.out.println( e.getMessage() );
}
}
}