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="morada" type="VARCHAR" length="2048"/>
<db-attribute name="nome" type="VARCHAR" length="255"/> <db-attribute name="nome" type="VARCHAR" length="255"/>
<db-attribute name="nome_plain" 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-key-generator>
<db-generator-type>ORACLE</db-generator-type> <db-generator-type>ORACLE</db-generator-type>
<db-generator-name>prestadores_id_seq</db-generator-name> <db-generator-name>prestadores_id_seq</db-generator-name>
@ -335,6 +336,7 @@
</db-entity> </db-entity>
<db-entity name="trabalhadores" schema="public"> <db-entity name="trabalhadores" schema="public">
<db-attribute name="actualizacao" type="TIMESTAMP" length="29"/> <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="categoria" type="VARCHAR" length="255"/>
<db-attribute name="data_admissao" type="DATE" length="13"/> <db-attribute name="data_admissao" type="DATE" length="13"/>
<db-attribute name="data_admissao_funcao" type="DATE" length="13"/> <db-attribute name="data_admissao_funcao" type="DATE" length="13"/>
@ -477,6 +479,7 @@
</db-key-generator> </db-key-generator>
</db-entity> </db-entity>
<db-entity name="trabalhadores_processo" schema="public"> <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_fim" type="DATE" length="13"/>
<db-attribute name="data_inicio" type="DATE" length="13"/> <db-attribute name="data_inicio" type="DATE" length="13"/>
<db-attribute name="estado" type="CHAR" isMandatory="true" length="1"/> <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="morada" type="java.lang.String" db-attribute-path="morada"/>
<obj-attribute name="nome" type="java.lang.String" db-attribute-path="nome"/> <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="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>
<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 name="PrestadoresGruposProtocolo" className="siprp.database.cayenne.objects.PrestadoresGruposProtocolo" lock-type="optimistic" dbEntityName="prestadores_grupos_protocolo" superClassName="siprp.database.cayenne.objects.BaseObject">
</obj-entity> </obj-entity>
@ -732,6 +736,7 @@
</obj-entity> </obj-entity>
<obj-entity name="Trabalhadores" className="siprp.database.cayenne.objects.Trabalhadores" lock-type="optimistic" dbEntityName="trabalhadores" superClassName="siprp.database.cayenne.objects.BaseObject"> <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="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="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="dataAdmissao" type="java.util.Date" db-attribute-path="data_admissao"/>
<obj-attribute name="dataAdmissaoFuncao" type="java.util.Date" db-attribute-path="data_admissao_funcao"/> <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-attribute name="id" type="java.lang.Integer" db-attribute-path="id"/>
</obj-entity> </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-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="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="dataInicio" type="java.util.Date" db-attribute-path="data_inicio"/>
<obj-attribute name="estado" type="java.lang.String" db-attribute-path="estado"/> <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.JTextField;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import siprp.medicina.processo.ui.OrderedMap;
public class LeafInputField<ObjClass extends Object> extends JPanel implements FocusListener, MouseListener, PropertyChangeListener 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 ) 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 ) else if( object instanceof Map )
{ {

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

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

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

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

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

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

@ -1,6 +1,8 @@
package siprp.database.cayenne.objects; package siprp.database.cayenne.objects;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import siprp.database.cayenne.objects.auto._Trabalhadores; 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() ); 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 @Override
public String getNome() public String getNome()
{ {

@ -1,20 +1,54 @@
package siprp.database.cayenne.objects; package siprp.database.cayenne.objects;
import com.evolute.utils.strings.UnicodeChecker;
import siprp.database.cayenne.objects.auto._TrabalhadoresConsultasDatasObservacoes; import siprp.database.cayenne.objects.auto._TrabalhadoresConsultasDatasObservacoes;
public class TrabalhadoresConsultasDatasObservacoes extends _TrabalhadoresConsultasDatasObservacoes { public class TrabalhadoresConsultasDatasObservacoes extends _TrabalhadoresConsultasDatasObservacoes {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String name = null;
private String convertedName = null;
@Override @Override
public String toString() public String toString()
{ {
String result = getObservacao() == null ? "" : getObservacao(); return getObservacao();
if( result.indexOf( '\n' ) > 0 ) }
@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.HashMap;
import java.util.List; import java.util.List;
import leaf.OrderedMap;
import siprp.database.cayenne.objects.auto._TrabalhadoresEcds; import siprp.database.cayenne.objects.auto._TrabalhadoresEcds;
import siprp.medicina.MedicinaConstants; import siprp.medicina.MedicinaConstants;
import siprp.medicina.processo.ui.OrderedMap;
public class TrabalhadoresEcds extends _TrabalhadoresEcds implements MedicinaConstants public class TrabalhadoresEcds extends _TrabalhadoresEcds implements MedicinaConstants
{ {

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

@ -1,16 +1,54 @@
package siprp.database.cayenne.objects; package siprp.database.cayenne.objects;
import com.evolute.utils.strings.UnicodeChecker;
import siprp.database.cayenne.objects.auto._TrabalhadoresEcdsDatasObservacoes; import siprp.database.cayenne.objects.auto._TrabalhadoresEcdsDatasObservacoes;
public class TrabalhadoresEcdsDatasObservacoes extends _TrabalhadoresEcdsDatasObservacoes { public class TrabalhadoresEcdsDatasObservacoes extends _TrabalhadoresEcdsDatasObservacoes {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String name = null;
private String convertedName = null;
@Override @Override
public String toString() public String toString()
{ {
return getObservacao(); 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); result.put( MedicinaConstants.MOTIVO_PERIODICO_INTEGER, MedicinaConstants.MOTIVO_PERIODICO_STR);
return result; 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; package siprp.medicina.prestadores;
import com.evolute.utils.Singleton; import com.evolute.utils.Singleton;
import static com.evolute.utils.strings.UnicodeLatin1Map.*;
import com.evolute.utils.data.IDObject; import com.evolute.utils.data.IDObject;
import com.evolute.utils.dataui.ComponentController; import com.evolute.utils.dataui.ComponentController;
import com.evolute.utils.dataui.ComponentsHashtable; import com.evolute.utils.dataui.ComponentsHashtable;
@ -73,6 +74,9 @@ public class PrestadoresWindow extends EditorWindow
protected JTextField localidadeText; protected JTextField localidadeText;
protected ContactoPanel contactoPanel; protected ContactoPanel contactoPanel;
protected JTextField contribuinteText; protected JTextField contribuinteText;
private final JLabel labelObservacoes = new JLabel("Observa"+ccedil+otilde+"es");
private final JTextArea textObservacoes = new JTextArea();
protected PrestadoresDataProvider provider; protected PrestadoresDataProvider provider;
protected ClientesDataProvider clientesProvider; protected ClientesDataProvider clientesProvider;
@ -86,8 +90,8 @@ public class PrestadoresWindow extends EditorWindow
private final JPanel prestadoresPanel = new JPanel(); private final JPanel prestadoresPanel = new JPanel();
private final JPanel analisadoresPanel = new JPanel(); private final JPanel analisadoresPanel = new JPanel();
private final JLabel labelGrupos = new JLabel( "Grupos:" ); private final JLabel labelGrupos = new JLabel( "Tipos de ECDs" );
private final JLabel labelAnalisador = new JLabel( "Analisador:" ); private final JLabel labelAnalisador = new JLabel( "Analisadores" );
private final JLabel labelMessage = new JLabel( " " ); private final JLabel labelMessage = new JLabel( " " );
private final Map<PrtGruposProtocolo, JLabel> mapLabel = new HashMap<PrtGruposProtocolo, JLabel>(); private final Map<PrtGruposProtocolo, JLabel> mapLabel = new HashMap<PrtGruposProtocolo, JLabel>();
@ -112,88 +116,111 @@ public class PrestadoresWindow extends EditorWindow
setupComponentsHashtable(); setupComponentsHashtable();
} }
private void setupComponents() throws Exception private void setupComponents()
{ {
setTitle( TITLE ); setTitle( TITLE );
setSize( 800, 600);
tabbedPane.addTab( "Prestadores", prestadoresPanel ); tabbedPane.addTab( "Prestadores", prestadoresPanel );
tabbedPane.addTab( "Analisadores", analisadoresPanel ); tabbedPane.addTab( "Analisadores", analisadoresPanel );
setupAnalisadoresTab(); setupAnalisadoresTab();
setupPrestadoresTab();
// pack();
}
JLabel nomeLabel = new JLabel( "Designa\u00e7\u00e3o" ); private void setupPrestadoresTab()
nomeText = new JTextField(); {
nomeText.setPreferredSize( new Dimension( 500, 20 ) ); try
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 ) ); JLabel nomeLabel = new JLabel( "Designa\u00e7\u00e3o" );
} nomeText = new JTextField();
IDObject gruposProtocoloFalsos[] = clientesProvider.getAllGruposProtocoloFalsos(); nomeText.setPreferredSize( new Dimension( 500, 20 ) );
if( gruposProtocoloFalsos != null && gruposProtocoloFalsos.length > 0 ) 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() private void setupComponentsHashtable()
@ -206,6 +233,7 @@ public class PrestadoresWindow extends EditorWindow
components.putComponent( PrestadoresData.LOCALIDADE_CP, localidadeCodigoPostalText ); components.putComponent( PrestadoresData.LOCALIDADE_CP, localidadeCodigoPostalText );
components.putComponent( PrestadoresData.LOCALIDADE, localidadeText ); components.putComponent( PrestadoresData.LOCALIDADE, localidadeText );
components.putComponent( PrestadoresData.CONTRIBUINTE, contribuinteText ); components.putComponent( PrestadoresData.CONTRIBUINTE, contribuinteText );
components.putComponent( PrestadoresData.OBSERVACOES, textObservacoes );
components.putComponent( PrestadoresData.ACTIVO, activoCheck ); components.putComponent( PrestadoresData.ACTIVO, activoCheck );
components.putComponent( PrestadoresData.FAZ_CONSULTAS, consultasCheck ); components.putComponent( PrestadoresData.FAZ_CONSULTAS, consultasCheck );
components.putComponent( PrestadoresData.FAZ_ECDS, ecdsCheck ); components.putComponent( PrestadoresData.FAZ_ECDS, ecdsCheck );
@ -317,15 +345,15 @@ public class PrestadoresWindow extends EditorWindow
mapLabel.clear(); mapLabel.clear();
listGrupos.clear(); listGrupos.clear();
listAnalisadores.clear(); listAnalisadores.clear();
shout(null); shout( null );
} }
private void setupAnalisadoresTabLayout() private void setupAnalisadoresTabLayout()
{ {
double[] cols = new double[] { 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 ) for( int i = 0; i < rows.length; ++i )
{ {
rows[i] = TableLayout.MINIMUM; rows[i] = TableLayout.MINIMUM;
@ -364,9 +392,9 @@ public class PrestadoresWindow extends EditorWindow
analisadoresPanel.add( combo, new TableLayoutConstraints( 1, i + 1 ) ); analisadoresPanel.add( combo, new TableLayoutConstraints( 1, i + 1 ) );
} }
int line = listGrupos.size() + 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; ++line;
analisadoresPanel.add( labelMessage, new TableLayoutConstraints( 0, line,1,line ) ); analisadoresPanel.add( labelMessage, new TableLayoutConstraints( 0, line, 1, line ) );
} }
private void setupAnalisadoresTabListeners() private void setupAnalisadoresTabListeners()
@ -396,7 +424,7 @@ public class PrestadoresWindow extends EditorWindow
Prestadores analisador = (Prestadores) combo.getSelectedItem(); Prestadores analisador = (Prestadores) combo.getSelectedItem();
grupo.setToAnalisador( Prestadores.prestadorNulo.equals( analisador ) ? null : analisador ); grupo.setToAnalisador( Prestadores.prestadorNulo.equals( analisador ) ? null : analisador );
medicinaCayenneDAO.saveObject( grupo ); 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.Date;
import java.util.List; import java.util.List;
import java.util.Vector;
import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultMutableTreeNode;
import leaf.LeafLogic; import leaf.LeafLogic;
import leaf.LeafWindow.LeafObject; import leaf.LeafWindow.LeafObject;
import siprp.database.cayenne.objects.BaseObject; import siprp.database.cayenne.objects.BaseObject;
import siprp.database.cayenne.objects.Empresas; import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.Estabelecimentos; 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.TrabalhadoresConsultasDatas;
import siprp.database.cayenne.objects.TrabalhadoresConsultasDatasEmails; import siprp.database.cayenne.objects.TrabalhadoresConsultasDatasEmails;
import siprp.database.cayenne.objects.TrabalhadoresConsultasDatasObservacoes; import siprp.database.cayenne.objects.TrabalhadoresConsultasDatasObservacoes;
import siprp.database.cayenne.objects.TrabalhadoresEcd;
import siprp.database.cayenne.objects.TrabalhadoresEcds; import siprp.database.cayenne.objects.TrabalhadoresEcds;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatas; import siprp.database.cayenne.objects.TrabalhadoresEcdsDatas;
import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasEmails; import siprp.database.cayenne.objects.TrabalhadoresEcdsDatasEmails;
@ -27,11 +24,8 @@ import siprp.database.cayenne.objects.TrabalhadoresProcesso;
import siprp.database.cayenne.providers.MedicinaDAO; import siprp.database.cayenne.providers.MedicinaDAO;
import siprp.medicina.MedicinaConstants; import siprp.medicina.MedicinaConstants;
import siprp.medicina.processo.ProcessoConstants; import siprp.medicina.processo.ProcessoConstants;
import siprp.medicina.processo.detalhes.EstadoChooser;
import siprp.medicina.processo.estrutura.FichaAptidaoMutableTreeNode; import siprp.medicina.processo.estrutura.FichaAptidaoMutableTreeNode;
import com.evolute.utils.tables.ColumnizedMappable;
public class MedicinaProcessoLogic extends LeafLogic public class MedicinaProcessoLogic extends LeafLogic
{ {
@Action(isSave = false) @Action(isSave = false)
@ -138,6 +132,9 @@ public class MedicinaProcessoLogic extends LeafLogic
@Action(isSave = true) @Action(isSave = true)
public static final String FECHAR_PROCESSO = "FECHAR_PROCESSO"; public static final String FECHAR_PROCESSO = "FECHAR_PROCESSO";
@Action(isSave = false)
public static final String APAGAR_PROCESSO = "APAGAR_PROCESSO";
@Action(isSave = false) @Action(isSave = false)
public static final String REFRESH = "REFRESH"; public static final String REFRESH = "REFRESH";
@ -184,7 +181,7 @@ public class MedicinaProcessoLogic extends LeafLogic
@LeafObject (useWith=LOAD_TRABALHADOR) @LeafObject (useWith=LOAD_TRABALHADOR)
public Trabalhadores currentTrabalhador = null; public Trabalhadores currentTrabalhador = null;
@LeafObject(useWith = SAVE_PROCESSO) @LeafObject(useWith = { SAVE_PROCESSO, APAGAR_PROCESSO })
public TrabalhadoresProcesso currentProcesso = null; public TrabalhadoresProcesso currentProcesso = null;
@LeafObject(useWith = SAVE_CONSULTA) @LeafObject(useWith = SAVE_CONSULTA)
@ -275,6 +272,16 @@ public class MedicinaProcessoLogic extends LeafLogic
runActionLater( SAVE_PROCESSO ); 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) @LeafLogicActionBinding(actions = DESMARCAR_SIPRP_CONSULTA_MARCACAO)
public void desmarcarConsultaSiprp() public void desmarcarConsultaSiprp()

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

@ -100,6 +100,9 @@ public class ProcessoAccoesPanel extends JPanel
CREATE_EXAME, CREATE_EXAME_MARCACAO CREATE_EXAME, CREATE_EXAME_MARCACAO
}, onChange = "") }, onChange = "")
public final LeafButton buttonNovoProcessoExame = new LeafButton( "Novo Exame" ); public final LeafButton buttonNovoProcessoExame = new LeafButton( "Novo Exame" );
@ActionActivation(onSelect = APAGAR_PROCESSO, onChange = "")
public final LeafButton buttonApagarProcesso = new LeafButton( "Remover Processo" );
// consulta // consulta
@ActionActivation(onSelect = CREATE_CONSULTA_MARCACAO, onChange = "") @ActionActivation(onSelect = CREATE_CONSULTA_MARCACAO, onChange = "")
@ -235,6 +238,7 @@ public class ProcessoAccoesPanel extends JPanel
if( processo != null ) if( processo != null )
{ {
buttonFecharProcesso.setEnabled( !ProcessoConstants.PROCESSO_FECHADO_CODE.equals( processo.getEstado() ) ); buttonFecharProcesso.setEnabled( !ProcessoConstants.PROCESSO_FECHADO_CODE.equals( processo.getEstado() ) );
buttonApagarProcesso.setEnabled( processo.isEmpty() );
boolean consultaAberta = false; boolean consultaAberta = false;
for( TrabalhadoresConsultas consulta : (List<TrabalhadoresConsultas>) processo.getTrabalhadoresConsultasArray() ) for( TrabalhadoresConsultas consulta : (List<TrabalhadoresConsultas>) processo.getTrabalhadoresConsultasArray() )
{ {
@ -399,7 +403,11 @@ public class ProcessoAccoesPanel extends JPanel
private void setupProcessoPanel() 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() private void setupConsultaPanel()
@ -413,11 +421,7 @@ public class ProcessoAccoesPanel extends JPanel
JPanel consultaMarcacaoLowerPanel = new JPanel(); JPanel consultaMarcacaoLowerPanel = new JPanel();
setupSimpleActionsPanel( consultaMarcacaoUpperPanel, buttonNovoConsultaMarcacaoEmail, buttonNovoConsultaMarcacaoObservacoes ); setupSimpleActionsPanel( consultaMarcacaoUpperPanel, buttonNovoConsultaMarcacaoEmail, buttonNovoConsultaMarcacaoObservacoes );
setupSimpleActionsPanel( consultaMarcacaoLowerPanel, buttonConsultaMarcacaoRealizar, buttonConsultaMarcacaoDesmarcarSiprp, buttonConsultaMarcacaoDesmarcarTrabalhador, buttonConsultaMarcacaoFaltou); setupSimpleActionsPanel( consultaMarcacaoLowerPanel, buttonConsultaMarcacaoRealizar, buttonConsultaMarcacaoDesmarcarSiprp, buttonConsultaMarcacaoDesmarcarTrabalhador, buttonConsultaMarcacaoFaltou);
TableLayout consultaMarcacaoLayout = new TableLayout(new double[]{TableLayout.FILL}, new double[]{TableLayout.MINIMUM, TableLayout.FILL,TableLayout.MINIMUM}); setupTopBottomSimpleActionsPanel(panelConsultaMarcacao, consultaMarcacaoUpperPanel, consultaMarcacaoLowerPanel);
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) );
} }
private void setupExameMarcacaoPanel() private void setupExameMarcacaoPanel()
@ -426,17 +430,22 @@ public class ProcessoAccoesPanel extends JPanel
JPanel exameMarcacaoLowerPanel = new JPanel(); JPanel exameMarcacaoLowerPanel = new JPanel();
setupSimpleActionsPanel( exameMarcacaoUpperPanel, buttonNovoExameMarcacaoEmail, buttonNovoExameMarcacaoObservacoes, new JPanel() ); setupSimpleActionsPanel( exameMarcacaoUpperPanel, buttonNovoExameMarcacaoEmail, buttonNovoExameMarcacaoObservacoes, new JPanel() );
setupSimpleActionsPanel( exameMarcacaoLowerPanel, buttonExameMarcacaoRealizar, buttonExameMarcacaoRealizarParcial, buttonExameMarcacaoFaltou, buttonExameMarcacaoAnular, buttonExameMarcacaoDesmarcarTrabalhador, buttonExameMarcacaoDesmarcarSiprp ); setupSimpleActionsPanel( exameMarcacaoLowerPanel, buttonExameMarcacaoRealizar, buttonExameMarcacaoRealizarParcial, buttonExameMarcacaoFaltou, buttonExameMarcacaoAnular, buttonExameMarcacaoDesmarcarTrabalhador, buttonExameMarcacaoDesmarcarSiprp );
TableLayout exameMarcacaoLayout = new TableLayout(new double[]{TableLayout.FILL}, new double[]{TableLayout.MINIMUM, TableLayout.FILL,TableLayout.MINIMUM}); setupTopBottomSimpleActionsPanel(panelExameMarcacao, exameMarcacaoUpperPanel, exameMarcacaoLowerPanel);
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) );
} }
private void setupExamePanel() private void setupExamePanel()
{ {
setupSimpleActionsPanel( panelExame, buttonNovoExameMarcacao, new JPanel() ); 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 ) 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.iacute;
import static com.evolute.utils.strings.UnicodeLatin1Map.otilde; import static com.evolute.utils.strings.UnicodeLatin1Map.otilde;
import static info.clearthought.layout.TableLayoutConstants.FILL; 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;
import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_EMAIL; import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_EMAIL;
import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CREATE_CONSULTA_MARCACAO_OBSERVACOES; 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 info.clearthought.layout.TableLayoutConstraints;
import java.awt.CardLayout; import java.awt.CardLayout;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -53,6 +54,7 @@ import leaf.LeafInputField;
import leaf.LeafOptionDialog; import leaf.LeafOptionDialog;
import leaf.LeafTextDialog; import leaf.LeafTextDialog;
import leaf.LeafWindow; import leaf.LeafWindow;
import leaf.OrderedMap;
import leaf.LeafLogic.LeafUIActionBinding; import leaf.LeafLogic.LeafUIActionBinding;
import leaf.LeafWindow.ActionActivation; import leaf.LeafWindow.ActionActivation;
@ -117,13 +119,17 @@ public class ProcessoDadosPanel extends JPanel
private final JLabel labelTrabalhadorSexo = new JLabel( "Sexo" ); private final JLabel labelTrabalhadorSexo = new JLabel( "Sexo" );
private final JLabel labelTrabalhadorDataNascimento = new JLabel( "Data de Nascimento" ); private final JLabel labelTrabalhadorDataNascimento = new JLabel( "Data de Nascimento" );
private final JLabel labelTrabalhadorNacionalidade = new JLabel( "Nacionalidade" ); 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 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<String> inputTrabalhadorNome = new LeafInputField<String>();
public final LeafInputField<HashMap<String, String>> inputTrabalhadorSexo = new LeafInputField<HashMap<String, String>>(); public final LeafInputField<HashMap<String, String>> inputTrabalhadorSexo = new LeafInputField<HashMap<String, String>>();
public final LeafInputField<Date> inputTrabalhadorDataNascimento = new LeafInputField<Date>(); public final LeafInputField<Date> inputTrabalhadorDataNascimento = new LeafInputField<Date>();
public final LeafInputField<String> inputTrabalhadorNacionalidade = new LeafInputField<String>(); 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<String> inputTrabalhadorObservacoes = new LeafInputField<String>();
public final LeafInputField<Date> inputTrabalhadorDataAdmissao = new LeafInputField<Date>();
// processo // 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<HashMap<String, String>> inputProcessoEstado = new LeafInputField<HashMap<String, String>>();
public final LeafInputField<Date> inputProcessoDataInicio = new LeafInputField<Date>(); public final LeafInputField<Date> inputProcessoDataInicio = new LeafInputField<Date>();
public final LeafInputField<Date> inputProcessoDataFim = 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>>(); public final LeafInputField<HashMap<Integer, String>> inputProcessoMotivo = new LeafInputField<HashMap<Integer, String>>();
// consulta // consulta
@ -248,6 +255,29 @@ public class ProcessoDadosPanel extends JPanel
add( panelExameMarcacaoEmail, PANEL_EXAME_MARCACAO_EMAIL_NAME ); add( panelExameMarcacaoEmail, PANEL_EXAME_MARCACAO_EMAIL_NAME );
add( panelExameMarcacaoObservacao, PANEL_EXAME_MARCACAO_OBSERVACAO_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 = { @LeafUIActionBinding(action = {
LOAD_TRABALHADOR, SELECT_TRABALHADOR LOAD_TRABALHADOR, SELECT_TRABALHADOR
@ -260,8 +290,11 @@ public class ProcessoDadosPanel extends JPanel
inputTrabalhadorSexo.setObject( trabalhador.getSexos(), trabalhador.getSexo() ); inputTrabalhadorSexo.setObject( trabalhador.getSexos(), trabalhador.getSexo() );
inputTrabalhadorNome.setObject( trabalhador.getNome() ); inputTrabalhadorNome.setObject( trabalhador.getNome() );
inputTrabalhadorNacionalidade.setObject( trabalhador.getNacionalidade() ); 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 ); cardLayout.show( this, PANEL_TRABALHADOR_NAME );
} }
else else
@ -278,6 +311,7 @@ public class ProcessoDadosPanel extends JPanel
inputProcessoDataFim.setObject( processo.getDataFim() ); inputProcessoDataFim.setObject( processo.getDataFim() );
inputProcessoDataInicio.setObject( processo.getDataInicio() ); inputProcessoDataInicio.setObject( processo.getDataInicio() );
inputProcessoEstado.setObject( processo.getEstados(), processo.getEstado() ); inputProcessoEstado.setObject( processo.getEstados(), processo.getEstado() );
inputProcessoMotivo.setEditable( true );
inputProcessoMotivo.setObject( processo.getMotivos(), processo.getMotivo() ); inputProcessoMotivo.setObject( processo.getMotivos(), processo.getMotivo() );
cardLayout.show( this, PANEL_PROCESSO_NAME ); cardLayout.show( this, PANEL_PROCESSO_NAME );
@ -577,6 +611,12 @@ public class ProcessoDadosPanel extends JPanel
observacoes.setObservacao( text ); observacoes.setObservacao( text );
inputExameMarcacaoObsMensagem.setEditable( true ); inputExameMarcacaoObsMensagem.setEditable( true );
} }
@LeafUIActionBinding(action = SAVE_PROCESSO)
public void updateToSaveProcesso( TrabalhadoresProcesso processo)
{
processo.setMotivo( (Integer) inputProcessoMotivo.getSelectedObject() );
}
@LeafUIActionBinding(action = SAVE_CONSULTA_MARCACAO) @LeafUIActionBinding(action = SAVE_CONSULTA_MARCACAO)
public void updateToSaveConsultaMarcacao( TrabalhadoresConsultasDatas marcacao ) public void updateToSaveConsultaMarcacao( TrabalhadoresConsultasDatas marcacao )
@ -651,7 +691,7 @@ public class ProcessoDadosPanel extends JPanel
private void setupTrabalhadorPanel() 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() private void setupProcessoPanel()

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

Loading…
Cancel
Save