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.
		
		
		
		
		
			
		
			
				
					
					
						
							86 lines
						
					
					
						
							2.7 KiB
						
					
					
				
			
		
		
	
	
							86 lines
						
					
					
						
							2.7 KiB
						
					
					
				/*
 | 
						|
 * RealizouParcialmenteAction.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 javax.swing.JOptionPane;
 | 
						|
import siprp.clientes.ClientesDataProvider;
 | 
						|
import siprp.data.Marcacao;
 | 
						|
import siprp.medicina.MedicinaDataProvider;
 | 
						|
import siprp.medicina.presencas.DetalhesRealizacaoDialog;
 | 
						|
import siprp.medicina.presencas.Presenca;
 | 
						|
import siprp.medicina.presencas.PresencasDataProvider;
 | 
						|
 | 
						|
/**
 | 
						|
 *
 | 
						|
 * @author fpalma
 | 
						|
 */
 | 
						|
public class RealizouParcialmenteAction extends AbstractAction
 | 
						|
{
 | 
						|
	protected Presenca presenca;
 | 
						|
	
 | 
						|
	/** Creates a new instance of RealizouParcialmenteAction */
 | 
						|
	public RealizouParcialmenteAction( Presenca presenca )
 | 
						|
	{
 | 
						|
		super( "Parcialmente" );
 | 
						|
		this.presenca = presenca;
 | 
						|
		if( Marcacao.TIPO_MARCACAO_TRABALHADOR_CONSULTA == presenca.getTipo().intValue() )
 | 
						|
		{
 | 
						|
			setEnabled( false );
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	public void actionPerformed(ActionEvent e)
 | 
						|
	{
 | 
						|
		JOptionPane.showMessageDialog( null, "", "", JOptionPane.ERROR_MESSAGE );
 | 
						|
		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( validos[ n ] );
 | 
						|
				}
 | 
						|
			}
 | 
						|
			DetalhesRealizacaoDialog dialog = 
 | 
						|
				new DetalhesRealizacaoDialog( null, ( IDObject[] ) aRealizar.toArray( new IDObject[ aRealizar.size() ] ) );
 | 
						|
			Integer escolhidos[] = dialog.getSelected();
 | 
						|
			if( escolhidos != null )
 | 
						|
			{
 | 
						|
				provider.marcarRealizado( presenca.getID(), escolhidos );
 | 
						|
				setEnabled( false );
 | 
						|
			}
 | 
						|
		}
 | 
						|
		catch( Exception ex )
 | 
						|
		{
 | 
						|
			DialogException.showExceptionMessage( ex, "Erro a marcar", true );
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
}
 |