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.
		
		
		
		
		
			
		
			
				
					
					
						
							520 lines
						
					
					
						
							14 KiB
						
					
					
				
			
		
		
	
	
							520 lines
						
					
					
						
							14 KiB
						
					
					
				/*
 | 
						|
 * MarcacoesHigieneWindow.java
 | 
						|
 *
 | 
						|
 * Created on January 31, 2006, 11:32 PM
 | 
						|
 *
 | 
						|
 * To change this template, choose Tools | Template Manager
 | 
						|
 * and open the template in the editor.
 | 
						|
 */
 | 
						|
 | 
						|
package siprp.higiene.marcacoes;
 | 
						|
 | 
						|
import java.awt.*;
 | 
						|
import java.awt.event.*;
 | 
						|
import javax.swing.*;
 | 
						|
import javax.swing.event.*;
 | 
						|
import java.text.*;
 | 
						|
import java.util.*;
 | 
						|
 | 
						|
import com.evolute.utils.*;
 | 
						|
import com.evolute.utils.arrays.*;
 | 
						|
import com.evolute.utils.data.*;
 | 
						|
import com.evolute.utils.jdo.*;
 | 
						|
import com.evolute.utils.ui.*;
 | 
						|
import com.evolute.utils.ui.panel.*;
 | 
						|
import com.evolute.utils.ui.search.*;
 | 
						|
import com.evolute.utils.ui.text.*;
 | 
						|
import com.evolute.utils.ui.window.*;
 | 
						|
 | 
						|
import siprp.*;
 | 
						|
import siprp.data.*;
 | 
						|
import siprp.higiene.*;
 | 
						|
 | 
						|
/**
 | 
						|
 *
 | 
						|
 * @author fpalma
 | 
						|
 */
 | 
						|
public class MarcacoesHigieneWindow extends EditorWindow
 | 
						|
		implements ItemListener, ActionListener, ListSelectionListener
 | 
						|
{
 | 
						|
	public final static String TITLE = "Marca\u00e7\u00f5es de Higiene e Seguran\u00e7a";
 | 
						|
	
 | 
						|
	private final static int iPermissionArray[][] =
 | 
						|
		new int[][]{ {}, { NEW_INDEX, EDIT_INDEX, CANCEL_INDEX, SAVE_INDEX, DELETE_INDEX } };
 | 
						|
	
 | 
						|
	private static final int INDEX_MAIN = 0;
 | 
						|
	private static final int INDEX_VISITA = 1;
 | 
						|
	
 | 
						|
	private static final DateFormat DATE_FORMAT =
 | 
						|
			DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "PT", "pt" ) );
 | 
						|
	
 | 
						|
	protected MarcacoesHigieneUpperPanel upperPanel;
 | 
						|
	protected MarcacaoVisitaHSTPanel marcacaoPanel;
 | 
						|
	protected TableEditorPanel marcacaoEditorPanel;
 | 
						|
	
 | 
						|
	protected HigieneDataProvider provider;
 | 
						|
	protected JDOProvider JDO;
 | 
						|
	protected SIPRPTracker tracker;
 | 
						|
	
 | 
						|
	private Hashtable tecnicosHash;
 | 
						|
	
 | 
						|
	protected Integer empresaID;
 | 
						|
	protected String empresa;
 | 
						|
	protected Integer estabelecimentoID;
 | 
						|
	protected EstabelecimentoData estabelecimento;
 | 
						|
	
 | 
						|
	protected boolean editing = false;
 | 
						|
	
 | 
						|
	/** Creates a new instance of MarcacoesHigieneWindow */
 | 
						|
	public MarcacoesHigieneWindow()	
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		super( iPermissionArray );
 | 
						|
		provider = ( HigieneDataProvider ) HigieneDataProvider.getProvider();
 | 
						|
		JDO = ( JDOProvider ) Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER );
 | 
						|
		tecnicosHash = new Hashtable();
 | 
						|
		setupComponents();
 | 
						|
		setExtendedState(getExtendedState() | MAXIMIZED_BOTH);
 | 
						|
	}
 | 
						|
	
 | 
						|
	private void setupComponents()
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		setTitle( TITLE );
 | 
						|
		upperPanel = new MarcacoesHigieneUpperPanel();
 | 
						|
		JPanel panel = new JPanel();
 | 
						|
		
 | 
						|
		GridBagLayout gridbag = new GridBagLayout();
 | 
						|
		GridBagConstraints constraints = new GridBagConstraints();
 | 
						|
		getContentPane().setLayout( gridbag );
 | 
						|
		constraints.insets = new Insets( 2, 2, 2, 2 );
 | 
						|
		constraints.fill = GridBagConstraints.BOTH;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		constraints.weightx = 1;
 | 
						|
		constraints.gridheight = 1;
 | 
						|
		
 | 
						|
		constraints.weighty = 0.2;
 | 
						|
		gridbag.setConstraints( upperPanel, constraints );
 | 
						|
		
 | 
						|
		constraints.weighty = 0.8;
 | 
						|
		gridbag.setConstraints( panel, constraints );
 | 
						|
		
 | 
						|
		getContentPane().add( upperPanel );
 | 
						|
		getContentPane().add( panel );
 | 
						|
		
 | 
						|
		changeGroupName( INDEX_VISITA, "Visitas" );
 | 
						|
		setActionName( INDEX_VISITA, NEW_INDEX, "Nova" );
 | 
						|
		setActionTooltip( INDEX_VISITA, NEW_INDEX, "Nova" );
 | 
						|
		JPanel toolbar = getToolbarPanel( INDEX_VISITA );
 | 
						|
		
 | 
						|
		gridbag = new GridBagLayout();
 | 
						|
