git-svn-id: https://svn.coded.pt/svn/SIPRP@668 bb69d46d-e84e-40c8-a05a-06db0d633741

lxbfYeaa
Tiago Simão 18 years ago
parent 1519b964d9
commit bdaeb6322e

@ -286,6 +286,7 @@
<db-attribute name="morada" type="VARCHAR" length="2048"/>
<db-attribute name="nome" type="VARCHAR" length="255"/>
<db-attribute name="nome_plain" type="VARCHAR" length="255"/>
<db-attribute name="observacoes" type="VARCHAR" length="65535"/>
<db-key-generator>
<db-generator-type>ORACLE</db-generator-type>
<db-generator-name>prestadores_id_seq</db-generator-name>
@ -335,6 +336,7 @@
</db-entity>
<db-entity name="trabalhadores" schema="public">
<db-attribute name="actualizacao" type="TIMESTAMP" length="29"/>
<db-attribute name="bi" type="VARCHAR" length="255"/>
<db-attribute name="categoria" type="VARCHAR" length="255"/>
<db-attribute name="data_admissao" type="DATE" length="13"/>
<db-attribute name="data_admissao_funcao" type="DATE" length="13"/>
@ -477,6 +479,7 @@
</db-key-generator>
</db-entity>
<db-entity name="trabalhadores_processo" schema="public">
<db-attribute name="activo" type="CHAR" length="1"/>
<db-attribute name="data_fim" type="DATE" length="13"/>
<db-attribute name="data_inicio" type="DATE" length="13"/>
<db-attribute name="estado" type="CHAR" isMandatory="true" length="1"/>
@ -705,6 +708,7 @@
<obj-attribute name="morada" type="java.lang.String" db-attribute-path="morada"/>
<obj-attribute name="nome" type="java.lang.String" db-attribute-path="nome"/>
<obj-attribute name="nomePlain" type="java.lang.String" db-attribute-path="nome_plain"/>
<obj-attribute name="observacoes" type="java.lang.String" db-attribute-path="observacoes"/>
</obj-entity>
<obj-entity name="PrestadoresGruposProtocolo" className="siprp.database.cayenne.objects.PrestadoresGruposProtocolo" lock-type="optimistic" dbEntityName="prestadores_grupos_protocolo" superClassName="siprp.database.cayenne.objects.BaseObject">
</obj-entity>
@ -732,6 +736,7 @@
</obj-entity>
<obj-entity name="Trabalhadores" className="siprp.database.cayenne.objects.Trabalhadores" lock-type="optimistic" dbEntityName="trabalhadores" superClassName="siprp.database.cayenne.objects.BaseObject">
<obj-attribute name="actualizacao" type="java.util.Date" db-attribute-path="actualizacao"/>
<obj-attribute name="bi" type="java.lang.String" db-attribute-path="bi"/>
<obj-attribute name="categoria" type="java.lang.String" db-attribute-path="categoria"/>
<obj-attribute name="dataAdmissao" type="java.util.Date" db-attribute-path="data_admissao"/>
<obj-attribute name="dataAdmissaoFuncao" type="java.util.Date" db-attribute-path="data_admissao_funcao"/>
@ -802,6 +807,7 @@
<obj-attribute name="id" type="java.lang.Integer" db-attribute-path="id"/>
</obj-entity>
<obj-entity name="TrabalhadoresProcesso" className="siprp.database.cayenne.objects.TrabalhadoresProcesso" lock-type="optimistic" dbEntityName="trabalhadores_processo" superClassName="siprp.database.cayenne.objects.BaseObject">
<obj-attribute name="activo" type="java.lang.String" db-attribute-path="activo"/>
<obj-attribute name="dataFim" type="java.util.Date" db-attribute-path="data_fim"/>
<obj-attribute name="dataInicio" type="java.util.Date" db-attribute-path="data_inicio"/>
<obj-attribute name="estado" type="java.lang.String" db-attribute-path="estado"/>

