forked from Coded/SIPRP
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.
72 lines
2.1 KiB
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 );
|
|
}
|
|
}
|
|
|
|
}
|