forked from Coded/SIPRP
marcacoes h&s passam para shst
git-svn-id: https://svn.coded.pt/svn/SIPRP@1425 bb69d46d-e84e-40c8-a05a-06db0d633741lxbfYeaa
parent
075f4240c0
commit
54a756a05a
Binary file not shown.
@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
* CorTecnicoCellRenderer.java
|
|
||||||
*
|
|
||||||
* Created on February 1, 2006, 11:13 PM
|
|
||||||
*
|
|
||||||
* To change this template, choose Tools | Template Manager
|
|
||||||
* and open the template in the editor.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package siprp.higiene.marcacoes;
|
|
||||||
|
|
||||||
import java.awt.Color;
|
|
||||||
import java.awt.Component;
|
|
||||||
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JList;
|
|
||||||
import javax.swing.ListCellRenderer;
|
|
||||||
|
|
||||||
import siprp.higiene.HigieneDataProvider;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author fpalma
|
|
||||||
*/
|
|
||||||
public class CorTecnicoCellRenderer extends JLabel implements ListCellRenderer
|
|
||||||
{
|
|
||||||
|
|
||||||
public CorTecnicoCellRenderer()
|
|
||||||
{
|
|
||||||
setOpaque(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
|
|
||||||
{
|
|
||||||
setText( " " );
|
|
||||||
Color color = HigieneDataProvider.CORES_TECNICOS[ ( ( Integer ) value ).intValue() ];
|
|
||||||
if( cellHasFocus )
|
|
||||||
{
|
|
||||||
color = color.darker().darker();
|
|
||||||
}
|
|
||||||
setBackground( color );
|
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,353 +0,0 @@
|
|||||||
package siprp.higiene.marcacoes;
|
|
||||||
|
|
||||||
import info.clearthought.layout.TableLayout;
|
|
||||||
import info.clearthought.layout.TableLayoutConstraints;
|
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JComboBox;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
|
|
||||||
import siprp.data.outer.MarcacoesEstabelecimentoData;
|
|
||||||
|
|
||||||
import com.evolute.swing.component.EvoDatePicker;
|
|
||||||
import com.evolute.utils.Singleton;
|
|
||||||
import com.evolute.utils.data.IDObject;
|
|
||||||
import com.evolute.utils.data.MappableObject;
|
|
||||||
import com.evolute.utils.dataui.ComponentController;
|
|
||||||
import com.evolute.utils.dataui.ComponentsHashtable;
|
|
||||||
import com.evolute.utils.dataui.DataClassAware;
|
|
||||||
import com.evolute.utils.db.DBManager;
|
|
||||||
import com.evolute.utils.db.SQLExecuter;
|
|
||||||
import com.evolute.utils.ui.panel.RadioButtonFixedPanel;
|
|
||||||
import com.evolute.utils.ui.text.StateTextArea;
|
|
||||||
|
|
||||||
public class MarcacaoVisitaHSTPanel extends JPanel implements DataClassAware<MarcacoesEstabelecimentoData>
|
|
||||||
{
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
private MarcacoesEstabelecimentoData marcacaoEstabelecimentosData;
|
|
||||||
private final ComponentsHashtable components = new ComponentsHashtable();
|
|
||||||
|
|
||||||
protected final SQLExecuter EXECUTER;
|
|
||||||
|
|
||||||
private final JLabel dataLabel = new JLabel( "Data da visita", JLabel.RIGHT );
|
|
||||||
private final EvoDatePicker dataPanel = new EvoDatePicker();
|
|
||||||
private final JButton emailButton = new JButton( "Enviar Email" );
|
|
||||||
private final JLabel dataFichaLabel = new JLabel( "Data do Relat\u00f3rio(externo)", JLabel.RIGHT );
|
|
||||||
private final EvoDatePicker dataFichaPanel = new EvoDatePicker();
|
|
||||||
private final JLabel tecnicoLabel = new JLabel( "T\u00e9cnico", JLabel.RIGHT );
|
|
||||||
private final JLabel tecnicoSuperiorLabel = new JLabel( "T\u00e9cnico Superior", JLabel.RIGHT );
|
|
||||||
private final JComboBox tecnicoList = new JComboBox();
|
|
||||||
private final JComboBox tecnicoSuperiorList = new JComboBox();
|
|
||||||
private RadioButtonFixedPanel estadoList;
|
|
||||||
private final JScrollPane observacoesTextScroll = new JScrollPane();
|
|
||||||
private final StateTextArea observacoesText = new StateTextArea();
|
|
||||||
|
|
||||||
public MarcacaoVisitaHSTPanel()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
DBManager dbm = ( DBManager )Singleton.getInstance( Singleton.DEFAULT_DBMANAGER );
|
|
||||||
if( dbm != null )
|
|
||||||
{
|
|
||||||
EXECUTER = ( SQLExecuter )dbm.getSharedExecuter( this );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
EXECUTER = null;
|
|
||||||
}
|
|
||||||
setupComponents();
|
|
||||||
setupComponentsHashtable();
|
|
||||||
place();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setupComponents()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
// emailButton.setMinimumSize( new Dimension( 300, 20 ) );
|
|
||||||
// emailButton.setPreferredSize( new Dimension( 200, 20 ) );
|
|
||||||
|
|
||||||
tecnicoList.addItem( new MappableObject( new Integer( -1 ), "" ) );
|
|
||||||
tecnicoList.setSelectedIndex( 0 );
|
|
||||||
|
|
||||||
tecnicoSuperiorList.addItem( new MappableObject( new Integer( -1 ), "" ) );
|
|
||||||
tecnicoSuperiorList.setSelectedIndex( 0 );
|
|
||||||
|
|
||||||
IDObject estadoListOptions[] = new IDObject[]{
|
|
||||||
new MappableObject( new Integer( 0 ), "Por realizar" ),
|
|
||||||
new MappableObject( new Integer( 2 ), "Realizada" ),
|
|
||||||
new MappableObject( new Integer( 3 ), "Desmarcada pela empresa" ),
|
|
||||||
new MappableObject( new Integer( 4 ), "Desmarcada pela SIPRP" ),
|
|
||||||
};
|
|
||||||
estadoList = new RadioButtonFixedPanel( estadoListOptions, 6, 1, RadioButtonFixedPanel.ORIENTATION_VERTICAL, false, null );
|
|
||||||
estadoList.setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Estado" ) );
|
|
||||||
|
|
||||||
observacoesText.setLineWrap( true );
|
|
||||||
observacoesText.setWrapStyleWord( true );
|
|
||||||
observacoesText.setRows( 5 );
|
|
||||||
|
|
||||||
observacoesTextScroll.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
|
|
||||||
observacoesTextScroll.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED );
|
|
||||||
observacoesTextScroll.setViewportView( observacoesText );
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void place()
|
|
||||||
{
|
|
||||||
TableLayout layout = new TableLayout(
|
|
||||||
new double[]{ TableLayout.FILL, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL },
|
|
||||||
new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM,
|
|
||||||
TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM,
|
|
||||||
TableLayout.PREFERRED}
|
|
||||||
);
|
|
||||||
layout.setHGap(5);
|
|
||||||
layout.setVGap(5);
|
|
||||||
this.setLayout( layout );
|
|
||||||
this.add( dataLabel, new TableLayoutConstraints(1,0) );
|
|
||||||
this.add( dataPanel, new TableLayoutConstraints(2,0) );
|
|
||||||
this.add( emailButton, new TableLayoutConstraints(2,1) );
|
|
||||||
this.add( dataFichaLabel, new TableLayoutConstraints(1,2) );
|
|
||||||
this.add( dataFichaPanel, new TableLayoutConstraints(2,2) );
|
|
||||||
this.add( tecnicoLabel, new TableLayoutConstraints(1,3) );
|
|
||||||
this.add( tecnicoList, new TableLayoutConstraints(2,3) );
|
|
||||||
this.add( tecnicoSuperiorLabel, new TableLayoutConstraints(1,4) );
|
|
||||||
this.add( tecnicoSuperiorList, new TableLayoutConstraints(2,4) );
|
|
||||||
this.add( estadoList, new TableLayoutConstraints(1,5,2,5) );
|
|
||||||
JPanel panel = new JPanel( new BorderLayout() );
|
|
||||||
panel.setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Observa\u00e7\u00f5es" ) );
|
|
||||||
panel.add( observacoesTextScroll );
|
|
||||||
this.add( panel, new TableLayoutConstraints(1,6,2,6) );
|
|
||||||
//
|
|
||||||
// JPanel MarcacaoVisitaHSTPanel = this;
|
|
||||||
// GridBagConstraints MarcacaoVisitaHSTPanelGBC = new GridBagConstraints();
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.insets = new Insets( 1, 1, 1, 1 );
|
|
||||||
// GridBagLayout MarcacaoVisitaHSTPanelLayout = new GridBagLayout();
|
|
||||||
// MarcacaoVisitaHSTPanel.setLayout( MarcacaoVisitaHSTPanelLayout );
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridx = 0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridy = 0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridwidth = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridheight = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weightx = 0.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weighty = 0.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL;
|
|
||||||
// MarcacaoVisitaHSTPanelLayout.setConstraints( dataLabel, MarcacaoVisitaHSTPanelGBC );
|
|
||||||
// MarcacaoVisitaHSTPanel.add( dataLabel );
|
|
||||||
//
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridx = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridy = 0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridwidth = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridheight = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weightx = 0.5;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weighty = 0.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL;
|
|
||||||
// MarcacaoVisitaHSTPanelLayout.setConstraints( dataPanel, MarcacaoVisitaHSTPanelGBC );
|
|
||||||
// MarcacaoVisitaHSTPanel.add( dataPanel );
|
|
||||||
//
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridx = 2;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridy = 0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridwidth = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridheight = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weightx = 0.5;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weighty = 0.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.NONE;
|
|
||||||
// MarcacaoVisitaHSTPanelLayout.setConstraints( emailButton, MarcacaoVisitaHSTPanelGBC );
|
|
||||||
// MarcacaoVisitaHSTPanel.add( emailButton );
|
|
||||||
//
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridx = 0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridy = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridwidth = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridheight = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weightx = 0.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weighty = 0.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL;
|
|
||||||
// MarcacaoVisitaHSTPanelLayout.setConstraints( dataFichaLabel, MarcacaoVisitaHSTPanelGBC );
|
|
||||||
// MarcacaoVisitaHSTPanel.add( dataFichaLabel );
|
|
||||||
//
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridx = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridy = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridwidth = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridheight = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weightx = 0.5;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weighty = 0.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL;
|
|
||||||
// MarcacaoVisitaHSTPanelLayout.setConstraints( dataFichaPanel, MarcacaoVisitaHSTPanelGBC );
|
|
||||||
// MarcacaoVisitaHSTPanel.add( dataFichaPanel );
|
|
||||||
//
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridx = 0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridy = 2;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridwidth = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridheight = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weightx = 0.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weighty = 0.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL;
|
|
||||||
// MarcacaoVisitaHSTPanelLayout.setConstraints( tecnicoLabel, MarcacaoVisitaHSTPanelGBC );
|
|
||||||
// MarcacaoVisitaHSTPanel.add( tecnicoLabel );
|
|
||||||
//
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridx = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridy = 2;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridwidth = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridheight = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weightx = 0.5;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weighty = 0.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.HORIZONTAL;
|
|
||||||
// MarcacaoVisitaHSTPanelLayout.setConstraints( tecnicoList, MarcacaoVisitaHSTPanelGBC );
|
|
||||||
// MarcacaoVisitaHSTPanel.add( tecnicoList );
|
|
||||||
//
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridx = 0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridy = 3;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridwidth = 3;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridheight = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weightx = 1.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weighty = 0.5;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.BOTH;
|
|
||||||
// MarcacaoVisitaHSTPanelLayout.setConstraints( estadoList, MarcacaoVisitaHSTPanelGBC );
|
|
||||||
// MarcacaoVisitaHSTPanel.add( estadoList );
|
|
||||||
//
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridx = 0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridy = 4;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridwidth = 3;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.gridheight = 1;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weightx = 1.0;
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.weighty = 0.5;
|
|
||||||
//
|
|
||||||
// MarcacaoVisitaHSTPanelGBC.fill = GridBagConstraints.BOTH;
|
|
||||||
// MarcacaoVisitaHSTPanelLayout.setConstraints( observacoesTextScroll, MarcacaoVisitaHSTPanelGBC );
|
|
||||||
// MarcacaoVisitaHSTPanel.add( observacoesTextScroll );
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setupComponentsHashtable()
|
|
||||||
{
|
|
||||||
components.putComponent( MarcacoesEstabelecimentoData.DATA, dataPanel );
|
|
||||||
components.putComponent( MarcacoesEstabelecimentoData.DATA_RELATORIO, dataFichaPanel );
|
|
||||||
components.putComponent( MarcacoesEstabelecimentoData.TECNICO_HST, tecnicoList );
|
|
||||||
components.putComponent( MarcacoesEstabelecimentoData.TECNICO_SUPERIOR_HST, tecnicoSuperiorList );
|
|
||||||
components.putComponent( MarcacoesEstabelecimentoData.ESTADO, estadoList );
|
|
||||||
components.putComponent( MarcacoesEstabelecimentoData.OBSERVACOES, observacoesText );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void fill( MarcacoesEstabelecimentoData toFill )
|
|
||||||
{
|
|
||||||
marcacaoEstabelecimentosData = toFill;
|
|
||||||
// if( toFill == null || !( toFill instanceof PropertyObject ) )
|
|
||||||
// {
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// Map<String,Object> data = null;
|
|
||||||
// if( toFill instanceof PropertyObject )
|
|
||||||
// {
|
|
||||||
// data = ( (PropertyObject) toFill ).getHashData();
|
|
||||||
// if( toFill instanceof MarcacoesEstabelecimentoData )
|
|
||||||
// {
|
|
||||||
// marcacaoEstabelecimentosData = (MarcacoesEstabelecimentoData) toFill;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// else if( toFill instanceof Hashtable )
|
|
||||||
// {
|
|
||||||
// data = (Hashtable) toFill;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// if( marcacaoEstabelecimentosData == null )
|
|
||||||
// {
|
|
||||||
// clear();
|
|
||||||
// marcacaoEstabelecimentosData = new MarcacoesEstabelecimentoData();
|
|
||||||
// marcacaoEstabelecimentosData.setHashData( data );
|
|
||||||
// }
|
|
||||||
// PropertyObject po = (PropertyObject) toFill;
|
|
||||||
// String properties[] = (String[]) components.keySet().toArray( new String[ 0 ] );
|
|
||||||
ComponentController.fillFrom( marcacaoEstabelecimentosData, components );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public MarcacoesEstabelecimentoData save()
|
|
||||||
{
|
|
||||||
if( marcacaoEstabelecimentosData == null )
|
|
||||||
{
|
|
||||||
marcacaoEstabelecimentosData = new MarcacoesEstabelecimentoData();
|
|
||||||
}
|
|
||||||
// marcacaoEstabelecimentosData.setHashData( ComponentController.save( components ) );
|
|
||||||
// if( !( marcacaoEstabelecimentosData instanceof PropertyObject ) )
|
|
||||||
// {
|
|
||||||
// return marcacaoEstabelecimentosData;
|
|
||||||
// }
|
|
||||||
return ComponentController.saveTo( marcacaoEstabelecimentosData, components );
|
|
||||||
// marcacaoEstabelecimentosData.setHashData( data );
|
|
||||||
// return marcacaoEstabelecimentosData;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clear()
|
|
||||||
{
|
|
||||||
marcacaoEstabelecimentosData = null;
|
|
||||||
String properties[] = (String[]) components.keySet().toArray( new String[ 0 ] );
|
|
||||||
ComponentController.clear( properties, components );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEnabled( boolean enable )
|
|
||||||
{
|
|
||||||
String properties[] = (String[]) components.keySet().toArray( new String[ 0 ] );
|
|
||||||
ComponentController.setEnabled( properties, enable, components );
|
|
||||||
}
|
|
||||||
|
|
||||||
public Class<MarcacoesEstabelecimentoData> getDataClass()
|
|
||||||
{
|
|
||||||
return MarcacoesEstabelecimentoData.class;
|
|
||||||
}
|
|
||||||
|
|
||||||
public JLabel getDataFichaLabel()
|
|
||||||
{
|
|
||||||
return dataFichaLabel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public EvoDatePicker getDataFichaPanel()
|
|
||||||
{
|
|
||||||
return dataFichaPanel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public JLabel getDataLabel()
|
|
||||||
{
|
|
||||||
return dataLabel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public EvoDatePicker getDataPanel()
|
|
||||||
{
|
|
||||||
return dataPanel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public JButton getEmailButton()
|
|
||||||
{
|
|
||||||
return emailButton;
|
|
||||||
}
|
|
||||||
|
|
||||||
public RadioButtonFixedPanel getEstadoList()
|
|
||||||
{
|
|
||||||
return estadoList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public StateTextArea getObservacoesText()
|
|
||||||
{
|
|
||||||
return observacoesText;
|
|
||||||
}
|
|
||||||
|
|
||||||
public JLabel getTecnicoLabel()
|
|
||||||
{
|
|
||||||
return tecnicoLabel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public JComboBox getTecnicoList()
|
|
||||||
{
|
|
||||||
return tecnicoList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public JComboBox getTecnicoSuperiorList()
|
|
||||||
{
|
|
||||||
return tecnicoSuperiorList;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
Document : HolterPanel.xml
|
|
||||||
Created on : 1 de Outubro de 2004, 11:17
|
|
||||||
Author : fpalma
|
|
||||||
Description:
|
|
||||||
Purpose of the document follows.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!DOCTYPE UICOMPONENT SYSTEM 'http://evolute.dyndns.tv/dtd/uicomponent.dtd' >
|
|
||||||
<UICOMPONENT DATA_CLASS="siprp.data.MarcacaoEstabelecimentoData">
|
|
||||||
<INCLUDE LANGUAGE="JAVA" >siprp.data.*</INCLUDE>
|
|
||||||
<PANEL NAME="MarcacaoVisitaHSTPanel" ROW="0" COLUMN="0">
|
|
||||||
<GRID>
|
|
||||||
<ROW TYPE="MIN"/> <!--R0-->
|
|
||||||
<ROW TYPE="MIN"/> <!--R1-->
|
|
||||||
<ROW TYPE="MIN"/> <!--R2-->
|
|
||||||
<ROW TYPE="MAX"/> <!--R3-->
|
|
||||||
<ROW TYPE="MAX"/> <!--R4-->
|
|
||||||
|
|
||||||
<COL TYPE="MIN" /> <!--C0-->
|
|
||||||
<COL TYPE="MAX" /> <!--C1-->
|
|
||||||
<COL TYPE="MAX" /> <!--C2-->
|
|
||||||
</GRID>
|
|
||||||
|
|
||||||
<!-- ROW 0 -->
|
|
||||||
<LABEL NAME="dataLabel" ROW="0" COLUMN="0">
|
|
||||||
<CAPTION>
|
|
||||||
Data da visita
|
|
||||||
</CAPTION>
|
|
||||||
</LABEL>
|
|
||||||
<EDITOR NAME="dataPanel" ROW="0" COLUMN="1" DATA_FIELD="data">
|
|
||||||
<CONTENT TYPE="DATE" />
|
|
||||||
</EDITOR>
|
|
||||||
<BUTTON NAME="emailButton" ROW="0" COLUMN="2">
|
|
||||||
<CAPTION>
|
|
||||||
Enviar Email
|
|
||||||
</CAPTION>
|
|
||||||
<SIZE>
|
|
||||||
<WIDTH PREFERRED="200" MIN="300" />
|
|
||||||
<HEIGHT PREFERRED="20" MIN="20" />
|
|
||||||
</SIZE>
|
|
||||||
</BUTTON>
|
|
||||||
|
|
||||||
<!-- ROW 1 -->
|
|
||||||
<LABEL NAME="dataFichaLabel" ROW="1" COLUMN="0">
|
|
||||||
<CAPTION>
|
|
||||||
Data do Relat\u00f3rio
|
|
||||||
</CAPTION>
|
|
||||||
</LABEL>
|
|
||||||
<EDITOR NAME="dataFichaPanel" ROW="1" COLUMN="1" DATA_FIELD="data_relatorio">
|
|
||||||
<CONTENT TYPE="DATE" />
|
|
||||||
</EDITOR>
|
|
||||||
|
|
||||||
<!-- ROW 2 -->
|
|
||||||
<LABEL NAME="tecnicoLabel" ROW="2" COLUMN="0">
|
|
||||||
<CAPTION>
|
|
||||||
T\u00e9cnico
|
|
||||||
</CAPTION>
|
|
||||||
</LABEL>
|
|
||||||
<EDITOR NAME="tecnicoList" ROW="2" COLUMN="1" EDITABLE="FALSE" DATA_FIELD="tecnico_hst">
|
|
||||||
<CONTENT TYPE="INTEGER" ISLIST="TRUE">
|
|
||||||
<ROWS>1</ROWS>
|
|
||||||
</CONTENT>
|
|
||||||
<LIST_CONTENT HAS_IDS="TRUE" SELECTABLE="TRUE" DISPLAY_COLUMNS="1">
|
|
||||||
<LIST_OPTION OPTION_ID="-1" DEFAULT="TRUE"> </LIST_OPTION>
|
|
||||||
</LIST_CONTENT>
|
|
||||||
</EDITOR>
|
|
||||||
|
|
||||||
<EDITOR NAME="estadoList" ROW="3" COLUMN="0" COLSPAN="3" EDITABLE="FALSE" DATA_FIELD="estado">
|
|
||||||
<BORDER TYPE="ETCHED">Estado</BORDER>
|
|
||||||
<CONTENT TYPE="INTEGER" ISLIST="TRUE">
|
|
||||||
<ROWS>6</ROWS>
|
|
||||||
</CONTENT>
|
|
||||||
<LIST_CONTENT HAS_IDS="TRUE" SELECTABLE="TRUE" DISPLAY_COLUMNS="1">
|
|
||||||
<LIST_OPTION OPTION_ID="0" DEFAULT="TRUE">Por realizar</LIST_OPTION>
|
|
||||||
<LIST_OPTION OPTION_ID="2">Realizada</LIST_OPTION>
|
|
||||||
<LIST_OPTION OPTION_ID="3">Desmarcada pela empresa</LIST_OPTION>
|
|
||||||
<LIST_OPTION OPTION_ID="4">Desmarcada pela SIPRP</LIST_OPTION>
|
|
||||||
</LIST_CONTENT>
|
|
||||||
</EDITOR>
|
|
||||||
|
|
||||||
<!-- ROW 4 -->
|
|
||||||
<EDITOR NAME="observacoesText" ROW="4" COLUMN="0" COLSPAN="3" DATA_FIELD="observacoes">
|
|
||||||
<BORDER TYPE="ETCHED">Observa\u00e7\u00f5es</BORDER>
|
|
||||||
<SCROLL/>
|
|
||||||
<CONTENT TYPE="CHAR" ACCEPTS_NEGATIVE="FALSE">
|
|
||||||
<ROWS>5</ROWS>
|
|
||||||
</CONTENT>
|
|
||||||
</EDITOR>
|
|
||||||
</PANEL>
|
|
||||||
</UICOMPONENT>
|
|
||||||
@ -1,207 +0,0 @@
|
|||||||
/*
|
|
||||||
* MarcacoesHigieneUpperPanel.java
|
|
||||||
*
|
|
||||||
* Created on February 2, 2006, 12:40 AM
|
|
||||||
*
|
|
||||||
* To change this template, choose Tools | Template Manager
|
|
||||||
* and open the template in the editor.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package siprp.higiene.marcacoes;
|
|
||||||
|
|
||||||
import java.awt.GridBagConstraints;
|
|
||||||
import java.awt.GridBagLayout;
|
|
||||||
import java.awt.Insets;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Vector;
|
|
||||||
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
import javax.swing.ListSelectionModel;
|
|
||||||
import javax.swing.event.ListSelectionEvent;
|
|
||||||
import javax.swing.event.ListSelectionListener;
|
|
||||||
|
|
||||||
import siprp.higiene.HigieneDataProvider;
|
|
||||||
|
|
||||||
import com.evolute.utils.dataui.ControllableComponent;
|
|
||||||
import com.evolute.utils.tables.BaseTable;
|
|
||||||
import com.evolute.utils.tables.ColumnizedMappable;
|
|
||||||
import com.evolute.utils.tables.VectorTableModel;
|
|
||||||
import com.evolute.utils.ui.DialogException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author fpalma
|
|
||||||
*/
|
|
||||||
public class MarcacoesHigieneUpperPanel extends JPanel
|
|
||||||
implements ListSelectionListener, ControllableComponent
|
|
||||||
{
|
|
||||||
protected BaseTable empresasTable;
|
|
||||||
protected VectorTableModel empresasModel;
|
|
||||||
protected BaseTable estabelecimentosTable;
|
|
||||||
protected VectorTableModel estabelecimentosModel;
|
|
||||||
|
|
||||||
protected HigieneDataProvider provider;
|
|
||||||
|
|
||||||
protected final Vector listeners;
|
|
||||||
|
|
||||||
/** Creates a new instance of MedicinaUpperPanel */
|
|
||||||
public MarcacoesHigieneUpperPanel()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
provider = ( HigieneDataProvider ) HigieneDataProvider.getProvider();
|
|
||||||
listeners = new Vector();
|
|
||||||
setupComponents();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setupComponents()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
empresasModel = new VectorTableModel( new String[]{ "empresas" } );
|
|
||||||
empresasTable = new BaseTable( empresasModel );
|
|
||||||
empresasTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
|
|
||||||
empresasTable.setNonResizableNorReordable();
|
|
||||||
JScrollPane empresasScroll =
|
|
||||||
new JScrollPane( empresasTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
|
|
||||||
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
|
|
||||||
empresasTable.getSelectionModel().addListSelectionListener( this );
|
|
||||||
estabelecimentosModel = new VectorTableModel( new String[]{ "estabelecimentos" } );
|
|
||||||
estabelecimentosTable = new BaseTable( estabelecimentosModel );
|
|
||||||
estabelecimentosTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
|
|
||||||
estabelecimentosTable.setNonResizableNorReordable();
|
|
||||||
JScrollPane estabelecimentosScroll =
|
|
||||||
new JScrollPane( estabelecimentosTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
|
|
||||||
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
|
|
||||||
estabelecimentosTable.getSelectionModel().addListSelectionListener( this );
|
|
||||||
|
|
||||||
GridBagLayout gridbag = new GridBagLayout();
|
|
||||||
setLayout( gridbag );
|
|
||||||
GridBagConstraints constraints = new GridBagConstraints();
|
|
||||||
constraints.insets = new Insets( 1, 1, 1, 1 );
|
|
||||||
constraints.fill = GridBagConstraints.BOTH;
|
|
||||||
constraints.gridwidth = 1;
|
|
||||||
constraints.gridheight = GridBagConstraints.REMAINDER;
|
|
||||||
constraints.weightx = 0.5;
|
|
||||||
constraints.weighty = 1;
|
|
||||||
|
|
||||||
gridbag.setConstraints( empresasScroll, constraints );
|
|
||||||
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
gridbag.setConstraints( estabelecimentosScroll, constraints );
|
|
||||||
|
|
||||||
add( empresasScroll );
|
|
||||||
add( estabelecimentosScroll );
|
|
||||||
|
|
||||||
ColumnizedMappable empresas[] = provider.getAllEmpresas();
|
|
||||||
Vector values = empresasModel.getValues();
|
|
||||||
values.addAll( Arrays.asList( empresas ) );
|
|
||||||
empresasModel.setValues( values );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void valueChanged( ListSelectionEvent e )
|
|
||||||
{
|
|
||||||
Object source = e.getSource();
|
|
||||||
if( e.getValueIsAdjusting() )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if( source.equals( empresasTable.getSelectionModel() ) )
|
|
||||||
{
|
|
||||||
carregarEstabelecimentos();
|
|
||||||
}
|
|
||||||
else if( source.equals( estabelecimentosTable.getSelectionModel() ) )
|
|
||||||
{
|
|
||||||
notifyListeners( e );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void carregarEstabelecimentos()
|
|
||||||
{
|
|
||||||
estabelecimentosTable.clearSelection();
|
|
||||||
int selected = empresasTable.getSelectedRow();
|
|
||||||
estabelecimentosModel.clearAll();
|
|
||||||
if( selected > -1 )
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Integer empresaID = ( ( ColumnizedMappable ) empresasModel.getRowAt( selected ) ).getID();
|
|
||||||
ColumnizedMappable estabelecimentos[] = provider.getAllEstabelecimentosForEmpresa( empresaID);
|
|
||||||
Vector values = estabelecimentosModel.getValues();
|
|
||||||
values.addAll( Arrays.asList( estabelecimentos ) );
|
|
||||||
estabelecimentosModel.setValues( values );
|
|
||||||
}
|
|
||||||
catch( Exception ex )
|
|
||||||
{
|
|
||||||
DialogException.showExceptionMessage( ex, "Erro a carregar os estabelecimentos.", true );
|
|
||||||
estabelecimentosModel.clearAll();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void notifyListeners( ListSelectionEvent e )
|
|
||||||
{
|
|
||||||
for( int n = 0; n < listeners.size(); n++ )
|
|
||||||
{
|
|
||||||
ListSelectionEvent event =
|
|
||||||
new ListSelectionEvent( this, e.getFirstIndex(), e.getLastIndex(), e.getValueIsAdjusting() );
|
|
||||||
( ( ListSelectionListener ) listeners.elementAt( n ) ).valueChanged( event );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addListSelectionListener( ListSelectionListener listener )
|
|
||||||
{
|
|
||||||
listeners.add( listener );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void removeSelectionListener( ListSelectionListener listener )
|
|
||||||
{
|
|
||||||
listeners.remove( listener );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clear()
|
|
||||||
{
|
|
||||||
// empresasTable.clearSelection();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fill( Object value )
|
|
||||||
{
|
|
||||||
if( value == null )
|
|
||||||
{
|
|
||||||
clear();
|
|
||||||
}
|
|
||||||
Integer ids[] = ( Integer [] ) value;
|
|
||||||
for( int n = 0; n < empresasTable.getRowCount(); n++ )
|
|
||||||
{
|
|
||||||
if( ( ( ColumnizedMappable ) empresasModel.getRowAt( n ) ).getID().equals( ids[ 0 ] ) )
|
|
||||||
{
|
|
||||||
empresasTable.setRowSelectionInterval( n, n );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for( int n = 0; n < estabelecimentosTable.getRowCount(); n++ )
|
|
||||||
{
|
|
||||||
if( ( ( ColumnizedMappable ) estabelecimentosModel.getRowAt( n ) ).getID().equals( ids[ 1 ] ) )
|
|
||||||
{
|
|
||||||
estabelecimentosTable.setRowSelectionInterval( n, n );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object save()
|
|
||||||
{
|
|
||||||
int empresaSelected = empresasTable.getSelectedRow();
|
|
||||||
int estabelecimentoSelected = estabelecimentosTable.getSelectedRow();
|
|
||||||
return new Integer[]{
|
|
||||||
empresaSelected == -1 ? null : ( ( ColumnizedMappable ) empresasModel.getRowAt( empresaSelected ) ).getID(),
|
|
||||||
estabelecimentoSelected == -1 ? null : ( ( ColumnizedMappable ) estabelecimentosModel.getRowAt( estabelecimentoSelected ) ).getID()
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEnabled( boolean enable )
|
|
||||||
{
|
|
||||||
empresasTable.setEnabled( enable );
|
|
||||||
estabelecimentosTable.setEnabled( enable );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,572 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.Dimension;
|
|
||||||
import java.awt.GridBagConstraints;
|
|
||||||
import java.awt.GridBagLayout;
|
|
||||||
import java.awt.Insets;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import java.awt.event.ItemEvent;
|
|
||||||
import java.awt.event.ItemListener;
|
|
||||||
import java.text.DateFormat;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.Hashtable;
|
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
import javax.swing.JComboBox;
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.event.ListSelectionEvent;
|
|
||||||
import javax.swing.event.ListSelectionListener;
|
|
||||||
|
|
||||||
import shst.SHSTTrackerInterface;
|
|
||||||
import shst.higiene.marcacoes.MarcacoesHigieneInterface;
|
|
||||||
import siprp.SingletonConstants;
|
|
||||||
import siprp.clientes.AvisosPanel;
|
|
||||||
import siprp.companydataloaders.CompanyDataLoader;
|
|
||||||
import siprp.data.AvisoConstants;
|
|
||||||
import siprp.data.Marcacao;
|
|
||||||
import siprp.data.outer.ContactosData;
|
|
||||||
import siprp.data.outer.EstabelecimentosData;
|
|
||||||
import siprp.data.outer.MarcacoesEstabelecimentoData;
|
|
||||||
import siprp.higiene.HigieneDataProvider;
|
|
||||||
import siprp.ui.SIPRPEditorWindow;
|
|
||||||
|
|
||||||
import com.evolute.entity.ProviderInterface;
|
|
||||||
import com.evolute.utils.Singleton;
|
|
||||||
import com.evolute.utils.arrays.Object2DArray;
|
|
||||||
import com.evolute.utils.data.MappableObject;
|
|
||||||
import com.evolute.utils.ui.DialogException;
|
|
||||||
import com.evolute.utils.ui.panel.TableEditorPanel;
|
|
||||||
import com.evolute.utils.ui.text.CopyPasteHandler;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author fpalma
|
|
||||||
*/
|
|
||||||
public class MarcacoesHigieneWindow extends SIPRPEditorWindow
|
|
||||||
implements ItemListener, ActionListener, ListSelectionListener, MarcacoesHigieneInterface
|
|
||||||
{
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
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 higieneProvider;
|
|
||||||
protected ProviderInterface objectProvider;
|
|
||||||
protected SHSTTrackerInterface tracker;
|
|
||||||
|
|
||||||
private Hashtable<Object, Object[]> tecnicosHash;
|
|
||||||
|
|
||||||
private Integer empresaID;
|
|
||||||
// protected String empresa;
|
|
||||||
private Integer estabelecimentoID;
|
|
||||||
private EstabelecimentosData estabelecimento;
|
|
||||||
|
|
||||||
protected boolean editing = false;
|
|
||||||
|
|
||||||
/** Creates a new instance of MarcacoesHigieneWindow */
|
|
||||||
public MarcacoesHigieneWindow()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
super( iPermissionArray );
|
|
||||||
|
|
||||||
this.higieneProvider = ( HigieneDataProvider ) HigieneDataProvider.getProvider();
|
|
||||||
this.objectProvider = ( ProviderInterface ) Singleton.getInstance( Singleton.DEFAULT_OBJECT_PROVIDER );
|
|
||||||
|
|
||||||
this.tecnicosHash = new Hashtable<Object, Object[]>();
|
|
||||||
this.setupComponents();
|
|
||||||
this.setSize( 800, 700 );
|
|
||||||
this.setLocationRelativeTo(null);
|
|
||||||
this.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 = 1;
|
|
||||||
gridbag.setConstraints( upperPanel, constraints );
|
|
||||||
|
|
||||||
constraints.weighty = 0;
|
|
||||||
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 = 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()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
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 );
|
|
||||||
|
|
||||||
fillCombos();
|
|
||||||
upperPanel.addListSelectionListener( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void fillCombos()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
JComboBox tecnicosList = marcacaoPanel.getTecnicoList();
|
|
||||||
JComboBox tecnicosSuperioresList = marcacaoPanel.getTecnicoSuperiorList();
|
|
||||||
tecnicosHash.clear();
|
|
||||||
tecnicosList.removeItemListener( this );
|
|
||||||
tecnicosSuperioresList.removeItemListener( this );
|
|
||||||
fillTecnicos(tecnicosList,false);
|
|
||||||
fillTecnicos(tecnicosSuperioresList,true);
|
|
||||||
tecnicosList.addItemListener( this );
|
|
||||||
tecnicosSuperioresList.addItemListener( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fillTecnicos( JComboBox tecnicosList, boolean superiores ) throws Exception
|
|
||||||
{
|
|
||||||
tecnicosList.removeAllItems();
|
|
||||||
Object tecnicos[][] = higieneProvider.getTecnicosHST( superiores );
|
|
||||||
tecnicosList.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 );
|
|
||||||
tecnicosList.addItem( new MappableObject( (Integer) tecnico[ 0 ], tecnico[ 1 ] ) );
|
|
||||||
}
|
|
||||||
tecnicosList.setSelectedIndex( 0 );
|
|
||||||
|
|
||||||
tecnicosList.addItem( new MappableObject( new Integer( -1 ), "Novo/Editar" ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void itemStateChanged( ItemEvent itemEvent )
|
|
||||||
{
|
|
||||||
JComboBox tecnicos = null;
|
|
||||||
if( itemEvent.getSource().equals( marcacaoPanel.getTecnicoList() ) )
|
|
||||||
{
|
|
||||||
tecnicos = marcacaoPanel.getTecnicoList();
|
|
||||||
}
|
|
||||||
else if( itemEvent.getSource().equals( marcacaoPanel.getTecnicoSuperiorList() ) )
|
|
||||||
{
|
|
||||||
tecnicos = marcacaoPanel.getTecnicoSuperiorList();
|
|
||||||
}
|
|
||||||
if( tecnicos != null && itemEvent.getStateChange() == ItemEvent.SELECTED )
|
|
||||||
{
|
|
||||||
int index = tecnicos.getSelectedIndex();
|
|
||||||
if( index == tecnicos.getItemCount() - 1 )
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
TecnicoEditor te = new TecnicoEditor( this );
|
|
||||||
te.setVisible( true );
|
|
||||||
Integer id = te.getID();
|
|
||||||
if( id == null )
|
|
||||||
{
|
|
||||||
tecnicos.setSelectedIndex( 0 );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
fillCombos();
|
|
||||||
if( id != null )
|
|
||||||
{
|
|
||||||
Object[] tecnico = tecnicosHash.get( id );
|
|
||||||
tecnicos.setSelectedIndex( ( (Integer)tecnico[ 3 ] ).intValue() + 1 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
catch( Exception ex )
|
|
||||||
{
|
|
||||||
DialogException.showExceptionMessage( ex, "Erro na janela de edi\u00e7\u00e3o...", true );
|
|
||||||
ex.printStackTrace();
|
|
||||||
tecnicos.setSelectedIndex( 0 );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean save(int index)
|
|
||||||
{
|
|
||||||
switch( index )
|
|
||||||
{
|
|
||||||
case INDEX_VISITA:
|
|
||||||
MarcacoesEstabelecimentoData visita = ( MarcacoesEstabelecimentoData ) marcacaoPanel.save();
|
|
||||||
Date data = ( Date ) visita.get( MarcacoesEstabelecimentoData.DATA );
|
|
||||||
if( data == null )
|
|
||||||
{
|
|
||||||
JOptionPane.showMessageDialog( this, "Tem de preencher uma data para a visita.",
|
|
||||||
"Erro", JOptionPane.ERROR_MESSAGE );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
visita.setToEstabelecimento_id( estabelecimento );
|
|
||||||
try
|
|
||||||
{
|
|
||||||
visita.set( MarcacoesEstabelecimentoData.REALIZADA,
|
|
||||||
( ( Integer )visita.get( MarcacoesEstabelecimentoData.ESTADO ) ).intValue() ==
|
|
||||||
HigieneDataProvider.ESTADO_REALIZADO ? "y" : "n" );
|
|
||||||
System.out.println( "DATA " + visita.get( MarcacoesEstabelecimentoData.DATA ) );
|
|
||||||
Integer tecnico = ( Integer ) visita.get( MarcacoesEstabelecimentoData.TECNICO_HST );
|
|
||||||
if( tecnico != null && tecnico.intValue() < 0 )
|
|
||||||
{
|
|
||||||
visita.set( MarcacoesEstabelecimentoData.TECNICO_HST, null );
|
|
||||||
}
|
|
||||||
Integer tecnicoSup = ( Integer ) visita.get( MarcacoesEstabelecimentoData.TECNICO_SUPERIOR_HST );
|
|
||||||
if( tecnicoSup != null && tecnicoSup.intValue() < 0 )
|
|
||||||
{
|
|
||||||
visita.set( MarcacoesEstabelecimentoData.TECNICO_SUPERIOR_HST, null );
|
|
||||||
}
|
|
||||||
visita.save();
|
|
||||||
}
|
|
||||||
catch( Exception ex )
|
|
||||||
{
|
|
||||||
DialogException.showExceptionMessage( ex, "Erro a gravar", true );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
reload( INDEX_MAIN );
|
|
||||||
editing = false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
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 == JOptionPane.OK_OPTION )
|
|
||||||
{
|
|
||||||
switch( index )
|
|
||||||
{
|
|
||||||
case INDEX_VISITA:
|
|
||||||
MarcacoesEstabelecimentoData visita = ( MarcacoesEstabelecimentoData ) 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;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void clear(int index)
|
|
||||||
{
|
|
||||||
switch( index )
|
|
||||||
{
|
|
||||||
case INDEX_MAIN:
|
|
||||||
empresaID = 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 )
|
|
||||||
{
|
|
||||||
( ( AvisosPanel ) tracker.getAvisosPanel() ).setEnabled( ! editing, AvisoConstants.TIPO_ESTABELECIMENTO );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void enableSelect( int index, boolean select )
|
|
||||||
{
|
|
||||||
switch( index )
|
|
||||||
{
|
|
||||||
case INDEX_VISITA:
|
|
||||||
marcacaoEditorPanel.setEnabled( select );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void reload( int index )
|
|
||||||
{
|
|
||||||
switch( index )
|
|
||||||
{
|
|
||||||
case INDEX_MAIN:
|
|
||||||
try
|
|
||||||
{
|
|
||||||
// EmpresasData empresa = (EmpresasData) objectProvider.load( EmpresasData.class, empresaID );
|
|
||||||
estabelecimento = estabelecimentoID == null ? null : ((EstabelecimentosData) objectProvider.load( EstabelecimentosData.class, estabelecimentoID ));
|
|
||||||
// upperPanel.getEmpresaText().setText( empresa );
|
|
||||||
// upperPanel.getEstabelecimentoText().setText( estabelecimento );
|
|
||||||
// upperPanel.getTrabalhadorText().setText( ( String ) trabalhador.get( TrabalhadoresData.NOME ) );
|
|
||||||
Object visitas[][] = higieneProvider.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
|
|
||||||
{
|
|
||||||
MarcacoesEstabelecimentoData visita = (MarcacoesEstabelecimentoData) objectProvider.load( MarcacoesEstabelecimentoData.class, visitaID );
|
|
||||||
marcacaoPanel.fill( visita );
|
|
||||||
Date dataEmailVisita = ( Date ) visita.get( MarcacoesEstabelecimentoData.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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void actionPerformed( ActionEvent e )
|
|
||||||
{
|
|
||||||
Object source = e.getSource();
|
|
||||||
if( source.equals( marcacaoPanel.getEmailButton() ) )
|
|
||||||
{
|
|
||||||
enviarEmailVisita();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void enviarEmailVisita()
|
|
||||||
{
|
|
||||||
MarcacoesEstabelecimentoData visita = ( MarcacoesEstabelecimentoData ) 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( MarcacoesEstabelecimentoData.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( EstabelecimentosData.NOME );
|
|
||||||
String dataStr = DATE_FORMAT.format( data );
|
|
||||||
subject = subject.replaceAll( CompanyDataLoader.NOME, sede );
|
|
||||||
String morada = ( String )estabelecimento.get( EstabelecimentosData.MORADA );
|
|
||||||
|
|
||||||
texto = texto.replaceAll( CompanyDataLoader.DATA, dataStr );
|
|
||||||
texto = texto.replaceAll( CompanyDataLoader.NOME, sede );
|
|
||||||
texto = texto.replaceAll( CompanyDataLoader.MORADA, morada );
|
|
||||||
|
|
||||||
ContactosData contacto = estabelecimento.toContacto_id();
|
|
||||||
String mail = "";
|
|
||||||
if( contacto != null )
|
|
||||||
{
|
|
||||||
mail = ( String )contacto.get( ContactosData.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 } );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
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 );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
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 } );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setTracker( SHSTTrackerInterface tracker )
|
|
||||||
{
|
|
||||||
this.tracker = tracker;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,323 +0,0 @@
|
|||||||
package siprp.higiene.marcacoes;
|
|
||||||
|
|
||||||
|
|
||||||
import static com.evolute.utils.strings.UnicodeLatin1Map.eacute;
|
|
||||||
|
|
||||||
import java.awt.Dimension;
|
|
||||||
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.util.Vector;
|
|
||||||
|
|
||||||
import javax.swing.BoxLayout;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JCheckBox;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JOptionPane;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JRadioButton;
|
|
||||||
import javax.swing.JScrollPane;
|
|
||||||
import javax.swing.JTextField;
|
|
||||||
import javax.swing.ListSelectionModel;
|
|
||||||
import javax.swing.event.ListSelectionEvent;
|
|
||||||
import javax.swing.event.ListSelectionListener;
|
|
||||||
|
|
||||||
import siprp.data.outer.MarcacoesTecnicosHstData;
|
|
||||||
import siprp.higiene.HigieneDataProvider;
|
|
||||||
import siprp.ui.SIPRPEditorWindow;
|
|
||||||
|
|
||||||
import com.evolute.entity.ProviderInterface;
|
|
||||||
import com.evolute.utils.Singleton;
|
|
||||||
import com.evolute.utils.tables.BaseTable;
|
|
||||||
import com.evolute.utils.tables.ColumnizedObjectArray;
|
|
||||||
import com.evolute.utils.tables.VectorTableModel;
|
|
||||||
import com.evolute.utils.ui.CustomJDialog;
|
|
||||||
import com.evolute.utils.ui.DialogException;
|
|
||||||
import com.evolute.utils.ui.button.BetterButtonGroup;
|
|
||||||
import com.evolute.utils.ui.text.CopyPasteHandler;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author fpalma
|
|
||||||
*/
|
|
||||||
public class TecnicoEditor extends CustomJDialog
|
|
||||||
implements ActionListener, ListSelectionListener
|
|
||||||
{
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
private ProviderInterface JDO;
|
|
||||||
private HigieneDataProvider provider;
|
|
||||||
private BaseTable table;
|
|
||||||
private VectorTableModel<ColumnizedObjectArray> model;
|
|
||||||
private JButton okButton;
|
|
||||||
private JButton cancelarButton;
|
|
||||||
private JButton novoButton;
|
|
||||||
private JTextField nomeText;
|
|
||||||
private JTextField iniciaisText;
|
|
||||||
private JCheckBox checkSuperior;
|
|
||||||
private Integer id;
|
|
||||||
private boolean isNew = false;
|
|
||||||
private BetterButtonGroup corGroup;
|
|
||||||
private JRadioButton cores[];
|
|
||||||
|
|
||||||
/** Creates a new instance of MedicoEditor */
|
|
||||||
public TecnicoEditor( SIPRPEditorWindow owner )
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
super( owner, true );
|
|
||||||
provider = (HigieneDataProvider)HigieneDataProvider.getProvider();
|
|
||||||
JDO = ( ProviderInterface ) Singleton.getInstance( Singleton.DEFAULT_EVO_DATA_PROVIDER );
|
|
||||||
setupComponents();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setupComponents()
|
|
||||||
throws Exception
|
|
||||||
{
|
|
||||||
setSize( 600, 300 );
|
|
||||||
setResizable( false );
|
|
||||||
setTitle( "Criar/Editar T\u00e9cnico" );
|
|
||||||
centerSuper();
|
|
||||||
|
|
||||||
model = new VectorTableModel<ColumnizedObjectArray>( new String[]{ "Nome", "Iniciais", "Cor", "Superior" } );
|
|
||||||
table = new BaseTable( model );
|
|
||||||
table.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
|
|
||||||
table.setTableCellRenderer( new TecnicoRenderer() );
|
|
||||||
JScrollPane scp = new JScrollPane();
|
|
||||||
scp.setMinimumSize( new Dimension( 300, 200 ) );
|
|
||||||
scp.setMaximumSize( new Dimension( 300, 200 ) );
|
|
||||||
scp.setPreferredSize( new Dimension( 300, 200 ) );
|
|
||||||
scp.setSize( new Dimension( 300, 200 ) );
|
|
||||||
scp.setViewportView( table );
|
|
||||||
scp.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
|
|
||||||
scp.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
|
|
||||||
table.fixColumnWidth( 0, 200 );
|
|
||||||
table.setNonResizableNorReordable();
|
|
||||||
table.getSelectionModel().addListSelectionListener( this );
|
|
||||||
Object obj[][] = provider.getAllTecnicosHST();
|
|
||||||
Vector<ColumnizedObjectArray> tecnicosHST = new Vector<ColumnizedObjectArray>();
|
|
||||||
for( int n = 0; n < obj.length; n++ )
|
|
||||||
{
|
|
||||||
tecnicosHST.add( new ColumnizedObjectArray( obj[ n ], true ) );
|
|
||||||
}
|
|
||||||
model.setValues( tecnicosHST );
|
|
||||||
|
|
||||||
okButton = new JButton( "OK" );
|
|
||||||
cancelarButton = new JButton( "Cancelar" );
|
|
||||||
novoButton = new JButton( "Novo" );
|
|
||||||
okButton.addActionListener( this );
|
|
||||||
cancelarButton.addActionListener( this );
|
|
||||||
novoButton.addActionListener( this );
|
|
||||||
|
|
||||||
nomeText = new JTextField();
|
|
||||||
nomeText.setEnabled( false );
|
|
||||||
iniciaisText = new JTextField();
|
|
||||||
iniciaisText.setEnabled( false );
|
|
||||||
checkSuperior = new JCheckBox( "T" + eacute + "cnico Superior" );
|
|
||||||
checkSuperior.setEnabled( false );
|
|
||||||
JPanel corPanel = new JPanel();
|
|
||||||
corPanel.setLayout( new BoxLayout( corPanel, BoxLayout.Y_AXIS ) );
|
|
||||||
corGroup = new BetterButtonGroup( false );
|
|
||||||
cores = new JRadioButton[ HigieneDataProvider.CORES_TECNICOS.length ];
|
|
||||||
for( int n = 0; n < HigieneDataProvider.CORES_TECNICOS.length; n++ )
|
|
||||||
{
|
|
||||||
cores[ n ] = new JRadioButton( " " );
|
|
||||||
cores[ n ].setBackground( HigieneDataProvider.CORES_TECNICOS[ n ] );
|
|
||||||
corPanel.add( cores[ n ] );
|
|
||||||
corGroup.add( cores[ n ] );
|
|
||||||
}
|
|
||||||
JScrollPane corScroll =
|
|
||||||
new JScrollPane( corPanel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
|
|
||||||
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
|
|
||||||
|
|
||||||
GridBagLayout gridbag = new GridBagLayout();
|
|
||||||
getContentPane().setLayout( gridbag );
|
|
||||||
GridBagConstraints constraints = new GridBagConstraints();
|
|
||||||
constraints.insets = new Insets( 1, 1, 1, 1 );
|
|
||||||
constraints.fill = GridBagConstraints.BOTH;
|
|
||||||
constraints.weighty = 1;
|
|
||||||
constraints.weightx = 1;
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
constraints.gridheight = 1;
|
|
||||||
|
|
||||||
JPanel upperPanel = new JPanel();
|
|
||||||
upperPanel.setLayout( new GridLayout( 1, 2 ) );
|
|
||||||
upperPanel.add( scp );
|
|
||||||
JPanel textPanel = new JPanel();
|
|
||||||
upperPanel.add( textPanel );
|
|
||||||
gridbag.setConstraints( upperPanel, constraints );
|
|
||||||
getContentPane().add( upperPanel );
|
|
||||||
|
|
||||||
constraints.fill = GridBagConstraints.HORIZONTAL;
|
|
||||||
constraints.weighty = 0;
|
|
||||||
constraints.weightx = 0.3;
|
|
||||||
constraints.gridwidth = 1;
|
|
||||||
constraints.gridheight = GridBagConstraints.REMAINDER;;
|
|
||||||
|
|
||||||
gridbag.setConstraints( novoButton, constraints );
|
|
||||||
getContentPane().add( novoButton );
|
|
||||||
|
|
||||||
gridbag.setConstraints( okButton, constraints );
|
|
||||||
getContentPane().add( okButton );
|
|
||||||
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
gridbag.setConstraints( cancelarButton, constraints );
|
|
||||||
getContentPane().add( cancelarButton );
|
|
||||||
|
|
||||||
gridbag = new GridBagLayout();
|
|
||||||
textPanel.setLayout( gridbag );
|
|
||||||
constraints.weighty = 0;
|
|
||||||
constraints.weightx = 1;
|
|
||||||
constraints.gridwidth = GridBagConstraints.REMAINDER;
|
|
||||||
constraints.gridheight = 1;
|
|
||||||
|
|
||||||
JLabel nomeLabel = new JLabel( "Nome" );
|
|
||||||
gridbag.setConstraints( nomeLabel, constraints );
|
|
||||||
textPanel.add( nomeLabel );
|
|
||||||
|
|
||||||
gridbag.setConstraints( nomeText, constraints );
|
|
||||||
textPanel.add( nomeText );
|
|
||||||
|
|
||||||
JLabel iniciaisLabel = new JLabel( "Iniciais" );
|
|
||||||
gridbag.setConstraints( iniciaisLabel, constraints );
|
|
||||||
textPanel.add( iniciaisLabel );
|
|
||||||
|
|
||||||
gridbag.setConstraints( iniciaisText, constraints );
|
|
||||||
textPanel.add( iniciaisText );
|
|
||||||
|
|
||||||
gridbag.setConstraints( checkSuperior, constraints );
|
|
||||||
textPanel.add( checkSuperior );
|
|
||||||
|
|
||||||
JLabel corLabel = new JLabel( "Cor" );
|
|
||||||
gridbag.setConstraints( corLabel, constraints );
|
|
||||||
textPanel.add( corLabel );
|
|
||||||
|
|
||||||
constraints.weighty = 1;
|
|
||||||
constraints.gridheight = GridBagConstraints.REMAINDER;
|
|
||||||
constraints.fill = GridBagConstraints.BOTH;
|
|
||||||
|
|
||||||
gridbag.setConstraints( corScroll, constraints );
|
|
||||||
textPanel.add( corScroll );
|
|
||||||
|
|
||||||
new CopyPasteHandler( nomeText );
|
|
||||||
new CopyPasteHandler( iniciaisText );
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void actionPerformed( ActionEvent e )
|
|
||||||
{
|
|
||||||
if( e.getSource().equals( okButton ) )
|
|
||||||
{
|
|
||||||
if( save() )
|
|
||||||
{
|
|
||||||
close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if( e.getSource().equals( cancelarButton ) )
|
|
||||||
{
|
|
||||||
id = null;
|
|
||||||
close();
|
|
||||||
}
|
|
||||||
if( e.getSource().equals( novoButton ) )
|
|
||||||
{
|
|
||||||
table.getSelectionModel().removeListSelectionListener( this );
|
|
||||||
nomeText.setText( "" );
|
|
||||||
iniciaisText.setText( "" );
|
|
||||||
corGroup.setIntSelected( 0 );
|
|
||||||
nomeText.setEnabled( true );
|
|
||||||
iniciaisText.setEnabled( true );
|
|
||||||
corGroup.setEnabled( true );
|
|
||||||
checkSuperior.setSelected( false );
|
|
||||||
checkSuperior.setEnabled( true );
|
|
||||||
id = null;
|
|
||||||
isNew = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void valueChanged( ListSelectionEvent listSelectionEvent )
|
|
||||||
{
|
|
||||||
int selected = table.getSelectedRow();
|
|
||||||
if( selected == -1 )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ColumnizedObjectArray row = model.getRowAt( selected );
|
|
||||||
id = row.getID();
|
|
||||||
String nome = (String) row.getValue( 0 );
|
|
||||||
String iniciais = (String) row.getValue( 1 );
|
|
||||||
Integer cor = ( Integer ) row.getValue( 2 );
|
|
||||||
String superior = ( String) row.getValue( 3 );
|
|
||||||
nomeText.setText( nome );
|
|
||||||
iniciaisText.setText( iniciais );
|
|
||||||
corGroup.setIntSelected( cor.intValue() );
|
|
||||||
nomeText.setEnabled( true );
|
|
||||||
iniciaisText.setEnabled( true );
|
|
||||||
corGroup.setEnabled( true );
|
|
||||||
checkSuperior.setEnabled( true );
|
|
||||||
checkSuperior.setSelected( superior != null && "y".equals(superior) );
|
|
||||||
}
|
|
||||||
|
|
||||||
private void close()
|
|
||||||
{
|
|
||||||
setVisible( false );
|
|
||||||
dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean getIsNew()
|
|
||||||
{
|
|
||||||
return isNew;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getID()
|
|
||||||
{
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean save()
|
|
||||||
{
|
|
||||||
String nome = nomeText.getText().trim();
|
|
||||||
String nomePlain = com.evolute.utils.strings.StringPlainer.convertString( nome );
|
|
||||||
String iniciais = iniciaisText.getText().trim();
|
|
||||||
Integer cor = new Integer( corGroup.getIntSelected() );
|
|
||||||
if( nome.length() == 0 || iniciais.length() == 0 )
|
|
||||||
{
|
|
||||||
JOptionPane.showMessageDialog( this, "O Nome e as iniciais n\u00e3o podem ser vazios.", "Erro...",
|
|
||||||
JOptionPane.ERROR_MESSAGE );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{
|
|
||||||
MarcacoesTecnicosHstData tecnico;
|
|
||||||
if( id != null )
|
|
||||||
{
|
|
||||||
tecnico = ( MarcacoesTecnicosHstData ) JDO.load( MarcacoesTecnicosHstData.class, id );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
tecnico = new MarcacoesTecnicosHstData();
|
|
||||||
}
|
|
||||||
tecnico.set( MarcacoesTecnicosHstData.IS_SUPERIOR, checkSuperior.isSelected() ? "y" : "n" );
|
|
||||||
tecnico.set( MarcacoesTecnicosHstData.NOME, nome );
|
|
||||||
tecnico.set( MarcacoesTecnicosHstData.NOME_PLAIN, nomePlain );
|
|
||||||
tecnico.set( MarcacoesTecnicosHstData.INICIAIS, iniciais );
|
|
||||||
tecnico.set( MarcacoesTecnicosHstData.IDENTIFICADOR, cor );
|
|
||||||
tecnico.save();
|
|
||||||
if( id == null )
|
|
||||||
{
|
|
||||||
id = (Integer)tecnico.get( MarcacoesTecnicosHstData.ID );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch( Exception ex )
|
|
||||||
{
|
|
||||||
DialogException.showExceptionMessage( ex, "Erro a gravar...", false );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,61 +0,0 @@
|
|||||||
/*
|
|
||||||
* DiaRenderer.java
|
|
||||||
*
|
|
||||||
* Created on 8 de Fevereiro de 2006, 21:45
|
|
||||||
*
|
|
||||||
* To change this template, choose Tools | Template Manager
|
|
||||||
* and open the template in the editor.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package siprp.higiene.marcacoes;
|
|
||||||
|
|
||||||
import java.awt.Color;
|
|
||||||
import java.awt.Component;
|
|
||||||
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JTable;
|
|
||||||
import javax.swing.table.TableCellRenderer;
|
|
||||||
|
|
||||||
import siprp.higiene.HigieneDataProvider;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Frederico
|
|
||||||
*/
|
|
||||||
public class TecnicoRenderer
|
|
||||||
implements TableCellRenderer
|
|
||||||
{
|
|
||||||
protected JLabel labels[];
|
|
||||||
protected Color defaultColor;
|
|
||||||
|
|
||||||
/** Creates a new instance of DiaRenderer */
|
|
||||||
public TecnicoRenderer()
|
|
||||||
{
|
|
||||||
labels = new JLabel[ 4 ];
|
|
||||||
for( int n = 0; n < 4; n++ )
|
|
||||||
{
|
|
||||||
labels[ n ] = new JLabel();
|
|
||||||
}
|
|
||||||
defaultColor = labels[ 0 ].getBackground();
|
|
||||||
labels[ 2 ].setOpaque( true );
|
|
||||||
}
|
|
||||||
|
|
||||||
public Component getTableCellRendererComponent( JTable table, Object value,
|
|
||||||
boolean isSelected,
|
|
||||||
boolean hasFocus,
|
|
||||||
int row, int column )
|
|
||||||
{
|
|
||||||
switch( column )
|
|
||||||
{
|
|
||||||
case 2:
|
|
||||||
labels[ 2 ].setText( " " );
|
|
||||||
labels[ 2 ].setBackground( value == null ? defaultColor :
|
|
||||||
HigieneDataProvider.CORES_TECNICOS[ ( ( Integer ) value ).intValue() ] );
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
labels[ column ].setText( ( String ) value );
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return labels[ column ];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in new issue