@ -31,7 +31,6 @@ import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import siprp.medicina.processo.ui.OrderedMap;
public class LeafInputField<ObjClass extends Object> extends JPanel implements FocusListener, MouseListener, PropertyChangeListener
{
@ -411,7 +410,7 @@ public class LeafInputField<ObjClass extends Object> extends JPanel implements F
{
if( object instanceof Date )
{
thiz = new JLabel( ((Date) object).getTime() <= 0 ? " " : sdf.format( object ) );
thiz = new JLabel( sdf.format( object ) );
}
else if( object instanceof Map )
{

@ -23,7 +23,6 @@ import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.ScrollPaneConstants;
import siprp.medicina.processo.ui.OrderedMap;
public class LeafOptionDialog<KeyClass extends Object> extends JDialog
{

@ -4,7 +4,6 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import siprp.medicina.processo.ui.OrderedMap;
import com.evolute.utils.tables.BaseTableModel;

@ -1,4 +1,4 @@
package siprp.medicina.processo.ui;
package leaf;
import java.util.ArrayList;
import java.util.Collection;

@ -6,6 +6,9 @@
package siprp.clientes;
import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints;
import javax.swing.*;
import java.awt.*;
@ -48,6 +51,7 @@ public class TrabalhadorPanel extends JPanel
private JTextField nomeText;
private RadioButtonFixedPanel sexoPanel;
private JTextField biText;
private JCalendarPanel dataNascimentoPanel;
private JTextField nacionalidadeText;
private JTextField numeroMecanograficoText;
@ -99,6 +103,8 @@ public class TrabalhadorPanel extends JPanel
new IDObject[]{ new MappableObject( new Integer( 1 ), "M" ),
new MappableObject( new Integer( 2 ), "F" ) },
1, 2, RadioButtonPanel.ORIENTATION_HORIZONTAL, false );
JLabel biLabel = new JLabel("B.I.");
biText = new JTextField();
JLabel dataNascimentoLabel = new JLabel( "Data de Nascimento" );
dataNascimentoPanel = new JCalendarPanel( null );
JLabel nacionalidadeLabel = new JLabel( "Nacionalidade" );
@ -141,154 +147,56 @@ public class TrabalhadorPanel extends JPanel
JPanel pad;
GridBagLayout gridbag = new GridBagLayout();
dadosTrabalhadorPanel.setLayout( gridbag );
GridBagConstraints constraints = new GridBagConstraints();
constraints.insets = new Insets( 1, 1, 1, 1 );
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weighty = 0;
constraints.gridheight = 1;
constraints.gridwidth = 1;
constraints.weightx = 0;
gridbag.setConstraints( nomeLabel, constraints );
dadosTrabalhadorPanel.add( nomeLabel );
constraints.weightx = 1;
constraints.gridwidth = 3;
gridbag.setConstraints( nomeText, constraints );
dadosTrabalhadorPanel.add( nomeText );
constraints.gridwidth = 1;
constraints.weightx = 0;
gridbag.setConstraints( sexoLabel, constraints );
dadosTrabalhadorPanel.add( sexoLabel );
constraints.weightx = 0;
//constraints.gridwidth = 1;
constraints.gridwidth = GridBagConstraints.REMAINDER;
double [] cols = new double[]{TableLayout.MINIMUM,TableLayout.FILL,TableLayout.MINIMUM,TableLayout.FILL};
double [] rows = new double[]{TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.FILL,
TableLayout.MINIMUM,};
TableLayout layout = new TableLayout(cols,rows);
layout.setHGap( 5 );
layout.setVGap( 5 );
dadosTrabalhadorPanel.setLayout( layout );
dadosTrabalhadorPanel.add( nomeLabel, new TableLayoutConstraints( 0,0 ) );
dadosTrabalhadorPanel.add( nomeText, new TableLayoutConstraints( 1,0,3,0 ) );
dadosTrabalhadorPanel.add( sexoLabel, new TableLayoutConstraints( 0,1 ) );
JPanel sexoOuterPanel = new JPanel();
sexoOuterPanel.setLayout( new GridLayout( 1, 2 ) );
sexoOuterPanel.add( sexoPanel );
sexoOuterPanel.add( new JPanel() );
gridbag.setConstraints( sexoOuterPanel, constraints );
dadosTrabalhadorPanel.add( sexoOuterPanel );
constraints.weightx = 0;
constraints.gridwidth = 2;
gridbag.setConstraints( nacionalidadeLabel, constraints );
dadosTrabalhadorPanel.add( nacionalidadeLabel );
constraints.weightx = 0.5;
constraints.gridwidth = 1;
gridbag.setConstraints( nacionalidadeText, constraints );
dadosTrabalhadorPanel.add( nacionalidadeText );
constraints.weightx = 0;
constraints.gridwidth = 1;
gridbag.setConstraints( dataNascimentoLabel, constraints );
dadosTrabalhadorPanel.add( dataNascimentoLabel );
constraints.weightx = 0.5;
constraints.gridwidth = GridBagConstraints.REMAINDER;
gridbag.setConstraints( dataNascimentoPanel, constraints );
dadosTrabalhadorPanel.add( dataNascimentoPanel );
constraints.weightx = 0;
constraints.gridwidth = 2;
gridbag.setConstraints( numeroMecanograficoLabel, constraints );
dadosTrabalhadorPanel.add( numeroMecanograficoLabel );
constraints.weightx = 0.5;
constraints.gridwidth = 1;
gridbag.setConstraints( numeroMecanograficoText, constraints );
dadosTrabalhadorPanel.add( numeroMecanograficoText );
constraints.weightx = 0;
constraints.gridwidth = 1;
gridbag.setConstraints( dataAdmissaoLabel, constraints );
dadosTrabalhadorPanel.add( dataAdmissaoLabel );
constraints.weightx = 0.5;
constraints.gridwidth = GridBagConstraints.REMAINDER;
gridbag.setConstraints( dataAdmissaoPanel, constraints );
dadosTrabalhadorPanel.add( dataAdmissaoPanel );
constraints.weightx = 0;
constraints.gridwidth = 2;
gridbag.setConstraints( categoriaLabel, constraints );
dadosTrabalhadorPanel.add( categoriaLabel );
constraints.weightx = 0.5;
constraints.gridwidth = 1;
gridbag.setConstraints( categoriaText, constraints );
dadosTrabalhadorPanel.add( categoriaText );
constraints.weightx = 0;
gridbag.setConstraints( localLabel, constraints );
dadosTrabalhadorPanel.add( localLabel );
constraints.weightx = 0.5;
constraints.gridwidth = GridBagConstraints.REMAINDER;
gridbag.setConstraints( localText, constraints );
dadosTrabalhadorPanel.add( localText );
constraints.weightx = 0;
constraints.gridwidth = 2;
gridbag.setConstraints( funcaoLabel, constraints );
dadosTrabalhadorPanel.add( funcaoLabel );
constraints.weightx = 0.5;
constraints.gridwidth = 1;
gridbag.setConstraints( funcaoText, constraints );
dadosTrabalhadorPanel.add( funcaoText );
constraints.weightx = 0;
constraints.gridwidth = 1;
gridbag.setConstraints( dataAdmissaoFuncaoLabel, constraints );
dadosTrabalhadorPanel.add( dataAdmissaoFuncaoLabel );
constraints.weightx = 0.5;
constraints.gridwidth = GridBagConstraints.REMAINDER;
gridbag.setConstraints( dataAdmissaoFuncaoPanel, constraints );
dadosTrabalhadorPanel.add( dataAdmissaoFuncaoPanel );
constraints.weightx = 0;
constraints.gridwidth = 2;
gridbag.setConstraints( perfilLabel, constraints );
dadosTrabalhadorPanel.add( perfilLabel );
constraints.weightx = 0.5;
constraints.gridwidth = 1;
// gridbag.setConstraints( perfilCombo, constraints );
// dadosTrabalhadorPanel.add( perfilCombo );
gridbag.setConstraints( perfilPanel, constraints );
dadosTrabalhadorPanel.add( perfilPanel );
constraints.weightx = 0;
constraints.gridwidth = 1;
gridbag.setConstraints( dataDemissaoLabel, constraints );
dadosTrabalhadorPanel.add( dataDemissaoLabel );
constraints.weightx = 0.5;
constraints.gridwidth = GridBagConstraints.REMAINDER;
gridbag.setConstraints( dataDemissaoPanel, constraints );
dadosTrabalhadorPanel.add( dataDemissaoPanel );
constraints.weightx = 0;
constraints.gridwidth = 1;
gridbag.setConstraints( observacoesLabel, constraints );
dadosTrabalhadorPanel.add( observacoesLabel );
constraints.weightx = 1;
constraints.gridwidth = GridBagConstraints.REMAINDER;
gridbag.setConstraints( observacoesText, constraints );
dadosTrabalhadorPanel.add( observacoesText );
constraints.weightx = 1;
constraints.gridwidth = GridBagConstraints.REMAINDER;
gridbag.setConstraints( marcacoesButton, constraints );
dadosTrabalhadorPanel.add( marcacoesButton );
dadosTrabalhadorPanel.add( sexoOuterPanel, new TableLayoutConstraints( 1,1 ) );
dadosTrabalhadorPanel.add( biLabel, new TableLayoutConstraints( 2,1 ) );
dadosTrabalhadorPanel.add( biText, new TableLayoutConstraints( 3,1 ) );
dadosTrabalhadorPanel.add( nacionalidadeLabel, new TableLayoutConstraints( 0,2 ) );
dadosTrabalhadorPanel.add( nacionalidadeText, new TableLayoutConstraints( 1,2 ) );
dadosTrabalhadorPanel.add( dataNascimentoLabel, new TableLayoutConstraints( 2,2 ) );
dadosTrabalhadorPanel.add( dataNascimentoPanel, new TableLayoutConstraints( 3,2 ) );
dadosTrabalhadorPanel.add( numeroMecanograficoLabel, new TableLayoutConstraints( 0,3 ) );
dadosTrabalhadorPanel.add( numeroMecanograficoText, new TableLayoutConstraints( 1,3 ) );
dadosTrabalhadorPanel.add( dataAdmissaoLabel, new TableLayoutConstraints( 2,3 ) );
dadosTrabalhadorPanel.add( dataAdmissaoPanel, new TableLayoutConstraints( 3,3 ));
dadosTrabalhadorPanel.add( categoriaLabel, new TableLayoutConstraints( 0,4 ) );
dadosTrabalhadorPanel.add( categoriaText, new TableLayoutConstraints( 1,4 ) );
dadosTrabalhadorPanel.add( localLabel, new TableLayoutConstraints( 2,4 ) );
dadosTrabalhadorPanel.add( localText, new TableLayoutConstraints( 3,4 ));
dadosTrabalhadorPanel.add( funcaoLabel, new TableLayoutConstraints( 0,5 ) );
dadosTrabalhadorPanel.add( funcaoText, new TableLayoutConstraints( 1,5 ) );
dadosTrabalhadorPanel.add( dataAdmissaoFuncaoLabel, new TableLayoutConstraints( 2,5 ) );
dadosTrabalhadorPanel.add( dataAdmissaoFuncaoPanel, new TableLayoutConstraints( 3,5 ) );
dadosTrabalhadorPanel.add( perfilLabel, new TableLayoutConstraints( 0,6 ) );
dadosTrabalhadorPanel.add( perfilPanel, new TableLayoutConstraints( 1,6 ) );
dadosTrabalhadorPanel.add( dataDemissaoLabel, new TableLayoutConstraints( 2,6 ) );
dadosTrabalhadorPanel.add( dataDemissaoPanel, new TableLayoutConstraints( 3,6 ) );
dadosTrabalhadorPanel.add( observacoesLabel, new TableLayoutConstraints( 0,7 ) );
dadosTrabalhadorPanel.add( observacoesText, new TableLayoutConstraints( 0,8, 3, 8 ) );
dadosTrabalhadorPanel.add( marcacoesButton, new TableLayoutConstraints( 0,9,3,9 ) );
// examesPanel = new MarcacaoPanel( false, "Realizados", "", Marcacao.TIPO_MARCACAO_TRABALHADOR_EXAMES );
// examesPanel.setCalendarDialogOrientation( JCalendarDialog.ABOVE, JCalendarDialog.RIGHT );
@ -364,6 +272,7 @@ public class TrabalhadorPanel extends JPanel
sexoPanel.setEnabled( enable );
}
} );
components.putComponent( TrabalhadorData.BI , biText );
components.putComponent( TrabalhadorData.DATA_NASCIMENTO, dataNascimentoPanel );
components.putComponent( TrabalhadorData.NACIONALIDADE, nacionalidadeText );
components.putComponent( TrabalhadorData.NUMERO_MECANOGRAFICO, numeroMecanograficoText );

