forked from Coded/SIPRP
git-svn-id: https://svn.coded.pt/svn/SIPRP@1518 bb69d46d-e84e-40c8-a05a-06db0d633741
parent
6c2fd061c2
commit
275f3163f1
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,387 +0,0 @@
|
|||||||
/*
|
|
||||||
* SIPRPTracker.java
|
|
||||||
*
|
|
||||||
* Created on 18 de Maio de 2004, 19:46
|
|
||||||
*/
|
|
||||||
|
|
||||||
package siprp;
|
|
||||||
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.swing.tree.DefaultMutableTreeNode;
|
|
||||||
|
|
||||||
import shst.SHSTPropertiesConstants;
|
|
||||||
import shst.SHSTTrackerInterface;
|
|
||||||
import shst.companydataloaders.SIPRPPropertiesLoader;
|
|
||||||
import shst.cursos.CursosWindowAdapter;
|
|
||||||
import shst.higiene.gestao.GestaoRelatorioWindow;
|
|
||||||
import shst.higiene.relatorio.RelatorioHigieneSegurancaWindow;
|
|
||||||
import shst.higiene.trabalho.mapa.HSTrabalhoMapaWindow;
|
|
||||||
import shst.higiene.trabalho.marcacoes.MarcacoesHigieneInterface;
|
|
||||||
import shst.higiene.trabalho.marcacoes.MarcacoesHigieneWindow;
|
|
||||||
import shst.impressaofichas.ImpressaoFichasWindow;
|
|
||||||
import shst.lembretes.LembretesMultiWindow;
|
|
||||||
import shst.medicina.MedicinaWindow;
|
|
||||||
import shst.medicina.MedicinaWindowInterface;
|
|
||||||
import shst.medicina.exames.ui.RecepcaoExamesWindow;
|
|
||||||
import shst.medicina.locais_analise.EnviarAnalisesWindow;
|
|
||||||
import shst.medicina.locais_realizacao.LocaisRealizacaoWindow;
|
|
||||||
import shst.medicina.multi.MultiMarcacoesWindow;
|
|
||||||
import shst.medicina.presencas.RegistarPresencasWindow;
|
|
||||||
import shst.medicina.prestadores.PrestadoresWindow;
|
|
||||||
import siprp.clientes.AvisosPanel;
|
|
||||||
import siprp.cursos.SIPRPCursosInit;
|
|
||||||
import siprp.estatistica.EstatisticaWindow;
|
|
||||||
import siprp.ficha.FichaWindow;
|
|
||||||
import siprp.pesquisas.RelatorioAnualWindow;
|
|
||||||
|
|
||||||
import com.evolute.module.cursos.CursosWindow;
|
|
||||||
import com.evolute.utils.Singleton;
|
|
||||||
import com.evolute.utils.error.ErrorLogger;
|
|
||||||
import com.evolute.utils.tracker.TrackableWindow;
|
|
||||||
import com.evolute.utils.tracker.WindowCreator;
|
|
||||||
import com.evolute.utils.tracker.WindowTracker;
|
|
||||||
import com.evolute.utils.ui.window.LoginWindow;
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author fpalma
|
|
||||||
*/
|
|
||||||
public class SIPRPTracker extends WindowTracker implements SHSTTrackerInterface
|
|
||||||
{
|
|
||||||
public static final String FICHA_APTIDAO = "Ficha de Aptid\u00e3o";
|
|
||||||
public static final String CRIACAO_FICHA_APTIDAO = "Cria\u00e7\u00e3o de Fichas de Aptid\u00e3o";
|
|
||||||
public static final String GESTAO_CLIENTES = "Gest\u00e3o de Clientes";
|
|
||||||
public static final String MEDICINA = "Medicina";
|
|
||||||
public static final String MEDICINA_MARCACOES = "Marca\u00e7\u00f5es";
|
|
||||||
public static final String MEDICINA_MULTI_MARCACOES = MultiMarcacoesWindow.TITLE;
|
|
||||||
public static final String MEDICINA_LOCAIS = "Locais de Realiza\u00e7\u00e3o";
|
|
||||||
public static final String MEDICINA_ENVIO_ANALISES = EnviarAnalisesWindow.TITLE;
|
|
||||||
public static final String MEDICINA_PRESENCAS = "Presen\u00e7as";
|
|
||||||
public static final String HIGIENE_SEGURANCA = "Higiene e Seguran\u00e7a";
|
|
||||||
public static final String RELATORIO_ANUAL = "Relat\u00f3rio Anual";
|
|
||||||
public static final String LISTAGENS = "Listagens";
|
|
||||||
|
|
||||||
private final AvisosPanel avisos;
|
|
||||||
private shst.clientes.ClientesWindow clientesWindow;
|
|
||||||
private MedicinaWindowInterface medicinaWindow;
|
|
||||||
private MultiMarcacoesWindow multiMarcacoesWindow;
|
|
||||||
private MarcacoesHigieneInterface higieneWindow;
|
|
||||||
|
|
||||||
private LoginWindow loginWindow = null;
|
|
||||||
|
|
||||||
/** Creates a new instance of SIPRPTracker */
|
|
||||||
public SIPRPTracker( AvisosPanel avisosP )
|
|
||||||
{
|
|
||||||
Singleton.setInstance( SHSTPropertiesConstants.SHST_TRACKER, this );
|
|
||||||
Singleton.setInstance( Singleton.TRACKER, this );
|
|
||||||
this.avisos = avisosP;
|
|
||||||
avisos.setTracker( this );
|
|
||||||
Map<String, WindowCreator> creators = new HashMap<String, WindowCreator>();
|
|
||||||
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode(
|
|
||||||
Singleton.getInstance( SHSTPropertiesConstants.COMPANY_ACRONYM ) );
|
|
||||||
|
|
||||||
boolean hasFicha = ( (Boolean) Singleton.getInstance( SHSTPropertiesConstants.MODULE_FICHA ) ).booleanValue();
|
|
||||||
boolean hasGestao = ( (Boolean) Singleton.getInstance( SHSTPropertiesConstants.MODULE_CLIENTES ) ).booleanValue();
|
|
||||||
boolean hasRelatorio = ( (Boolean) Singleton.getInstance( SHSTPropertiesConstants.MODULE_RELATORIO ) ).booleanValue();
|
|
||||||
boolean hasListagens = ( (Boolean) Singleton.getInstance( SHSTPropertiesConstants.MODULE_LISTAGENS ) ).booleanValue();
|
|
||||||
boolean hasCursos = SIPRPPropertiesLoader.getInstance().findProperty( SHSTPropertiesConstants.MODULE_CURSOS, true );
|
|
||||||
|
|
||||||
if( hasGestao )
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
clientesWindow = new shst.clientes.ClientesWindow( avisos );
|
|
||||||
clientesWindow.setTracker( this );
|
|
||||||
medicinaWindow = new MedicinaWindow();
|
|
||||||
medicinaWindow.setTracker( this );
|
|
||||||
higieneWindow = new MarcacoesHigieneWindow();
|
|
||||||
higieneWindow.setTracker( this );
|
|
||||||
}
|
|
||||||
catch( Exception ex )
|
|
||||||
{
|
|
||||||
clientesWindow = null;
|
|
||||||
medicinaWindow = null;
|
|
||||||
higieneWindow = null;
|
|
||||||
ErrorLogger.logException(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
clientesWindow = null;
|
|
||||||
medicinaWindow = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( hasFicha )
|
|
||||||
{
|
|
||||||
DefaultMutableTreeNode fichaNode = new DefaultMutableTreeNode( FICHA_APTIDAO );
|
|
||||||
|
|
||||||
fichaNode.add( new DefaultMutableTreeNode( CRIACAO_FICHA_APTIDAO ) );
|
|
||||||
creators.put( CRIACAO_FICHA_APTIDAO, new WindowCreator(){
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return FichaWindow.getWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
fichaNode.add( new DefaultMutableTreeNode( ImpressaoFichasWindow.TITLE ) );
|
|
||||||
creators.put( ImpressaoFichasWindow.TITLE, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new ImpressaoFichasWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
rootNode.add( fichaNode );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( hasGestao )
|
|
||||||
{
|
|
||||||
rootNode.add( new DefaultMutableTreeNode( GESTAO_CLIENTES ) );
|
|
||||||
creators.put( GESTAO_CLIENTES, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return getClientesWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
rootNode.add( new DefaultMutableTreeNode( LembretesMultiWindow.TITLE ) );
|
|
||||||
creators.put( LembretesMultiWindow.TITLE, new WindowCreator() {
|
|
||||||
@Override
|
|
||||||
public TrackableWindow create() throws Exception
|
|
||||||
{
|
|
||||||
return new LembretesMultiWindow();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
DefaultMutableTreeNode medicinaNode = new DefaultMutableTreeNode( MEDICINA );
|
|
||||||
|
|
||||||
medicinaNode.add( new DefaultMutableTreeNode( MEDICINA_MARCACOES ) );
|
|
||||||
creators.put( MEDICINA_MARCACOES, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return getMedicinaWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
medicinaNode.add( new DefaultMutableTreeNode( MEDICINA_MULTI_MARCACOES ) );
|
|
||||||
creators.put( MEDICINA_MULTI_MARCACOES, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return getMultiMarcacoesWindow();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
medicinaNode.add( new DefaultMutableTreeNode( MEDICINA_LOCAIS ) );
|
|
||||||
creators.put( MEDICINA_LOCAIS, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new LocaisRealizacaoWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
medicinaNode.add( new DefaultMutableTreeNode( MEDICINA_ENVIO_ANALISES ) );
|
|
||||||
creators.put( MEDICINA_ENVIO_ANALISES, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new EnviarAnalisesWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
medicinaNode.add( new DefaultMutableTreeNode( RecepcaoExamesWindow.TITLE ) );
|
|
||||||
creators.put( RecepcaoExamesWindow.TITLE, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new RecepcaoExamesWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
medicinaNode.add( new DefaultMutableTreeNode( MEDICINA_PRESENCAS ) );
|
|
||||||
creators.put( MEDICINA_PRESENCAS, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new RegistarPresencasWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
medicinaNode.add( new DefaultMutableTreeNode( PrestadoresWindow.TITLE ) );
|
|
||||||
creators.put( PrestadoresWindow.TITLE, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new PrestadoresWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
rootNode.add( medicinaNode );
|
|
||||||
|
|
||||||
DefaultMutableTreeNode higieneNode = new DefaultMutableTreeNode( HIGIENE_SEGURANCA );
|
|
||||||
|
|
||||||
higieneNode.add( new DefaultMutableTreeNode( MarcacoesHigieneWindow.TITLE ) );
|
|
||||||
creators.put( MarcacoesHigieneWindow.TITLE, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return getHigieneWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
higieneNode.add( new DefaultMutableTreeNode( HSTrabalhoMapaWindow.TITLE ) );
|
|
||||||
creators.put( HSTrabalhoMapaWindow.TITLE, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new HSTrabalhoMapaWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
higieneNode.add( new DefaultMutableTreeNode( GestaoRelatorioWindow.TITLE ) );
|
|
||||||
creators.put( GestaoRelatorioWindow.TITLE, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new GestaoRelatorioWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
higieneNode.add( new DefaultMutableTreeNode( RelatorioHigieneSegurancaWindow.TITLE ) );
|
|
||||||
creators.put( RelatorioHigieneSegurancaWindow.TITLE, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new RelatorioHigieneSegurancaWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
rootNode.add( higieneNode );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( hasRelatorio )
|
|
||||||
{
|
|
||||||
rootNode.add( new DefaultMutableTreeNode( RELATORIO_ANUAL ) );
|
|
||||||
creators.put( RELATORIO_ANUAL, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new RelatorioAnualWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( hasListagens )
|
|
||||||
{
|
|
||||||
rootNode.add( new DefaultMutableTreeNode( LISTAGENS ) );
|
|
||||||
creators.put( LISTAGENS, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new EstatisticaWindow();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
SIPRPCursosInit.initFactory();
|
|
||||||
}
|
|
||||||
catch ( Exception e )
|
|
||||||
{
|
|
||||||
ErrorLogger.logException( e );
|
|
||||||
}
|
|
||||||
if( hasCursos )
|
|
||||||
{
|
|
||||||
rootNode.add( new DefaultMutableTreeNode( CursosWindow.TITLE ) );
|
|
||||||
creators.put( CursosWindow.TITLE, new WindowCreator() {
|
|
||||||
public TrackableWindow create()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
return new CursosWindowAdapter();
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
setRoot( rootNode );
|
|
||||||
setCreators( creators );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public shst.clientes.ClientesWindow getClientesWindow()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if( clientesWindow == null )
|
|
||||||
{
|
|
||||||
clientesWindow = new shst.clientes.ClientesWindow( avisos );
|
|
||||||
clientesWindow.setTracker( SIPRPTracker.this );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch( Exception e )
|
|
||||||
{
|
|
||||||
ErrorLogger.logException( e );
|
|
||||||
}
|
|
||||||
return clientesWindow;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MedicinaWindowInterface getMedicinaWindow() throws Exception
|
|
||||||
{
|
|
||||||
if( medicinaWindow == null )
|
|
||||||
{
|
|
||||||
medicinaWindow = new MedicinaWindow();
|
|
||||||
medicinaWindow.setTracker( SIPRPTracker.this );
|
|
||||||
}
|
|
||||||
return medicinaWindow;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MultiMarcacoesWindow getMultiMarcacoesWindow()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if( multiMarcacoesWindow == null )
|
|
||||||
{
|
|
||||||
multiMarcacoesWindow = new MultiMarcacoesWindow();
|
|
||||||
multiMarcacoesWindow.setTracker( SIPRPTracker.this );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch( Exception e )
|
|
||||||
{
|
|
||||||
ErrorLogger.logException( e );
|
|
||||||
}
|
|
||||||
return multiMarcacoesWindow;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MarcacoesHigieneInterface getHigieneWindow() throws Exception
|
|
||||||
{
|
|
||||||
if( higieneWindow == null )
|
|
||||||
{
|
|
||||||
higieneWindow = new MarcacoesHigieneWindow();
|
|
||||||
higieneWindow.setTracker( SIPRPTracker.this );
|
|
||||||
}
|
|
||||||
return higieneWindow;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public AvisosPanel getAvisosPanel()
|
|
||||||
{
|
|
||||||
return avisos;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLoginWindow( LoginWindow loginWindow )
|
|
||||||
{
|
|
||||||
this.loginWindow = loginWindow;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LoginWindow getLoginWindow()
|
|
||||||
{
|
|
||||||
return loginWindow;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,452 +0,0 @@
|
|||||||
/*
|
|
||||||
* AvisosPanel.java
|
|
||||||
*
|
|
||||||
* Created on 21 de Maio de 2004, 13:06
|
|
||||||
*/
|
|
||||||
|
|
||||||
package siprp.clientes;
|
|
||||||
|
|
||||||
import java.awt.Color;
|
|
||||||
import java.awt.GridBagConstraints;
|
|
||||||
import java.awt.GridBagLayout;
|
|
||||||
import java.awt.GridLayout;
|
|
||||||
import java.awt.Insets;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import java.text.DateFormat;
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.Hashtable;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
|
|
||||||
import shst.clientes.AvisosPanelInterface;
|
|
||||||
import shst.data.AvisoConstants;
|
|
||||||
import shst.data.outer.AvisosData;
|
|
||||||
import shst.data.outer.EmpresasData;
|
|
||||||
import shst.data.outer.EstabelecimentosData;
|
|
||||||
import shst.data.outer.TrabalhadoresData;
|
|
||||||
import siprp.FichaDataProvider;
|
|
||||||
import siprp.SIPRPTracker;
|
|
||||||
|
|
||||||
import com.evolute.entity.ProviderInterface;
|
|
||||||
import com.evolute.utils.Singleton;
|
|
||||||
import com.evolute.utils.dataui.ControllableComponent;
|
|
||||||
import com.evolute.utils.ui.DialogException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author fpalma
|
|
||||||
*/
|
|
||||||
public class AvisosPanel extends JPanel implements ActionListener, ControllableComponent< Object >, AvisosPanelInterface
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
private static final DateFormat DATE_FORMAT = DateFormat.getDateInstance( DateFormat.SHORT );
|
|
||||||
private ProviderInterface JDO;
|
|
||||||
private FichaDataProvider provider;
|
|
||||||
private SIPRPTracker tracker;
|
|
||||||
|
|
||||||
private JPanel empresaPanel;
|
|
||||||
private JPanel estabelecimentosPanel;
|
|
||||||
private JPanel trabalhadoresPanel;
|
|
||||||
|
|
||||||
private Object avisosEmpresa[][];
|
|
||||||
private Object avisosEstabelecimento[][];
|
|
||||||
private Object avisosTrabalhador[][];
|
|
||||||
|
|
||||||
private boolean refreshed = false;
|
|
||||||
|
|
||||||
private Hashtable buttonHash;
|
|
||||||
private Hashtable buttonTypeHash;
|
|
||||||
|
|
||||||
/** Creates a new instance of AvisosPanel */
|
|
||||||
public AvisosPanel() throws Exception
|
|
||||||
{
|
|
||||||
buttonHash = new Hashtable();
|
|
||||||
buttonTypeHash = new Hashtable();
|
|
||||||
JDO = (ProviderInterface) Singleton.getInstance( Singleton.DEFAULT_EVO_DATA_PROVIDER );
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setupComponents()
|
|
||||||
{
|
|
||||||
empresaPanel = new JPanel();
|
|
||||||
empresaPanel.setBorder(
|
|
||||||
BorderFactory.createTitledBorder(
|
|
||||||
BorderFactory.createLineBorder( new Color( 0.0f, 0.0f, 0.0f, 0.0f ), 1 ), "Empresas" ) );
|
|
||||||
empresaPanel.setLayout( new GridLayout( avisosEmpresa.length, 1 ) );
|
|
||||||
GridBagConstraints constraints = new GridBagConstraints();
|
|
||||||
constraints.insets = new Insets( 1, 1, 1, 1 );
|
|
||||||
constraints.fill = GridBagConstraints.HORIZONTAL;
|
|
||||||
constraints.weighty = 0;
|
|
||||||
for( int n = 0; n < avisosEmpresa.length; n++ )
|
|
||||||
{
|
|
||||||
JPanel pan = new JPanel();
|
|
||||||
GridBagLayout gridbag = new GridBagLayout();
|
|
||||||
pan.setBorder( BorderFactory.createLineBorder( Color.black, 1 ) );
|
|
||||||
pan.setLayout( gridbag );
|
|
||||||
constraints.gridheight = GridBagConstraints.REMAINDER;
|
|
||||||
constraints.gridx = 0;
|
|
||||||
constraints.weightx = 0;
|
|
||||||
constraints.gridwidth = 1;
|
|
||||||
JButton tratarButton = new JButton( "Tratar" );
|
|
||||||
gridbag.setConstraints( tratarButton, constraints );
|
|
||||||
pan.add( tratarButton );
|
|
||||||
buttonHash.put( tratarButton, avisosEmpresa[ n ][ 0 ] );
|
|
||||||
buttonTypeHash.put( tratarButton, new Integer( AvisoConstants.TIPO_EMPRESA ) );
|
|
||||||
tratarButton.addActionListener( this );
|
|
||||||
|
|
||||||
constraints.gridx = 1;
|
|
||||||
constraints.weightx = 1;
|
|
||||||
constraints.gridheight = 1;
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
JLabel empresaLabel = new JLabel( "" + avisosEmpresa[ n ][ 3 ] );
|
|
||||||
gridbag.setConstraints( empresaLabel, constraints );
|
|
||||||
pan.add( empresaLabel );
|
|
||||||
|
|
||||||
|
|
||||||
constraints.weightx = 1;
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
JLabel descricaoLabel = criarDescricao( avisosEmpresa[ n ] );
|
|
||||||
gridbag.setConstraints( descricaoLabel, constraints );
|
|
||||||
pan.add( descricaoLabel );
|
|
||||||
|
|
||||||
empresaPanel.add( pan );
|
|
||||||
}
|
|
||||||
|
|
||||||
estabelecimentosPanel = new JPanel();
|
|
||||||
estabelecimentosPanel.setBorder(
|
|
||||||
BorderFactory.createTitledBorder(
|
|
||||||
BorderFactory.createLineBorder( new Color( 0.0f, 0.0f, 0.0f, 0.0f ), 1 ), "Estabelecimentos" ) );
|
|
||||||
estabelecimentosPanel.setLayout( new GridLayout( avisosEstabelecimento.length, 1 ) );
|
|
||||||
|
|
||||||
for( int n = 0; n < avisosEstabelecimento.length; n++ )
|
|
||||||
{
|
|
||||||
Date dataAviso = ( Date ) avisosEstabelecimento[ n ][ 5 ];
|
|
||||||
Date dataEvento = ( Date ) avisosEstabelecimento[ n ][ 1 ];
|
|
||||||
Calendar calAviso = Calendar.getInstance();
|
|
||||||
calAviso.setTime( dataAviso );
|
|
||||||
Calendar calEvento = Calendar.getInstance();
|
|
||||||
calEvento.setTime( dataEvento );
|
|
||||||
boolean mesmoDia =
|
|
||||||
( calAviso.get( Calendar.YEAR ) == calEvento.get( Calendar.YEAR ) ) &&
|
|
||||||
( calAviso.get( Calendar.MONTH ) == calEvento.get( Calendar.MONTH ) ) &&
|
|
||||||
( calAviso.get( Calendar.DAY_OF_MONTH ) == calEvento.get( Calendar.DAY_OF_MONTH ) );
|
|
||||||
JPanel pan = new JPanel();
|
|
||||||
GridBagLayout gridbag = new GridBagLayout();
|
|
||||||
pan.setBorder( BorderFactory.createLineBorder( Color.black, 1 ) );
|
|
||||||
pan.setLayout( gridbag );
|
|
||||||
constraints.gridheight = GridBagConstraints.REMAINDER;
|
|
||||||
constraints.gridx = 0;
|
|
||||||
constraints.weightx = 0;
|
|
||||||
constraints.gridwidth = 1;
|
|
||||||
JButton tratarButton = new JButton( mesmoDia ? "Confirmar" : "Marcar" );
|
|
||||||
gridbag.setConstraints( tratarButton, constraints );
|
|
||||||
pan.add( tratarButton );
|
|
||||||
buttonHash.put( tratarButton, avisosEstabelecimento[ n ][ 0 ] );
|
|
||||||
buttonTypeHash.put( tratarButton, new Integer( AvisoConstants.TIPO_ESTABELECIMENTO ) );
|
|
||||||
tratarButton.addActionListener( this );
|
|
||||||
|
|
||||||
constraints.gridx = 1;
|
|
||||||
constraints.weightx = 1;
|
|
||||||
constraints.gridheight = 1;
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
JLabel empresaLabel = new JLabel( "" + avisosEstabelecimento[ n ][ 3 ] );
|
|
||||||
gridbag.setConstraints( empresaLabel, constraints );
|
|
||||||
pan.add( empresaLabel );
|
|
||||||
|
|
||||||
JLabel estabelecimentoLabel = new JLabel( "" + avisosEstabelecimento[ n ][ 4 ] );
|
|
||||||
gridbag.setConstraints( estabelecimentoLabel, constraints );
|
|
||||||
pan.add( estabelecimentoLabel );
|
|
||||||
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
JLabel descricaoLabel = criarDescricao( avisosEstabelecimento[ n ] );
|
|
||||||
gridbag.setConstraints( descricaoLabel, constraints );
|
|
||||||
pan.add( descricaoLabel );
|
|
||||||
|
|
||||||
estabelecimentosPanel.add( pan );
|
|
||||||
}
|
|
||||||
|
|
||||||
trabalhadoresPanel = new JPanel();
|
|
||||||
trabalhadoresPanel.setBorder(
|
|
||||||
BorderFactory.createTitledBorder(
|
|
||||||
BorderFactory.createLineBorder( new Color( 0.0f, 0.0f, 0.0f, 0.0f ), 1 ), "Trabalhadores" ) );
|
|
||||||
trabalhadoresPanel.setLayout( new GridLayout( avisosTrabalhador.length, 1 ) );
|
|
||||||
|
|
||||||
for( int n = 0; n < avisosTrabalhador.length; n++ )
|
|
||||||
{
|
|
||||||
Date dataAviso = ( Date ) avisosTrabalhador[ n ][ 6 ];
|
|
||||||
Date dataEvento = ( Date ) avisosTrabalhador[ n ][ 1 ];
|
|
||||||
Calendar calAviso = Calendar.getInstance();
|
|
||||||
calAviso.setTime( dataAviso );
|
|
||||||
Calendar calEvento = Calendar.getInstance();
|
|
||||||
calEvento.setTime( dataEvento );
|
|
||||||
boolean mesmoDia =
|
|
||||||
( calAviso.get( Calendar.YEAR ) == calEvento.get( Calendar.YEAR ) ) &&
|
|
||||||
( calAviso.get( Calendar.MONTH ) == calEvento.get( Calendar.MONTH ) ) &&
|
|
||||||
( calAviso.get( Calendar.DAY_OF_MONTH ) == calEvento.get( Calendar.DAY_OF_MONTH ) );
|
|
||||||
JPanel pan = new JPanel();
|
|
||||||
GridBagLayout gridbag = new GridBagLayout();
|
|
||||||
pan.setBorder( BorderFactory.createLineBorder( Color.black, 1 ) );
|
|
||||||
pan.setLayout( gridbag );
|
|
||||||
constraints.gridheight = GridBagConstraints.REMAINDER;
|
|
||||||
constraints.gridx = 0;
|
|
||||||
constraints.weightx = 0;
|
|
||||||
constraints.gridwidth = 1;
|
|
||||||
JButton tratarButton = new JButton( mesmoDia ? "Confirmar" : "Marcar" );
|
|
||||||
gridbag.setConstraints( tratarButton, constraints );
|
|
||||||
pan.add( tratarButton );
|
|
||||||
buttonHash.put( tratarButton, avisosTrabalhador[ n ][ 0 ] );
|
|
||||||
buttonTypeHash.put( tratarButton, new Integer( AvisoConstants.TIPO_TRABALHADOR ) );
|
|
||||||
tratarButton.addActionListener( this );
|
|
||||||
|
|
||||||
constraints.gridx = 1;
|
|
||||||
constraints.weightx = 1;
|
|
||||||
constraints.gridheight = 1;
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
JLabel empresaLabel = new JLabel( "" + avisosTrabalhador[ n ][ 3 ] );
|
|
||||||
gridbag.setConstraints( empresaLabel, constraints );
|
|
||||||
pan.add( empresaLabel );
|
|
||||||
|
|
||||||
JLabel estabelecimentoLabel = new JLabel( "" + avisosTrabalhador[ n ][ 4 ] );
|
|
||||||
gridbag.setConstraints( estabelecimentoLabel, constraints );
|
|
||||||
pan.add( estabelecimentoLabel );
|
|
||||||
|
|
||||||
JLabel trabalhadorLabel = new JLabel( "" + avisosTrabalhador[ n ][ 5 ] );
|
|
||||||
gridbag.setConstraints( trabalhadorLabel, constraints );
|
|
||||||
pan.add( trabalhadorLabel );
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
JLabel descricaoLabel = criarDescricao( avisosTrabalhador[ n ] );
|
|
||||||
gridbag.setConstraints( descricaoLabel, constraints );
|
|
||||||
pan.add( descricaoLabel );
|
|
||||||
|
|
||||||
trabalhadoresPanel.add( pan );
|
|
||||||
}
|
|
||||||
|
|
||||||
JScrollPane scp = new JScrollPane();
|
|
||||||
setLayout( new GridLayout( 1, 1 ) );
|
|
||||||
add( scp );
|
|
||||||
JPanel contentPanel = new JPanel();
|
|
||||||
scp.setViewportView( contentPanel );
|
|
||||||
GridBagLayout gridbag = new GridBagLayout();
|
|
||||||
contentPanel.setLayout( gridbag );
|
|
||||||
constraints = new GridBagConstraints();
|
|
||||||
constraints.insets = new Insets( 1, 1, 1, 1 );
|
|
||||||
constraints.fill = GridBagConstraints.BOTH;
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
constraints.weightx = 1;
|
|
||||||
constraints.gridheight = 1;
|
|
||||||
constraints.weighty = 0;
|
|
||||||
if( avisosEmpresa.length > 0 )
|
|
||||||
{
|
|
||||||
gridbag.setConstraints( empresaPanel, constraints );
|
|
||||||
contentPanel.add( empresaPanel );
|
|
||||||
}
|
|
||||||
if( avisosTrabalhador.length > 0 )
|
|
||||||
{
|
|
||||||
gridbag.setConstraints( trabalhadoresPanel, constraints );
|
|
||||||
contentPanel.add( trabalhadoresPanel );
|
|
||||||
}
|
|
||||||
if( avisosEstabelecimento.length > 0 )
|
|
||||||
{
|
|
||||||
gridbag.setConstraints( estabelecimentosPanel, constraints );
|
|
||||||
contentPanel.add( estabelecimentosPanel );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void refresh()
|
|
||||||
{
|
|
||||||
if( refreshed )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
refreshed = true;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
provider = ( FichaDataProvider ) FichaDataProvider.getProvider();
|
|
||||||
avisosEmpresa = provider.getAvisosEmpresaByDate( new Date() );
|
|
||||||
avisosEstabelecimento = provider.getAvisosEstabelecimentoByDate( new Date() );
|
|
||||||
avisosTrabalhador = provider.getAvisosTrabalhadorByDate( new Date() );
|
|
||||||
}
|
|
||||||
catch( Exception ex )
|
|
||||||
{
|
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
|
||||||
setupComponents();
|
|
||||||
setVisible( true );
|
|
||||||
repaint();
|
|
||||||
}
|
|
||||||
|
|
||||||
private JLabel criarDescricao( Object aviso[] )
|
|
||||||
{
|
|
||||||
Date dataEvento = ( Date )aviso[ 1 ];
|
|
||||||
|
|
||||||
String descricao = (String)aviso[ 2 ];
|
|
||||||
Calendar cal = Calendar.getInstance();
|
|
||||||
cal.setTime( dataEvento );
|
|
||||||
cal.set( cal.get( Calendar.YEAR ), cal.get( Calendar.MONTH ), cal.get( Calendar.DAY_OF_MONTH ), 0, 0, 0 );
|
|
||||||
cal.set( Calendar.MILLISECOND, 0 );
|
|
||||||
dataEvento = cal.getTime();
|
|
||||||
|
|
||||||
cal = Calendar.getInstance();
|
|
||||||
cal.set( cal.get( Calendar.YEAR ), cal.get( Calendar.MONTH ), cal.get( Calendar.DAY_OF_MONTH ), 0, 0, 0 );
|
|
||||||
cal.set( Calendar.MILLISECOND, 0 );
|
|
||||||
Date hoje = cal.getTime();
|
|
||||||
|
|
||||||
if( !hoje.after( dataEvento ) && !hoje.before( dataEvento ) )
|
|
||||||
{
|
|
||||||
descricao += " hoje";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
descricao += " no dia " + DATE_FORMAT.format( dataEvento );
|
|
||||||
}
|
|
||||||
JLabel descricaoLabel = new JLabel( descricao );
|
|
||||||
if( hoje.after( dataEvento ) )
|
|
||||||
{
|
|
||||||
descricaoLabel.setForeground( Color.red );
|
|
||||||
}
|
|
||||||
else if( hoje.equals( dataEvento ) )
|
|
||||||
{
|
|
||||||
descricaoLabel.setForeground( Color.green.darker() );
|
|
||||||
}
|
|
||||||
return descricaoLabel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void actionPerformed( ActionEvent e )
|
|
||||||
{
|
|
||||||
if( JDO == null )
|
|
||||||
{
|
|
||||||
JDO = ( ProviderInterface ) Singleton.getInstance( Singleton.DEFAULT_EVO_DATA_PROVIDER );
|
|
||||||
}
|
|
||||||
Object source = e.getSource();
|
|
||||||
if( source instanceof JButton )
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
( (JButton) source ).setEnabled( false );
|
|
||||||
Integer id = (Integer)buttonHash.get( source );
|
|
||||||
if( id == null )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
buttonHash.remove( source );
|
|
||||||
AvisosData aviso = (AvisosData) JDO.load( AvisosData.class, id );
|
|
||||||
if( aviso == null )
|
|
||||||
{
|
|
||||||
JOptionPane.showMessageDialog( null, "Este aviso j\u00e1 foi tratado.", "J\u00e1 tratado",
|
|
||||||
JOptionPane.WARNING_MESSAGE );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Map<String,Object> dataHash = aviso.getHashData();
|
|
||||||
Date dataEvento = (Date)dataHash.get( AvisosData.DATA_EVENTO );
|
|
||||||
Calendar cal = Calendar.getInstance();
|
|
||||||
cal.setTime( dataEvento );
|
|
||||||
cal.set( cal.get( Calendar.YEAR ), cal.get( Calendar.MONTH ), cal.get( Calendar.DAY_OF_MONTH ), 0, 0, 0 );
|
|
||||||
cal.set( Calendar.MILLISECOND, 0 );
|
|
||||||
dataEvento = cal.getTime();
|
|
||||||
|
|
||||||
cal = Calendar.getInstance();
|
|
||||||
cal.set( cal.get( Calendar.YEAR ), cal.get( Calendar.MONTH ), cal.get( Calendar.DAY_OF_MONTH ), 10, 0, 0 );
|
|
||||||
cal.set( Calendar.MILLISECOND, 0 );
|
|
||||||
Date hoje = cal.getTime();
|
|
||||||
if( hoje.before( dataEvento ) )
|
|
||||||
{
|
|
||||||
AvisosData novoAviso = new AvisosData();
|
|
||||||
novoAviso.setHashData( dataHash );
|
|
||||||
novoAviso.set( AvisosData.DATA_AVISO, dataEvento );
|
|
||||||
novoAviso.save();
|
|
||||||
}
|
|
||||||
|
|
||||||
Integer tipo = (Integer) aviso.get( AvisosData.TIPO );
|
|
||||||
TrabalhadoresData trabalhador;
|
|
||||||
EstabelecimentosData estabelecimento;
|
|
||||||
EmpresasData empresa;
|
|
||||||
|
|
||||||
switch( tipo.intValue() )
|
|
||||||
{
|
|
||||||
case AvisoConstants.TIPO_TRABALHADOR:
|
|
||||||
trabalhador = aviso.toTrabalhador_id();
|
|
||||||
estabelecimento = trabalhador.toEstabelecimento_id();
|
|
||||||
empresa = estabelecimento.toEmpresa_id();
|
|
||||||
aviso.delete();
|
|
||||||
tracker.getMedicinaWindow().setVisible( true );
|
|
||||||
tracker.getMedicinaWindow().setEmpresaAndEstabelecimentoAndTrabalhador( (Integer) empresa.get( EmpresasData.ID ),
|
|
||||||
( Integer ) estabelecimento.get( EstabelecimentosData.ID ),
|
|
||||||
( Integer ) trabalhador.get( TrabalhadoresData.ID ) );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case AvisoConstants.TIPO_ESTABELECIMENTO:
|
|
||||||
estabelecimento = aviso.toEstabelecimento_id();
|
|
||||||
empresa = estabelecimento.toEmpresa_id();
|
|
||||||
aviso.delete();
|
|
||||||
tracker.getHigieneWindow().setVisible( true );
|
|
||||||
tracker.getHigieneWindow().setEmpresaAndEstabelecimento( (Integer) empresa.get( EmpresasData.ID ),
|
|
||||||
( Integer ) estabelecimento.get( EstabelecimentosData.ID ) );
|
|
||||||
break;
|
|
||||||
|
|
||||||
case AvisoConstants.TIPO_EMPRESA:
|
|
||||||
empresa = aviso.toEmpresa_id();
|
|
||||||
aviso.delete();
|
|
||||||
shst.clientes.ClientesWindow clientesWindow = tracker.getClientesWindow();
|
|
||||||
clientesWindow.setVisible( true );
|
|
||||||
clientesWindow.setDataObject( empresa );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
System.out.println( "delete aviso" );
|
|
||||||
}
|
|
||||||
catch( Exception ex )
|
|
||||||
{
|
|
||||||
DialogException.showExceptionMessage( ex, "Erro a limpar o aviso", true );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clear()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fill(Object value)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object save()
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEnabled( boolean enable )
|
|
||||||
{
|
|
||||||
Set buttonSet = buttonHash.keySet();
|
|
||||||
JButton buttons[] = (JButton[]) buttonSet.toArray( new JButton[0] );
|
|
||||||
for( int n = 0;n < buttons.length; n++ )
|
|
||||||
{
|
|
||||||
buttons[ n ].setEnabled( enable );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEnabled( boolean enable, int type )
|
|
||||||
{
|
|
||||||
Set buttonSet = buttonHash.keySet();
|
|
||||||
JButton buttons[] = (JButton[]) buttonSet.toArray( new JButton[0] );
|
|
||||||
for( int n = 0;n < buttons.length; n++ )
|
|
||||||
{
|
|
||||||
Integer buttonType = ( Integer ) buttonTypeHash.get( buttons[ n ] );
|
|
||||||
if( buttonType.intValue() == type )
|
|
||||||
{
|
|
||||||
buttons[ n ].setEnabled( enable );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTracker( SIPRPTracker tracker )
|
|
||||||
{
|
|
||||||
this.tracker = tracker;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in new issue