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/siprp/medicina/presencas/actions/RealizouAction.java

72 lines
2.1 KiB

/*
* RealizouAction.java
*
* Created on January 31, 2007, 6:20 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
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;
/**
*
* @author fpalma
*/
public class RealizouAction extends AbstractAction
{
protected Presenca presenca;
/** Creates a new instance of RealizouAction */
public RealizouAction( Presenca presenca )
{
super( "Realizou" );
this.presenca = presenca;
}
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 );
}
}
}