@ -21,7 +21,7 @@ public class BaseObject extends CayenneDataObject
protected static final DateFormat sdf = DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "pt", "PT" ) );
protected static final String isNewMessage = "Em Edi"+ccedil+atilde+"o";
protected static final String isNewMessage = " ";
public boolean isNew()
{

@ -62,6 +62,7 @@ public class Empresas extends _Empresas {
if( current == null || "y".equals(current.getInactivo()))
{
result.remove( i );
--i;
}
}
Collections.sort(result);

@ -65,6 +65,7 @@ public class Estabelecimentos extends _Estabelecimentos implements Comparable<Es
if( current == null || "y".equals(current.getInactivo()))
{
result.remove( i );
--i;
}
}
Collections.sort( result );

@ -1,6 +1,8 @@
package siprp.database.cayenne.objects;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import siprp.database.cayenne.objects.auto._Trabalhadores;
@ -19,6 +21,21 @@ public class Trabalhadores extends _Trabalhadores implements Comparable<Trabalha
return getDataNascimento() == null ? "" : sdf.format( getDataNascimento() );
}
@Override
public List<TrabalhadoresProcesso> getTrabalhadoresProcessoArray()
{
List<TrabalhadoresProcesso> allProcessos = super.getTrabalhadoresProcessoArray();
List<TrabalhadoresProcesso> result = new ArrayList<TrabalhadoresProcesso>();
for( TrabalhadoresProcesso current : allProcessos )
{
if("y".equals( current.getActivo() ))
{
result.add( current );
}
}
return result;
}
@Override
public String getNome()
{

@ -1,20 +1,54 @@
package siprp.database.cayenne.objects;
import com.evolute.utils.strings.UnicodeChecker;
import siprp.database.cayenne.objects.auto._TrabalhadoresConsultasDatasObservacoes;
public class TrabalhadoresConsultasDatasObservacoes extends _TrabalhadoresConsultasDatasObservacoes {
private static final long serialVersionUID = 1L;
private String name = null;
private String convertedName = null;
@Override
public String toString()
{
String result = getObservacao() == null ? "" : getObservacao();
if( result.indexOf( '\n' ) > 0 )
return getObservacao();
}
@Override
public String getObservacao()
{
String currentName = super.getObservacao();
if( name == null || !name.equals( currentName ))
{
result = result.substring( 0, result.indexOf( '\n', 1) );
name = currentName;
convertedName = null;
}
return result;
return convertName();
}
@Override
public void setObservacao( String nome )
{
super.setObservacao( UnicodeChecker.parseToUnicode( name ) );
getObservacao();
}
private String convertName()
{
if( name == null )
{
convertedName = null;
}
else
{
convertedName = UnicodeChecker.parseFromUnicode( name );
}
return convertedName;
}
}

@ -4,9 +4,10 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import leaf.OrderedMap;
import siprp.database.cayenne.objects.auto._TrabalhadoresEcds;
import siprp.medicina.MedicinaConstants;
import siprp.medicina.processo.ui.OrderedMap;
public class TrabalhadoresEcds extends _TrabalhadoresEcds implements MedicinaConstants
{

@ -5,9 +5,10 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import leaf.OrderedMap;
import siprp.database.cayenne.objects.auto._TrabalhadoresEcdsDatas;
import siprp.medicina.MedicinaConstants;
import siprp.medicina.processo.ui.OrderedMap;
public class TrabalhadoresEcdsDatas extends _TrabalhadoresEcdsDatas implements MedicinaConstants
{

@ -1,16 +1,54 @@
package siprp.database.cayenne.objects;
import com.evolute.utils.strings.UnicodeChecker;
import siprp.database.cayenne.objects.auto._TrabalhadoresEcdsDatasObservacoes;
public class TrabalhadoresEcdsDatasObservacoes extends _TrabalhadoresEcdsDatasObservacoes {
private static final long serialVersionUID = 1L;
private String name = null;
private String convertedName = null;
@Override
public String toString()
{
return getObservacao();
}
@Override
public String getObservacao()
{
String currentName = super.getObservacao();
if( name == null || !name.equals( currentName ))
{
name = currentName;
convertedName = null;
}
return convertName();
}
@Override
public void setObservacao( String nome )
{
super.setObservacao( UnicodeChecker.parseToUnicode( name ) );
getObservacao();
}
private String convertName()
{
if( name == null )
{
convertedName = null;
}
else
{
convertedName = UnicodeChecker.parseFromUnicode( name );
}
return convertedName;
}
}

@ -60,6 +60,14 @@ public class TrabalhadoresProcesso extends _TrabalhadoresProcesso implements Pro
result.put( MedicinaConstants.MOTIVO_PERIODICO_INTEGER, MedicinaConstants.MOTIVO_PERIODICO_STR);
return result;
}
public boolean isEmpty()
{
boolean noConsultas = (getTrabalhadoresConsultasArray() == null || getTrabalhadoresConsultasArray().size() == 0);
boolean noExames= ( getTrabalhadoresEcdsArray() == null || getTrabalhadoresEcdsArray().size() == 0);
boolean noFicha = ( getTrabalhadoresFichasAptidaoArray() == null || getTrabalhadoresFichasAptidaoArray().size() == 0);
return noConsultas && noExames && noFicha;
}
}

@ -10,6 +10,7 @@
package siprp.medicina.prestadores;
import com.evolute.utils.Singleton;
import static com.evolute.utils.strings.UnicodeLatin1Map.*;
import com.evolute.utils.data.IDObject;
import com.evolute.utils.dataui.ComponentController;
import com.evolute.utils.dataui.ComponentsHashtable;
@ -73,6 +74,9 @@ public class PrestadoresWindow extends EditorWindow
protected JTextField localidadeText;
protected ContactoPanel contactoPanel;
protected JTextField contribuinteText;
private final JLabel labelObservacoes = new JLabel("Observa"+ccedil+otilde+"es");
private final JTextArea textObservacoes = new JTextArea();
protected PrestadoresDataProvider provider;
protected ClientesDataProvider clientesProvider;
@ -86,8 +90,8 @@ public class PrestadoresWindow extends EditorWindow
private final JPanel prestadoresPanel = new JPanel();
private final JPanel analisadoresPanel = new JPanel();
private final JLabel labelGrupos = new JLabel( "Grupos:" );
private final JLabel labelAnalisador = new JLabel( "Analisador:" );
private final JLabel labelGrupos = new JLabel( "Tipos de ECDs" );
private final JLabel labelAnalisador = new JLabel( "Analisadores" );
private final JLabel labelMessage = new JLabel( " " );
private final Map<PrtGruposProtocolo, JLabel> mapLabel = new HashMap<PrtGruposProtocolo, JLabel>();
@ -112,88 +116,111 @@ public class PrestadoresWindow extends EditorWindow
setupComponentsHashtable();
}
private void setupComponents() throws Exception
private void setupComponents()
{
setTitle( TITLE );
setSize( 800, 600);
tabbedPane.addTab( "Prestadores", prestadoresPanel );
tabbedPane.addTab( "Analisadores", analisadoresPanel );
setupAnalisadoresTab();
setupPrestadoresTab();
// pack();
}
JLabel nomeLabel = new JLabel( "Designa\u00e7\u00e3o" );
nomeText = new JTextField();
nomeText.setPreferredSize( new Dimension( 500, 20 ) );
activoCheck = new JCheckBox( "Activo (actualmente fornece servi\u00e7os \u00e0 SIPRP)" );
consultasCheck = new JCheckBox( "Faz consultas" );
ecdsCheck = new JCheckBox( "Faz ecds" );
List<IDObject> gruposProtocolo = new Vector<IDObject>();
IDObject gruposProtocoloReais[] = clientesProvider.getAllGruposProtocoloReais();
if( gruposProtocoloReais != null && gruposProtocoloReais.length > 0 )
private void setupPrestadoresTab()
{
try
{
gruposProtocolo.addAll( Arrays.asList( gruposProtocoloReais ) );
}
IDObject gruposProtocoloFalsos[] = clientesProvider.getAllGruposProtocoloFalsos();
if( gruposProtocoloFalsos != null && gruposProtocoloFalsos.length > 0 )
JLabel nomeLabel = new JLabel( "Designa\u00e7\u00e3o" );
nomeText = new JTextField();
nomeText.setPreferredSize( new Dimension( 500, 20 ) );
activoCheck = new JCheckBox( "Activo (actualmente fornece servi\u00e7os \u00e0 SIPRP)" );
consultasCheck = new JCheckBox( "Faz consultas" );
ecdsCheck = new JCheckBox( "Faz ecds" );
List<IDObject> gruposProtocolo = new Vector<IDObject>();
IDObject gruposProtocoloReais[] = clientesProvider.getAllGruposProtocoloReais();
if( gruposProtocoloReais != null && gruposProtocoloReais.length > 0 )
{
gruposProtocolo.addAll( Arrays.asList( gruposProtocoloReais ) );
}
IDObject gruposProtocoloFalsos[] = clientesProvider.getAllGruposProtocoloFalsos();
if( gruposProtocoloFalsos != null && gruposProtocoloFalsos.length > 0 )
{
gruposProtocolo.addAll( Arrays.asList( gruposProtocoloFalsos ) );
}
ecdsPanel = new CheckBoxPanel( gruposProtocolo.toArray( new IDObject[gruposProtocolo.size()] ) );
JLabel contactoLabel = new JLabel( "Contacto" );
contactoPanel = new ContactoPanel();
contactoPanel.setPreferredSize( new Dimension( 350, 120 ) );
contactoPanel.setBorder( BorderFactory.createEtchedBorder() );
JLabel moradaLabel = new JLabel( "Morada" );
moradaText = new JTextArea();
moradaText.setLineWrap( true );
moradaText.setWrapStyleWord( true );
JScrollPane moradaScroll = new JScrollPane( moradaText, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
moradaScroll.setPreferredSize( new Dimension( 500, 50 ) );
JLabel codigoPostalLabel = new JLabel( "C\u00f3digo Postal" );
codigoPostalText = new JTextField();
codigoPostalText.setPreferredSize( new Dimension( 100, 50 ) );
localidadeCodigoPostalText = new JTextField();
localidadeCodigoPostalText.setPreferredSize( new Dimension( 150, 50 ) );
JLabel localidadeLabel = new JLabel( "Localidade" );
localidadeText = new JTextField();
JLabel contribuinteLabel = new JLabel( "Contribuinte" );
contribuinteText = new JTextField();
contribuinteText.setPreferredSize( new Dimension( 100, 50 ) );
double cols[] = new double[] {
TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL
};
double rows[] = new double[] {
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.FILL,
TableLayout.PREFERRED,
TableLayout.PREFERRED,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.MINIMUM,
TableLayout.FILL
};
TableLayout tableLayout = new TableLayout( cols, rows );
prestadoresPanel.setLayout( tableLayout );
tableLayout = new TableLayout( new double[] {
TableLayout.FILL
}, new double[] {
TableLayout.FILL
} );
getContentPane().setLayout( tableLayout );
getContentPane().add( tabbedPane, new TableLayoutConstraints( 0, 0 ) );
prestadoresPanel.add( nomeLabel, new TableLayoutConstraints( 0, 0 ) );
prestadoresPanel.add( nomeText, new TableLayoutConstraints( 1, 0, 3, 0 ) );
prestadoresPanel.add( activoCheck, new TableLayoutConstraints( 0, 1, 2, 1 ) );
prestadoresPanel.add( consultasCheck, new TableLayoutConstraints( 0, 2 ) );
prestadoresPanel.add( ecdsCheck, new TableLayoutConstraints( 0, 3 ) );
prestadoresPanel.add( ecdsPanel, new TableLayoutConstraints( 1, 3, 2, 3 ) );
prestadoresPanel.add( contactoLabel, new TableLayoutConstraints( 0, 4 ) );
prestadoresPanel.add( contactoPanel, new TableLayoutConstraints( 1, 4, 2, 4 ) );
prestadoresPanel.add( moradaLabel, new TableLayoutConstraints( 0, 5 ) );
prestadoresPanel.add( moradaScroll, new TableLayoutConstraints( 1, 5, 3, 5 ) );
prestadoresPanel.add( codigoPostalLabel, new TableLayoutConstraints( 0, 6 ) );
prestadoresPanel.add( codigoPostalText, new TableLayoutConstraints( 1, 6 ) );
prestadoresPanel.add( localidadeCodigoPostalText, new TableLayoutConstraints( 2, 6, 3, 6 ) );
prestadoresPanel.add( localidadeLabel, new TableLayoutConstraints( 0, 7 ) );
prestadoresPanel.add( localidadeText, new TableLayoutConstraints( 1, 7, 3, 7 ) );
prestadoresPanel.add( contribuinteLabel, new TableLayoutConstraints( 0, 8 ) );
prestadoresPanel.add( contribuinteText, new TableLayoutConstraints( 1, 8 ) );
prestadoresPanel.add( labelObservacoes, new TableLayoutConstraints( 0, 9 ) );
prestadoresPanel.add( textObservacoes, new TableLayoutConstraints( 0, 10,3,10 ) );
} catch( Exception e )
{
gruposProtocolo.addAll( Arrays.asList( gruposProtocoloFalsos ) );
e.printStackTrace();
}
ecdsPanel = new CheckBoxPanel( gruposProtocolo.toArray( new IDObject[gruposProtocolo.size()] ) );
JLabel contactoLabel = new JLabel( "Contacto" );
contactoPanel = new ContactoPanel();
contactoPanel.setPreferredSize( new Dimension( 350, 120 ) );
contactoPanel.setBorder( BorderFactory.createEtchedBorder() );
JLabel moradaLabel = new JLabel( "Morada" );
moradaText = new JTextArea();
moradaText.setLineWrap( true );
moradaText.setWrapStyleWord( true );
JScrollPane moradaScroll = new JScrollPane( moradaText, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
moradaScroll.setPreferredSize( new Dimension( 500, 50 ) );
JLabel codigoPostalLabel = new JLabel( "C\u00f3digo Postal" );
codigoPostalText = new JTextField();
codigoPostalText.setPreferredSize( new Dimension( 100, 50 ) );
localidadeCodigoPostalText = new JTextField();
localidadeCodigoPostalText.setPreferredSize( new Dimension( 150, 50 ) );
JLabel localidadeLabel = new JLabel( "Localidade" );
localidadeText = new JTextField();
JLabel contribuinteLabel = new JLabel( "Contribuinte" );
contribuinteText = new JTextField();
contribuinteText.setPreferredSize( new Dimension( 100, 50 ) );
double cols[] = new double[] {
TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL
};
double rows[] = new double[] {
TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM
};
TableLayout tableLayout = new TableLayout( cols, rows );
prestadoresPanel.setLayout( tableLayout );
tableLayout = new TableLayout( new double[] {
TableLayout.FILL
}, new double[] {
TableLayout.FILL
} );
getContentPane().setLayout( tableLayout );
getContentPane().add( tabbedPane, new TableLayoutConstraints( 0, 0 ) );
prestadoresPanel.add( nomeLabel, new TableLayoutConstraints( 0, 0 ) );
prestadoresPanel.add( nomeText, new TableLayoutConstraints( 1, 0, 3, 0 ) );
prestadoresPanel.add( activoCheck, new TableLayoutConstraints( 0, 1, 2, 1 ) );
prestadoresPanel.add( consultasCheck, new TableLayoutConstraints( 0, 2 ) );
prestadoresPanel.add( ecdsCheck, new TableLayoutConstraints( 0, 3 ) );
prestadoresPanel.add( ecdsPanel, new TableLayoutConstraints( 1, 3, 2, 3 ) );
prestadoresPanel.add( contactoLabel, new TableLayoutConstraints( 0, 4 ) );
prestadoresPanel.add( contactoPanel, new TableLayoutConstraints( 1, 4, 2, 4 ) );
prestadoresPanel.add( moradaLabel, new TableLayoutConstraints( 0, 5 ) );
prestadoresPanel.add( moradaScroll, new TableLayoutConstraints( 1, 5, 3, 5 ) );
prestadoresPanel.add( codigoPostalLabel, new TableLayoutConstraints( 0, 6 ) );
prestadoresPanel.add( codigoPostalText, new TableLayoutConstraints( 1, 6 ) );
prestadoresPanel.add( localidadeCodigoPostalText, new TableLayoutConstraints( 2, 6, 3, 6 ) );
prestadoresPanel.add( localidadeLabel, new TableLayoutConstraints( 0, 7 ) );
prestadoresPanel.add( localidadeText, new TableLayoutConstraints( 1, 7, 3, 7 ) );
prestadoresPanel.add( contribuinteLabel, new TableLayoutConstraints( 0, 8 ) );
prestadoresPanel.add( contribuinteText, new TableLayoutConstraints( 1, 8 ) );
pack();
}
private void setupComponentsHashtable()
@ -206,6 +233,7 @@ public class PrestadoresWindow extends EditorWindow
components.putComponent( PrestadoresData.LOCALIDADE_CP, localidadeCodigoPostalText );
components.putComponent( PrestadoresData.LOCALIDADE, localidadeText );
components.putComponent( PrestadoresData.CONTRIBUINTE, contribuinteText );
components.putComponent( PrestadoresData.OBSERVACOES, textObservacoes );
components.putComponent( PrestadoresData.ACTIVO, activoCheck );
components.putComponent( PrestadoresData.FAZ_CONSULTAS, consultasCheck );
components.putComponent( PrestadoresData.FAZ_ECDS, ecdsCheck );
@ -317,15 +345,15 @@ public class PrestadoresWindow extends EditorWindow
mapLabel.clear();
listGrupos.clear();
listAnalisadores.clear();
shout(null);
shout( null );
}
private void setupAnalisadoresTabLayout()
{
double[] cols = new double[] {
TableLayout.FILL, TableLayout.FILL
TableLayout.MINIMUM, TableLayout.FILL
};
double[] rows = new double[1 + listGrupos.size() + 2 ];
double[] rows = new double[1 + listGrupos.size() + 2];
for( int i = 0; i < rows.length; ++i )
{
rows[i] = TableLayout.MINIMUM;
@ -364,9 +392,9 @@ public class PrestadoresWindow extends EditorWindow
analisadoresPanel.add( combo, new TableLayoutConstraints( 1, i + 1 ) );
}
int line = listGrupos.size() + 1;
analisadoresPanel.add( new JSeparator(), new TableLayoutConstraints( 0, line,1,line ) );
analisadoresPanel.add( new JSeparator(), new TableLayoutConstraints( 0, line, 1, line ) );
++line;
analisadoresPanel.add( labelMessage, new TableLayoutConstraints( 0, line,1,line ) );
analisadoresPanel.add( labelMessage, new TableLayoutConstraints( 0, line, 1, line ) );
}
private void setupAnalisadoresTabListeners()
@ -396,7 +424,7 @@ public class PrestadoresWindow extends EditorWindow
Prestadores analisador = (Prestadores) combo.getSelectedItem();
grupo.setToAnalisador( Prestadores.prestadorNulo.equals( analisador ) ? null : analisador );
medicinaCayenneDAO.saveObject( grupo );
shout( "Grupo: " + grupo.getDescricao() + " -> Analisador: " + analisador.getNome() + " (guardado)" );
shout( "Tipo de ECD: " + grupo.getDescricao() + " -> Analisador: " + analisador.getNome() + " [guardado]" );
}
}
}