//		GridBagConstraints constraints = new GridBagConstraints();
 | 
						|
		panel.setLayout( gridbag );
 | 
						|
		constraints.insets = new Insets( 2, 2, 2, 2 );
 | 
						|
		constraints.fill = GridBagConstraints.BOTH;
 | 
						|
		constraints.gridwidth = GridBagConstraints.REMAINDER;
 | 
						|
		constraints.weightx = 1.0;
 | 
						|
		constraints.weighty = 0;
 | 
						|
		
 | 
						|
		gridbag.setConstraints( toolbar, constraints );
 | 
						|
		panel.add( toolbar );
 | 
						|
		
 | 
						|
		constraints.gridheight = 1;
 | 
						|
		constraints.weighty = 1.0;
 | 
						|
		try
 | 
						|
		{
 | 
						|
			marcacaoEditorPanel = 
 | 
						|
				new TableEditorPanel( new String[]{ "Data", 
 | 
						|
					"Estado" },
 | 
						|
					new int[]{0,2}, new int[]{0,0},
 | 
						|
						0.0, 1.0, new Dimension( 350, 100 ) );
 | 
						|
			marcacaoPanel = new MarcacaoVisitaHSTPanel();
 | 
						|
			new CopyPasteHandler( marcacaoPanel.getObservacoesText() );
 | 
						|
			marcacaoEditorPanel.addComponent( marcacaoPanel, 
 | 
						|
					new int[]{0,2}, new int[]{1,2},
 | 
						|
					1.0, 1.0 );
 | 
						|
			marcacaoEditorPanel.addListSelectionListener( new ListSelectionListener(){
 | 
						|
				public void valueChanged(javax.swing.event.ListSelectionEvent listSelectionEvent)
 | 
						|
				{
 | 
						|
					if( marcacaoEditorPanel.getID() != null )
 | 
						|
					{
 | 
						|
						reload(INDEX_VISITA);
 | 
						|
						select(INDEX_VISITA);
 | 
						|
					}
 | 
						|
					else
 | 
						|
					{
 | 
						|
						clear( INDEX_VISITA );
 | 
						|
					}
 | 
						|
				}
 | 
						|
			});
 | 
						|
		}catch( Exception ex )
 | 
						|
		{
 | 
						|
			DialogException.showException( ex );
 | 
						|
			return;
 | 
						|
		}
 | 
						|
		gridbag.setConstraints( marcacaoEditorPanel, constraints );
 | 
						|
		panel.add( marcacaoEditorPanel );
 | 
						|
		marcacaoPanel.getEmailButton().addActionListener( this );
 | 
						|
		
 | 
						|
		fillCombo();
 | 
						|
		upperPanel.addListSelectionListener( this );
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void fillCombo()
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		marcacaoPanel.getTecnicoList().removeItemListener( this );
 | 
						|
		marcacaoPanel.getTecnicoList().removeAllItems();
 | 
						|
		tecnicosHash.clear();
 | 
						|
		Object tecnicos[][] = provider.getAllTecnicosHST();
 | 
						|
		marcacaoPanel.getTecnicoList().addItem( new MappableObject( new Integer( -2 ), " " ) );
 | 
						|
		for( int n = 0; n < tecnicos.length; n++ )
 | 
						|
		{
 | 
						|
			Object tecnico[] = new Object[ 4 ];
 | 
						|
			tecnico[ 0 ] = new Integer( ( (Number)tecnicos[n][0] ).intValue() );
 | 
						|
			tecnico[ 1 ] = tecnicos[ n ][ 1 ];
 | 
						|
			tecnico[ 2 ] = tecnicos[ n ][ 2 ];
 | 
						|
			tecnico[ 3 ] = new Integer( n );
 | 
						|
			tecnicosHash.put( tecnicos[ n ][ 0 ], tecnico );
 | 
						|
			marcacaoPanel.getTecnicoList().addItem( new MappableObject( (Integer) tecnico[ 0 ], tecnico[ 1 ] ) );
 | 
						|
		}
 | 
						|
		marcacaoPanel.getTecnicoList().setSelectedIndex( 0 );
 | 
						|
 | 
						|
		marcacaoPanel.getTecnicoList().addItem( new MappableObject( new Integer( -1 ), "Novo/Editar" ) );
 | 
						|
		marcacaoPanel.getTecnicoList().addItemListener( this );
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void itemStateChanged(java.awt.event.ItemEvent itemEvent)
 | 
						|
	{
 | 
						|
		int index = marcacaoPanel.getTecnicoList().getSelectedIndex();
 | 
						|
		if( index == marcacaoPanel.getTecnicoList().getItemCount() - 1 )
 | 
						|
		{
 | 
						|
			try
 | 
						|
			{
 | 
						|
//				marcacaoPanel.getTecnicoList().removeItemListener( this );
 | 
						|
				TecnicoEditor te = new TecnicoEditor( this );
 | 
						|
				te.setVisible( true );
 | 
						|
//				boolean isNew = me.getIsNew();
 | 
						|
				Integer id = te.getID();
 | 
						|
				if( id == null )
 | 
						|
				{
 | 
						|
					marcacaoPanel.getTecnicoList().setSelectedIndex( 0 );
 | 
						|
				}
 | 
						|
				else
 | 
						|
				{
 | 
						|
					fillCombo();
 | 
						|
					if( id != null )
 | 
						|
					{
 | 
						|
						Object[] tecnico = (Object[])tecnicosHash.get( id );
 | 
						|
						marcacaoPanel.getTecnicoList().setSelectedIndex( ((Integer)tecnico[ 3 ] ).intValue() );
 | 
						|
					}
 | 
						|
				}
 | 
						|
				
 | 
						|
			}
 | 
						|
			catch( Exception ex )
 | 
						|
			{
 | 
						|
				DialogException.showExceptionMessage( ex, "Erro na janela de edi\u00e7\u00e3o...", true );
 | 
						|
				ex.printStackTrace();
 | 
						|
				marcacaoPanel.getTecnicoList().setSelectedIndex( 0 );
 | 
						|
				return;
 | 
						|
			}
 | 
						|
//			finally
 | 
						|
//			{
 | 
						|
//				marcacaoPanel.getTecnicoList().addItemListener( this );
 | 
						|
//			}
 | 
						|
		}
 | 
						|
		else
 | 
						|
		{
 | 
						|
			IDObject selected = (IDObject)marcacaoPanel.getTecnicoList().getItemAt( index );
 | 
						|
			Integer id = selected.getID();
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public boolean save(int index)
 | 
						|
	{
 | 
						|
		switch( index )
 | 
						|
		{
 | 
						|
			case INDEX_VISITA:
 | 
						|
				MarcacaoEstabelecimentoData visita = ( MarcacaoEstabelecimentoData ) marcacaoPanel.save();
 | 
						|
				Date data = ( Date ) visita.get( MarcacaoEstabelecimentoData.DATA );
 | 
						|
				if( data == null )
 | 
						|
				{
 | 
						|
					JOptionPane.showMessageDialog( this, "Tem de preencher uma data para a visita.",
 | 
						|
						"Erro", JOptionPane.ERROR_MESSAGE );
 | 
						|
					return false;
 | 
						|
				}
 | 
						|
				visita.set( MarcacaoEstabelecimentoData.ESTABELECIMENTO, estabelecimento );	
 | 
						|
				try
 | 
						|
				{
 | 
						|
					visita.set( MarcacaoEstabelecimentoData.REALIZADA,
 | 
						|
								( ( Integer )visita.get( MarcacaoEstabelecimentoData.ESTADO ) ).intValue() ==
 | 
						|
									provider.ESTADO_REALIZADO ? "y" : "n" );
 | 
						|
					System.out.println( "DATA " + visita.get( MarcacaoEstabelecimentoData.DATA ) );
 | 
						|
					Integer tecnico = ( Integer ) visita.get( MarcacaoEstabelecimentoData.TECNICO_HST );
 | 
						|
					if( tecnico != null && tecnico.intValue() < 0 )
 | 
						|
					{
 | 
						|
						visita.set( MarcacaoEstabelecimentoData.TECNICO_HST, null );
 | 
						|
					}
 | 
						|
					visita.save();
 | 
						|
				}
 | 
						|
				catch( Exception ex )
 | 
						|
				{
 | 
						|
					DialogException.showExceptionMessage( ex, "Erro a gravar", true );
 | 
						|
					return false;
 | 
						|
				}
 | 
						|
				
 | 
						|
				break;
 | 
						|
		}
 | 
						|
		reload( INDEX_MAIN );
 | 
						|
		editing = false;
 | 
						|
		return true;
 | 
						|
	}
 | 
						|
 | 
						|
	public boolean delete(int index)
 | 
						|
	{
 | 
						|
		int option = JOptionPane.showConfirmDialog( this, "Tem a certeza que quer apagar a marca\u00e7\u00e3o?",
 | 
						|
									"Apagar", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE );
 | 
						|
		if( option == 0 )
 | 
						|
		{
 | 
						|
			switch( index )
 | 
						|
			{
 | 
						|
				case INDEX_VISITA:
 | 
						|
					MarcacaoEstabelecimentoData visita = ( MarcacaoEstabelecimentoData ) marcacaoPanel.save();
 | 
						|
					try
 | 
						|
					{
 | 
						|
						visita.delete();
 | 
						|
					}
 | 
						|
					catch( Exception ex )
 | 
						|
					{
 | 
						|
						DialogException.showExceptionMessage( ex, "Erro a apagar.", true );
 | 
						|
						return false;
 | 
						|
					}
 | 
						|
					break;
 | 
						|
			}
 | 
						|
			reload( INDEX_MAIN );
 | 
						|
			return true;
 | 
						|
		}
 | 
						|
		return false;
 | 
						|
	}
 | 
						|
 | 
						|
	public void clear(int index)
 | 
						|
	{
 | 
						|
		switch( index )
 | 
						|
		{
 | 
						|
			case INDEX_MAIN:
 | 
						|
				empresaID = null;
 | 
						|
				empresa = null;
 | 
						|
				estabelecimentoID = null;
 | 
						|
				estabelecimento = null;
 | 
						|
				upperPanel.clear();
 | 
						|
				marcacaoEditorPanel.clear();
 | 
						|
				break;
 | 
						|
				
 | 
						|
			case INDEX_VISITA:
 | 
						|
				marcacaoPanel.clear();
 | 
						|
				marcacaoPanel.getEmailButton().setText( "Enviar email" );
 | 
						|
				break;
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	public void enableComponents(int index, boolean enable)
 | 
						|
	{
 | 
						|
		switch( index )
 | 
						|
		{
 | 
						|
			case INDEX_MAIN:
 | 
						|
				
 | 
						|
				break;
 | 
						|
			
 | 
						|
			case INDEX_VISITA:
 | 
						|
				marcacaoPanel.setEnabled( enable );
 | 
						|
				marcacaoPanel.getEmailButton().setEnabled( enable );
 | 
						|
				upperPanel.setEnabled( !enable );
 | 
						|
				editing = enable;
 | 
						|
				break;
 | 
						|
		}
 | 
						|
		if( tracker != null )
 | 
						|
		{
 | 
						|
			tracker.getAvisosPanel().setEnabled( !editing,
 | 
						|
													AvisoConstants.TIPO_ESTABELECIMENTO );
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	protected void enableSelect( int index, boolean select )
 | 
						|
	{
 | 
						|
		switch( index )
 | 
						|
		{
 | 
						|
			case INDEX_VISITA:
 | 
						|
				marcacaoEditorPanel.setEnabled( select );
 | 
						|
				break;
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void reload( int index )
 | 
						|
	{
 | 
						|
		switch( index )
 | 
						|
		{
 | 
						|
			case INDEX_MAIN:
 | 
						|
				try
 | 
						|
				{
 | 
						|
					empresa = provider.getEmpresa( empresaID );
 | 
						|
					estabelecimento = ( EstabelecimentoData ) JDO.load( EstabelecimentoData.class, estabelecimentoID );
 | 
						|
//					upperPanel.getEmpresaText().setText( empresa );
 | 
						|
//					upperPanel.getEstabelecimentoText().setText( estabelecimento );
 | 
						|
//					upperPanel.getTrabalhadorText().setText( ( String ) trabalhador.get( TrabalhadorData.NOME ) );
 | 
						|
					Object visitas[][] = provider.getVisitasEstabelecimento( estabelecimentoID );
 | 
						|
					if( visitas.length > 0 )
 | 
						|
					{
 | 
						|
						marcacaoEditorPanel.setData( new Object2DArray( visitas ) );
 | 
						|
					}
 | 
						|
					else
 | 
						|
					{
 | 
						|
						marcacaoEditorPanel.clear();
 | 
						|
					}
 | 
						|
				}
 | 
						|
				catch( Exception ex )
 | 
						|
				{
 | 
						|
					DialogException.showExceptionMessage( ex, "Erro a carregar os dados.", true );
 | 
						|
				}
 | 
						|
				break;
 | 
						|
				
 | 
						|
			case INDEX_VISITA:
 | 
						|
				Integer visitaID = marcacaoEditorPanel.getID();
 | 
						|
				if( visitaID == null )
 | 
						|
				{
 | 
						|
					return;
 | 
						|
				}
 | 
						|
				try
 | 
						|
				{
 | 
						|
					MarcacaoEstabelecimentoData visita = 
 | 
						|
							( MarcacaoEstabelecimentoData ) JDO.load( MarcacaoEstabelecimentoData.class, visitaID );			
 | 
						|
					marcacaoPanel.fill( visita );
 | 
						|
					Date dataEmailVisita = ( Date ) visita.get( MarcacaoEstabelecimentoData.DATA_EMAIL );
 | 
						|
					if( dataEmailVisita != null )
 | 
						|
					{
 | 
						|
						marcacaoPanel.getEmailButton().setText( "Enviar email (" + DATE_FORMAT.format( dataEmailVisita ) + ")" );
 | 
						|
					}
 | 
						|
					else
 | 
						|
					{
 | 
						|
						marcacaoPanel.getEmailButton().setText( "Enviar email" );
 | 
						|
					}
 | 
						|
				}
 | 
						|
				catch( Exception ex )
 | 
						|
				{
 | 
						|
					DialogException.showExceptionMessage( ex, "Erro a carregar os dados da visita.", true );
 | 
						|
				}
 | 
						|
				break;
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void actionPerformed( ActionEvent e )
 | 
						|
	{
 | 
						|
		Object source = e.getSource();
 | 
						|
		if( source.equals( marcacaoPanel.getEmailButton() ) )
 | 
						|
		{
 | 
						|
			enviarEmailVisita();
 | 
						|
		}
 | 
						|
	}
 | 
						|
		
 | 
						|
	protected void enviarEmailVisita()
 | 
						|
	{
 | 
						|
		MarcacaoEstabelecimentoData visita = ( MarcacaoEstabelecimentoData ) marcacaoPanel.save();
 | 
						|
		
 | 
						|
		String subject = ( String ) Singleton.getInstance( SingletonConstants.SUBJECT_VISITA );
 | 
						|
		String texto = ( String ) Singleton.getInstance( SingletonConstants.LETTER_VISITA );
 | 
						|
		
 | 
						|
		Date today = new Date();
 | 
						|
		marcacaoPanel.getEmailButton().setText( "Enviar email (" + DATE_FORMAT.format( today ) + ")" );
 | 
						|
		
 | 
						|
		try
 | 
						|
		{
 | 
						|
			enviarEmail( subject, texto, ( Date )visita.get( MarcacaoEstabelecimentoData.DATA ) );
 | 
						|
			visita.set( Marcacao.DATA_EMAIL, today );
 | 
						|
		}
 | 
						|
		catch( Exception ex )
 | 
						|
		{
 | 
						|
			DialogException.showExceptionMessage( ex, "Erro a enviar mail", true );
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	protected void enviarEmail( String subject, String texto, Date data )
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		String sede = ( String )estabelecimento.get( EstabelecimentoData.NOME );
 | 
						|
		String dataStr = DATE_FORMAT.format( data );
 | 
						|
		subject = subject.replaceAll( CompanyDataLoader.NOME, sede );
 | 
						|
		String morada = ( String )estabelecimento.get( EstabelecimentoData.MORADA );
 | 
						|
		
 | 
						|
		texto = texto.replaceAll( CompanyDataLoader.DATA, dataStr );
 | 
						|
		texto = texto.replaceAll( CompanyDataLoader.NOME, sede );
 | 
						|
		texto = texto.replaceAll( CompanyDataLoader.MORADA, morada );
 | 
						|
		
 | 
						|
		ContactoData contacto = ( ContactoData )estabelecimento.get( EstabelecimentoData.CONTACTO );
 | 
						|
		String mail = "";
 | 
						|
		if( contacto != null )
 | 
						|
		{
 | 
						|
			mail = ( String )contacto.get( ContactoData.EMAIL );
 | 
						|
		}
 | 
						|
		
 | 
						|
		if( System.getProperty( "os.name" ).startsWith( "Windows" ) )
 | 
						|
		{
 | 
						|
			mail = mail.replaceAll( " ", "%20" );
 | 
						|
			subject = subject.replaceAll( " ", "%20" );
 | 
						|
			texto = texto.replaceAll( " ", "%20" );
 | 
						|
			Process proc = Runtime.getRuntime().exec( "cmd.exe /c start mailto:\"" + mail 
 | 
						|
				+ "?subject=" + subject + "&body="
 | 
						|
 | 
						|
				+ texto
 | 
						|
				 );
 | 
						|
		}
 | 
						|
		else
 | 
						|
		{
 | 
						|
			mail = mail.replaceAll( " ", "%20" );
 | 
						|
			subject = subject.replaceAll( " ", "%20" );
 | 
						|
			texto = texto.replaceAll( " ", "%20" );
 | 
						|
 | 
						|
			Process proc = Runtime.getRuntime().exec( new String[]{ "/usr/bin/open", "/Applications/Mail.app", "mailto:" + mail 
 | 
						|
				+ "?subject=" + subject + "&body="
 | 
						|
				+ texto } );
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void valueChanged( ListSelectionEvent e )
 | 
						|
	{
 | 
						|
		Object source = e.getSource();
 | 
						|
		if( source.equals( upperPanel ) )
 | 
						|
		{
 | 
						|
			Integer ids[] = ( Integer [] ) upperPanel.save();
 | 
						|
			empresaID = ids[ 0 ];
 | 
						|
			estabelecimentoID = ids[ 1 ];
 | 
						|
			if( ids[ 1 ] == null )
 | 
						|
			{
 | 
						|
				clear( INDEX_MAIN );
 | 
						|
				unselect( INDEX_MAIN ); 
 | 
						|
			}
 | 
						|
			else
 | 
						|
			{
 | 
						|
				reload( INDEX_MAIN );
 | 
						|
				select( INDEX_MAIN );
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void setEmpresaAndEstabelecimento( Integer empresaID, Integer estabelecimentoID )
 | 
						|
	{
 | 
						|
		if( editing )
 | 
						|
		{
 | 
						|
			JOptionPane.showMessageDialog( this, "Esta janela est\u00e1 em edi\u00e7\u00e3o.", "Erro...",
 | 
						|
					JOptionPane.ERROR_MESSAGE );
 | 
						|
		}
 | 
						|
		else
 | 
						|
		{
 | 
						|
			upperPanel.fill( new Integer[]{ empresaID, estabelecimentoID } );
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void setTracker( SIPRPTracker tracker )
 | 
						|
	{
 | 
						|
		this.tracker = tracker;
 | 
						|
	}
 | 
						|
}
 |