no message

git-svn-id: https://svn.coded.pt/svn/SIPRP@293 bb69d46d-e84e-40c8-a05a-06db0d633741
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Frederico Palma 19 years ago
parent 1544c7ff0c
commit 4149077113

@ -17,7 +17,6 @@ import com.evolute.utils.data.*;
import com.evolute.utils.db.*;
import com.evolute.utils.metadb.*;
import com.evolute.utils.sql.*;
import com.evolute.utils.strings.*;
import com.evolute.utils.tables.*;
import siprp.*;
@ -157,14 +156,32 @@ public class MedicinaDataProvider extends MetaProvider
new Field( "marcacao_trabalhador_id" ).isEqual( marcacaoID ) );
Virtual2DArray array = executer.executeQuery( select );
Integer ids[] = new Integer[ array.columnLength() ];
for( int n = 0; n < ids.length; n++ )
for( int n = 0; n < array.columnLength(); n++ )
{
ids[ n ] = ( Integer ) array.get( n, 0 );
}
return ids;
}
public void deleteDetalhesRealziadosForMarcacao( Integer marcacaoID )
public Integer[] getDetalhesRealizadosForEstadosMarcacao( Integer marcacaoID )
throws Exception
{
Select select =
new Select( new String[]{ "marcacoes_grupos_realizados", "marcacoes_trabalhador_estados" },
new String[]{ "grupo_protocolo_id" },
new Field( "marcacoes_trabalhador_estados.marcacao_id" ).isEqual( marcacaoID ).and(
new Field( "marcacoes_trabalhador_estados.id" ).isEqual(
new Field( "marcacoes_grupos_realizados.marcacoes_trabalhador_estado_id" ) ) ) );
Virtual2DArray array = executer.executeQuery( select );
Integer ids[] = new Integer[ array.columnLength() ];
for( int n = 0; n < array.columnLength(); n++ )
{
ids[ n ] = ( Integer ) array.get( n, 0 );
}
return ids;
}
public void deleteDetalhesRealizadosForMarcacao( Integer marcacaoID )
throws Exception
{
Delete delete =
@ -401,4 +418,15 @@ public class MedicinaDataProvider extends MetaProvider
Virtual2DArray array = executer.executeQuery( select );
return array.getObjects();
}
public Integer getTrabalhadorIDByMarcacaoID( Integer marcacaoID )
throws Exception
{
Select select =
new Select( new String[]{ "marcacoes_trabalhador" },
new String[]{ "trabalhador_id" },
new Field( "id" ).isEqual( marcacaoID ) );
Virtual2DArray array = executer.executeQuery( select );
return ( Integer ) array.get( 0, 0 );
}
}

@ -9,9 +9,16 @@
package siprp.medicina.presencas.actions;
import com.evolute.utils.data.IDObject;
import com.evolute.utils.ui.DialogException;
import java.awt.event.ActionEvent;
import java.util.Arrays;
import java.util.Vector;
import javax.swing.AbstractAction;
import siprp.clientes.ClientesDataProvider;
import siprp.medicina.MedicinaDataProvider;
import siprp.medicina.presencas.Presenca;
import siprp.medicina.presencas.PresencasDataProvider;
/**
*
@ -30,6 +37,35 @@ public class RealizouAction extends AbstractAction
public void actionPerformed(ActionEvent e)
{
try
{
PresencasDataProvider provider = PresencasDataProvider.getProvider();
ClientesDataProvider clientesProvider =
( ClientesDataProvider ) ClientesDataProvider.getProvider();
MedicinaDataProvider medicinaProvider =
( MedicinaDataProvider ) MedicinaDataProvider.getProvider();
Integer trabalhadorID = medicinaProvider.getTrabalhadorIDByMarcacaoID( presenca.getID() );
Integer empresaID = clientesProvider.getEmpresaIDByTrabalhadorID( trabalhadorID );
Integer realizados[] = medicinaProvider.getDetalhesRealizadosForEstadosMarcacao( presenca.getID() );
Vector realizadosVector = new Vector();
realizadosVector.addAll( Arrays.asList( realizados ) );
IDObject validos[] = medicinaProvider.getDetalhesValidosTrabalhador( empresaID, trabalhadorID );
Vector aRealizar = new Vector();
for( int n = 0; n < validos.length; n++ )
{
Integer id = validos[ n ].getID();
if( !realizadosVector.contains( id ) )
{
aRealizar.add( id );
}
}
provider.marcarRealizado( presenca.getID(), ( Integer[] ) aRealizar.toArray( new Integer[ aRealizar.size() ] ) );
setEnabled( false );
}
catch( Exception ex )
{
DialogException.showExceptionMessage( ex, "Erro a marcar", true );
}
}
}

Loading…
Cancel
Save