@ -2,13 +2,11 @@ package siprp.medicina.processo.logic;
import java.util.Date;
import java.util.List;
import java.util.Vector;
import javax.swing.tree.DefaultMutableTreeNode;
import leaf.LeafLogic;
import leaf.LeafWindow.LeafObject;
import siprp.database.cayenne.objects.BaseObject;
import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.Estabelecimentos;
@ -18,7 +16,6 @@ import siprp.database.cayenne.objects.TrabalhadoresConsultas;
import siprp.database.cayenne.objects.TrabalhadoresConsultasDatas;
import siprp.database.cayenne.objects.TrabalhadoresConsultasDatasEmails;
import siprp.database.cayenne.objects.TrabalhadoresConsultasDatasObservacoes;
import siprp.database.cayenne.objects.TrabalhadoresEcd;
import siprp.database.cayenne.objects.TrabalhadoresEcds;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatas;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasEmails;
@ -27,11 +24,8 @@ import siprp.database.cayenne.objects.TrabalhadoresProcesso;
import siprp.database.cayenne.providers.MedicinaDAO;
import siprp.medicina.MedicinaConstants;
import siprp.medicina.processo.ProcessoConstants;
import siprp.medicina.processo.detalhes.EstadoChooser;
import siprp.medicina.processo.estrutura.FichaAptidaoMutableTreeNode;
import com.evolute.utils.tables.ColumnizedMappable;
public class MedicinaProcessoLogic extends LeafLogic
{
@Action(isSave = false)
@ -138,6 +132,9 @@ public class MedicinaProcessoLogic extends LeafLogic
@Action(isSave = true)
public static final String FECHAR_PROCESSO = "FECHAR_PROCESSO";
@Action(isSave = false)
public static final String APAGAR_PROCESSO = "APAGAR_PROCESSO";
@Action(isSave = false)
public static final String REFRESH = "REFRESH";
@ -184,7 +181,7 @@ public class MedicinaProcessoLogic extends LeafLogic
@LeafObject (useWith=LOAD_TRABALHADOR)
public Trabalhadores currentTrabalhador = null;
@LeafObject(useWith = SAVE_PROCESSO)
@LeafObject(useWith = { SAVE_PROCESSO, APAGAR_PROCESSO })
public TrabalhadoresProcesso currentProcesso = null;
@LeafObject(useWith = SAVE_CONSULTA)
@ -275,6 +272,16 @@ public class MedicinaProcessoLogic extends LeafLogic
runActionLater( SAVE_PROCESSO );
}
}
@LeafLogicActionBinding(actions = APAGAR_PROCESSO)
public void apagarProcesso()
{
if( currentProcesso != null && currentProcesso.isEmpty() )
{
currentProcesso.setActivo( "n" );
runActionLater( SAVE_PROCESSO );
}
}
@LeafLogicActionBinding(actions = DESMARCAR_SIPRP_CONSULTA_MARCACAO)
public void desmarcarConsultaSiprp()

@ -12,6 +12,7 @@ import javax.swing.JSeparator;
import leaf.LeafOptionDialog;
import leaf.LeafWindow;
import leaf.OrderedMap;
import leaf.LeafLogic.LeafUIActionBinding;
import siprp.database.cayenne.objects.PrtGruposProtocolo;
import siprp.database.cayenne.objects.TrabalhadoresEcd;

@ -100,6 +100,9 @@ public class ProcessoAccoesPanel extends JPanel
CREATE_EXAME, CREATE_EXAME_MARCACAO
}, onChange = "")
public final LeafButton buttonNovoProcessoExame = new LeafButton( "Novo Exame" );
@ActionActivation(onSelect = APAGAR_PROCESSO, onChange = "")
public final LeafButton buttonApagarProcesso = new LeafButton( "Remover Processo" );
// consulta
@ActionActivation(onSelect = CREATE_CONSULTA_MARCACAO, onChange = "")
@ -235,6 +238,7 @@ public class ProcessoAccoesPanel extends JPanel
if( processo != null )
{
buttonFecharProcesso.setEnabled( !ProcessoConstants.PROCESSO_FECHADO_CODE.equals( processo.getEstado() ) );
buttonApagarProcesso.setEnabled( processo.isEmpty() );
boolean consultaAberta = false;
for( TrabalhadoresConsultas consulta : (List<TrabalhadoresConsultas>) processo.getTrabalhadoresConsultasArray() )
{
@ -399,7 +403,11 @@ public class ProcessoAccoesPanel extends JPanel
private void setupProcessoPanel()
{
setupSimpleActionsPanel( panelProcesso, buttonFecharProcesso, buttonNovoProcessoConsulta, buttonNovoProcessoExame, new JPanel() );
JPanel panelTopProcesso = new JPanel();
JPanel panelBottomProcesso = new JPanel();
setupSimpleActionsPanel( panelTopProcesso, buttonNovoProcessoConsulta, buttonNovoProcessoExame );
setupSimpleActionsPanel( panelBottomProcesso, buttonFecharProcesso, buttonApagarProcesso );
setupTopBottomSimpleActionsPanel( panelProcesso, panelTopProcesso, panelBottomProcesso );
}
private void setupConsultaPanel()
@ -413,11 +421,7 @@ public class ProcessoAccoesPanel extends JPanel
JPanel consultaMarcacaoLowerPanel = new JPanel();
setupSimpleActionsPanel( consultaMarcacaoUpperPanel, buttonNovoConsultaMarcacaoEmail, buttonNovoConsultaMarcacaoObservacoes );
setupSimpleActionsPanel( consultaMarcacaoLowerPanel, buttonConsultaMarcacaoRealizar, buttonConsultaMarcacaoDesmarcarSiprp, buttonConsultaMarcacaoDesmarcarTrabalhador, buttonConsultaMarcacaoFaltou);
TableLayout consultaMarcacaoLayout = new TableLayout(new double[]{TableLayout.FILL}, new double[]{TableLayout.MINIMUM, TableLayout.FILL,TableLayout.MINIMUM});
panelConsultaMarcacao.setLayout( consultaMarcacaoLayout );
panelConsultaMarcacao.add( consultaMarcacaoUpperPanel, new TableLayoutConstraints(0,0) );
panelConsultaMarcacao.add( new JPanel(), new TableLayoutConstraints(0,1) );
panelConsultaMarcacao.add( consultaMarcacaoLowerPanel, new TableLayoutConstraints(0,2) );
setupTopBottomSimpleActionsPanel(panelConsultaMarcacao, consultaMarcacaoUpperPanel, consultaMarcacaoLowerPanel);
}
private void setupExameMarcacaoPanel()
@ -426,17 +430,22 @@ public class ProcessoAccoesPanel extends JPanel
JPanel exameMarcacaoLowerPanel = new JPanel();
setupSimpleActionsPanel( exameMarcacaoUpperPanel, buttonNovoExameMarcacaoEmail, buttonNovoExameMarcacaoObservacoes, new JPanel() );
setupSimpleActionsPanel( exameMarcacaoLowerPanel, buttonExameMarcacaoRealizar, buttonExameMarcacaoRealizarParcial, buttonExameMarcacaoFaltou, buttonExameMarcacaoAnular, buttonExameMarcacaoDesmarcarTrabalhador, buttonExameMarcacaoDesmarcarSiprp );
TableLayout exameMarcacaoLayout = new TableLayout(new double[]{TableLayout.FILL}, new double[]{TableLayout.MINIMUM, TableLayout.FILL,TableLayout.MINIMUM});
panelExameMarcacao.setLayout( exameMarcacaoLayout );
panelExameMarcacao.add( exameMarcacaoUpperPanel, new TableLayoutConstraints(0,0) );
panelExameMarcacao.add( new JPanel(), new TableLayoutConstraints(0,1) );
panelExameMarcacao.add( exameMarcacaoLowerPanel, new TableLayoutConstraints(0,2) );
setupTopBottomSimpleActionsPanel(panelExameMarcacao, exameMarcacaoUpperPanel, exameMarcacaoLowerPanel);
}
private void setupExamePanel()
{
setupSimpleActionsPanel( panelExame, buttonNovoExameMarcacao, new JPanel() );
}
private void setupTopBottomSimpleActionsPanel(JPanel panel, JPanel top, JPanel bottom)
{
TableLayout layout = new TableLayout(new double[]{TableLayout.FILL}, new double[]{TableLayout.MINIMUM, TableLayout.FILL,TableLayout.MINIMUM});
panel.setLayout( layout );
panel.add( top, new TableLayoutConstraints(0,0) );
panel.add( new JPanel(), new TableLayoutConstraints(0,1) );
panel.add( bottom, new TableLayoutConstraints(0,2) );
}
private void setupSimpleActionsPanel( JPanel panel, JComponent... field )
{

@ -5,7 +5,7 @@ import static com.evolute.utils.strings.UnicodeLatin1Map.ccedil;
import static com.evolute.utils.strings.UnicodeLatin1Map.iacute;
import static com.evolute.utils.strings.UnicodeLatin1Map.otilde;
import static info.clearthought.layout.TableLayoutConstants.FILL;
import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA;
import static siprp.medicina.processo.logic.MedicinaProcessoLogic.*;
import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO;
import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_EMAIL;
import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_OBSERVACOES;
@ -37,6 +37,7 @@ import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints;
import java.awt.CardLayout;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@ -53,6 +54,7 @@ import leaf.LeafInputField;
import leaf.LeafOptionDialog;
import leaf.LeafTextDialog;
import leaf.LeafWindow;
import leaf.OrderedMap;
import leaf.LeafLogic.LeafUIActionBinding;
import leaf.LeafWindow.ActionActivation;
@ -117,13 +119,17 @@ public class ProcessoDadosPanel extends JPanel
private final JLabel labelTrabalhadorSexo = new JLabel( "Sexo" );
private final JLabel labelTrabalhadorDataNascimento = new JLabel( "Data de Nascimento" );
private final JLabel labelTrabalhadorNacionalidade = new JLabel( "Nacionalidade" );
private final JLabel labelTrabalhadorBI = new JLabel( "B.I." );
private final JLabel labelTrabalhadorObservacoes = new JLabel( "Observa" + ccedil + otilde + "es" );
private final JLabel labelTrabalhadorDataAdmissao = new JLabel( "Data de Admiss" + atilde + "o" );
public final LeafInputField<String> inputTrabalhadorNome = new LeafInputField<String>();
public final LeafInputField<HashMap<String, String>> inputTrabalhadorSexo = new LeafInputField<HashMap<String, String>>();
public final LeafInputField<Date> inputTrabalhadorDataNascimento = new LeafInputField<Date>();
public final LeafInputField<String> inputTrabalhadorNacionalidade = new LeafInputField<String>();
public final LeafInputField<String> inputTrabalhadorBI = new LeafInputField<String>();
public final LeafInputField<String> inputTrabalhadorObservacoes = new LeafInputField<String>();
public final LeafInputField<Date> inputTrabalhadorDataAdmissao = new LeafInputField<Date>();
// processo
@ -135,6 +141,7 @@ public class ProcessoDadosPanel extends JPanel
public final LeafInputField<HashMap<String, String>> inputProcessoEstado = new LeafInputField<HashMap<String, String>>();
public final LeafInputField<Date> inputProcessoDataInicio = new LeafInputField<Date>();
public final LeafInputField<Date> inputProcessoDataFim = new LeafInputField<Date>();
@ActionActivation(onSelect = "", onChange = SAVE_PROCESSO)
public final LeafInputField<HashMap<Integer, String>> inputProcessoMotivo = new LeafInputField<HashMap<Integer, String>>();
// consulta
@ -248,6 +255,29 @@ public class ProcessoDadosPanel extends JPanel
add( panelExameMarcacaoEmail, PANEL_EXAME_MARCACAO_EMAIL_NAME );
add( panelExameMarcacaoObservacao, PANEL_EXAME_MARCACAO_OBSERVACAO_NAME );
}
private int getIdade( Date nascimento )
{
int result = 0;
if(nascimento != null)
{
Calendar now = Calendar.getInstance();
Calendar birth = Calendar.getInstance();
birth.setTime( nascimento );
int birthYear = birth.get( Calendar.YEAR );
int currentYear = now.get( Calendar.YEAR );
if( birthYear < currentYear )
{
result = currentYear - birthYear;
birth.add( Calendar.YEAR, result );
if( birth.after( now ) )
{
--result;
}
}
}
return result;
}
@LeafUIActionBinding(action = {
LOAD_TRABALHADOR, SELECT_TRABALHADOR
@ -260,8 +290,11 @@ public class ProcessoDadosPanel extends JPanel
inputTrabalhadorSexo.setObject( trabalhador.getSexos(), trabalhador.getSexo() );
inputTrabalhadorNome.setObject( trabalhador.getNome() );
inputTrabalhadorNacionalidade.setObject( trabalhador.getNacionalidade() );
inputTrabalhadorObservacoes.setObject( trabalhador.getObservacoes() );
inputTrabalhadorBI.setObject( trabalhador.getBi() );
inputTrabalhadorObservacoes.setObject( trabalhador.getObservacoesGestao() );
inputTrabalhadorDataAdmissao.setObject(trabalhador.getDataAdmissao());
labelTrabalhadorDataNascimento.setText( "Data de Nascimento (" + getIdade( trabalhador.getDataNascimento() ) + " anos)" );
cardLayout.show( this, PANEL_TRABALHADOR_NAME );
}
else
@ -278,6 +311,7 @@ public class ProcessoDadosPanel extends JPanel
inputProcessoDataFim.setObject( processo.getDataFim() );
inputProcessoDataInicio.setObject( processo.getDataInicio() );
inputProcessoEstado.setObject( processo.getEstados(), processo.getEstado() );
inputProcessoMotivo.setEditable( true );
inputProcessoMotivo.setObject( processo.getMotivos(), processo.getMotivo() );
cardLayout.show( this, PANEL_PROCESSO_NAME );
@ -577,6 +611,12 @@ public class ProcessoDadosPanel extends JPanel
observacoes.setObservacao( text );
inputExameMarcacaoObsMensagem.setEditable( true );
}
@LeafUIActionBinding(action = SAVE_PROCESSO)
public void updateToSaveProcesso( TrabalhadoresProcesso processo)
{
processo.setMotivo( (Integer) inputProcessoMotivo.getSelectedObject() );
}
@LeafUIActionBinding(action = SAVE_CONSULTA_MARCACAO)
public void updateToSaveConsultaMarcacao( TrabalhadoresConsultasDatas marcacao )
@ -651,7 +691,7 @@ public class ProcessoDadosPanel extends JPanel
private void setupTrabalhadorPanel()
{
setupSimpleDataPanel( panelTrabalhador, "Trabalhador", labelTrabalhadorNome, inputTrabalhadorNome, labelTrabalhadorSexo, inputTrabalhadorSexo, labelTrabalhadorNacionalidade, inputTrabalhadorNacionalidade, labelTrabalhadorDataNascimento, inputTrabalhadorDataNascimento, labelTrabalhadorObservacoes, inputTrabalhadorObservacoes );
setupSimpleDataPanel( panelTrabalhador, "Trabalhador", labelTrabalhadorNome, inputTrabalhadorNome, labelTrabalhadorSexo, inputTrabalhadorSexo, labelTrabalhadorBI, inputTrabalhadorBI,labelTrabalhadorNacionalidade, inputTrabalhadorNacionalidade, labelTrabalhadorDataNascimento, inputTrabalhadorDataNascimento, labelTrabalhadorDataAdmissao, inputTrabalhadorDataAdmissao, labelTrabalhadorObservacoes, inputTrabalhadorObservacoes );
}
private void setupProcessoPanel()

@ -73,7 +73,7 @@ public class ProcessoTreePanel extends JPanel
try
{
provider = ProcessoDataProvider.getProvider();
} catch( Exception e )
{
provider = null;
@ -134,17 +134,27 @@ public class ProcessoTreePanel extends JPanel
mainTree.expandRow( n );
}
}
@LeafUIActionBinding(action = CREATE_PROCESSO)
public void createConsultaNode( TrabalhadoresProcesso processo)
public void createProcessoNode( TrabalhadoresProcesso processo )
{
if( processo!= null )
if( processo != null )
{
ProcessoMutableTreeNode node = new ProcessoMutableTreeNode( processo );
addAndRefresh( node, rootNode );
}
}
@LeafUIActionBinding(action = APAGAR_PROCESSO)
public void removeProcessoNode( TrabalhadoresProcesso processo )
{
if( processo != null )
{
ProcessoMutableTreeNode node = new ProcessoMutableTreeNode( processo );
removeNode( node );
}
}
@LeafUIActionBinding(action = CREATE_CONSULTA)
public void createConsultaNode( TrabalhadoresConsultas consulta )
{
@ -160,11 +170,11 @@ public class ProcessoTreePanel extends JPanel
@LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO)
public void createConsultaMarcacaoNode( TrabalhadoresConsultasDatas marcacao )
{
if( marcacao != null)
if( marcacao != null )
{
DefaultMutableTreeNode parentNode = nodeByObject.get( marcacao.getToTrabalhadoresConsultas() );
DataMutableTreeNode node = new DataMutableTreeNode( marcacao );
addAndRefresh( node, parentNode );
addAndRefresh( node, parentNode );
}
}
@ -195,10 +205,10 @@ public class ProcessoTreePanel extends JPanel
@LeafUIActionBinding(action = CREATE_EXAME)
public void createExameNode( TrabalhadoresEcds exame )
{
if( exame!= null )
if( exame != null )
{
DefaultMutableTreeNode parentNode = nodeByObject.get( exame.getToTrabalhadoresProcesso() );
ECDsMutableTreeNode node = new ECDsMutableTreeNode( exame);
ECDsMutableTreeNode node = new ECDsMutableTreeNode( exame );
node.setData( exame.getData() );
addAndRefresh( node, parentNode );
}
@ -207,11 +217,11 @@ public class ProcessoTreePanel extends JPanel
@LeafUIActionBinding(action = CREATE_EXAME_MARCACAO)
public void createExameMarcacaoNode( TrabalhadoresEcdsDatas marcacao )
{
if( marcacao != null)
if( marcacao != null )
{
DefaultMutableTreeNode parentNode = nodeByObject.get( marcacao.getToTrabalhadoresEcds() );
DataMutableTreeNode node = new DataMutableTreeNode( marcacao );
addAndRefresh( node, parentNode );
addAndRefresh( node, parentNode );
}
}
@ -238,22 +248,22 @@ public class ProcessoTreePanel extends JPanel
mainTree.setSelectionPath( new TreePath( node.getPath() ) );
}
}
@LeafUIActionBinding(action = REFRESH )
@LeafUIActionBinding(action = REFRESH)
public void refresh()
{
DefaultMutableTreeNode selected = getSelectedNode();
if( selected != null )
{
// ((DefaultTreeModel) mainTree.getModel()).nodeStructureChanged( rootNode );
// ((DefaultTreeModel) mainTree.getModel()).nodeStructureChanged(
// rootNode );
mainTree.setSelectionPath( new TreePath( rootNode.getPath() ) );
mainTree.setSelectionPath( new TreePath( selected.getPath() ) );
}
revalidate();
repaint();
}
protected List<DefaultMutableTreeNode> loadProcessos( Trabalhadores trabalhador )
{
List<DefaultMutableTreeNode> result = new ArrayList<DefaultMutableTreeNode>();
@ -347,20 +357,25 @@ public class ProcessoTreePanel extends JPanel
private void addAndRefresh( DefaultMutableTreeNode node, DefaultMutableTreeNode parentNode )
{
addNodeTo( node, parentNode );
refresh(node, parentNode);
refresh( node, parentNode );
}
// private void removeNode( DefaultMutableTreeNode node )
// {
// if( node != null && !node.equals( rootNode ) && node.getParent() != null && node.getParent() instanceof DefaultMutableTreeNode)
// {
// DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent();
// node.removeFromParent();
// refresh(parent, rootNode);
// }
// }
private void refresh(DefaultMutableTreeNode newSelection, DefaultMutableTreeNode parentNode)
private void removeNode( DefaultMutableTreeNode node )
{
if( node != null )
{
DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent();
if( parent == null )
{
parent = rootNode;
}
node.removeFromParent();
nodeByObject.remove( node.getUserObject() );
refresh( parent, rootNode );
}
}
private void refresh( DefaultMutableTreeNode newSelection, DefaultMutableTreeNode parentNode )
{
((DefaultTreeModel) mainTree.getModel()).nodeStructureChanged( parentNode );
mainTree.setSelectionPath( new TreePath( newSelection.getPath() ) );

Loading…
Cancel
Save