diff --git a/trunk/SIPRPSoft/src/siprp/database/cayenne/objects/PrtGruposProtocolo.java b/trunk/SIPRPSoft/src/siprp/database/cayenne/objects/PrtGruposProtocolo.java index 61653182..c11e0ce0 100755 --- a/trunk/SIPRPSoft/src/siprp/database/cayenne/objects/PrtGruposProtocolo.java +++ b/trunk/SIPRPSoft/src/siprp/database/cayenne/objects/PrtGruposProtocolo.java @@ -4,6 +4,14 @@ import siprp.database.cayenne.objects.auto._PrtGruposProtocolo; public class PrtGruposProtocolo extends _PrtGruposProtocolo { + private static final long serialVersionUID = 1L; + + + @Override + public String toString() + { + return getDescricao() == null ? "" : getDescricao(); + } } diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/LeafOptionDialog.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/LeafOptionDialog.java index 8c09168f..1e9d642e 100644 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/LeafOptionDialog.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/LeafOptionDialog.java @@ -51,9 +51,10 @@ public class LeafOptionDialog extends JDialog setContentPane( new LeafGradientPanel() ); getContentPane().setLayout( layout ); Iterator iterator = keySet.iterator(); - Object current = iterator.next(); - for( int i = 0; i < keySet.size() && iterator.hasNext(); ++i, current = iterator.next() ) + Object current = null;; + for( int i = 0; i < keySet.size() && iterator.hasNext(); ++i ) { + current = iterator.next(); LeafInputField component = new LeafInputField(); component.setObject( map.get( current ) ); getContentPane().add( component, new TableLayoutConstraints( 0, i ) ); diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/OrderedMap.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/OrderedMap.java new file mode 100644 index 00000000..62033451 --- /dev/null +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/OrderedMap.java @@ -0,0 +1,57 @@ +package siprp.medicina.processo.ui; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Vector; + +public class OrderedMap extends HashMap> +{ + private static final long serialVersionUID = 1L; + + private Vector order = new Vector(); + + public OrderedMap() + { + } + + public List getValuesAt(int row) + { + return this.get( order.get( row ) ); + } + + public Object getValueAt(int column, int row) + { + return this.getValuesAt( row ).get( column ); + } + + public void putLast( KeyClass key, Object value) + { + if(this.containsKey( key )) + { + this.remove( key ); + } + List list = new ArrayList(); + list.add( value ); + this.put( key, list ); + order.add( key ); + } + + public void putLast( KeyClass key, List values) + { + if(this.containsKey( key )) + { + this.remove( key ); + } + this.put( key, values ); + order.add( key ); + } + + @Override + public List remove( Object key ) + { + order.remove( key ); + return super.remove( key ); + } + +} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java index bf3af4d2..9d5c239d 100755 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java @@ -38,6 +38,8 @@ import javax.swing.JPanel; import siprp.database.cayenne.objects.Empresas; import siprp.database.cayenne.objects.PrtElementosProtocolo; +import siprp.database.cayenne.objects.PrtGruposProtocolo; +import siprp.database.cayenne.objects.PrtTiposElementosProtocolo; import siprp.database.cayenne.objects.Trabalhadores; import siprp.database.cayenne.objects.TrabalhadoresConsultas; import siprp.database.cayenne.objects.TrabalhadoresConsultasDatas; @@ -101,7 +103,7 @@ public class ProcessoDadosPanel extends JPanel private final JLabel labelTrabalhadorObservacoes = new JLabel( "Observa" + ccedil + otilde + "es" ); public final LeafInputField inputTrabalhadorNome = new LeafInputField(); - public final LeafInputField> inputTrabalhadorSexo = new LeafInputField>(); + public final LeafInputField> inputTrabalhadorSexo = new LeafInputField>(); public final LeafInputField inputTrabalhadorDataNascimento = new LeafInputField(); public final LeafInputField inputTrabalhadorNacionalidade = new LeafInputField(); public final LeafInputField inputTrabalhadorObservacoes = new LeafInputField(); @@ -113,10 +115,10 @@ public class ProcessoDadosPanel extends JPanel private final JLabel labelProcessoDataFim = new JLabel( "Fim" ); private final JLabel labelProcessoMotivo = new JLabel( "Motivo" ); - public final LeafInputField> inputProcessoEstado = new LeafInputField>(); + public final LeafInputField> inputProcessoEstado = new LeafInputField>(); public final LeafInputField inputProcessoDataInicio = new LeafInputField(); public final LeafInputField inputProcessoDataFim = new LeafInputField(); - public final LeafInputField> inputProcessoMotivo = new LeafInputField>(); + public final LeafInputField> inputProcessoMotivo = new LeafInputField>(); // consulta private final JLabel labelConsultaEstado = new JLabel( "Estado" ); @@ -142,14 +144,16 @@ public class ProcessoDadosPanel extends JPanel public final LeafInputField inputConsultaMarcacaoEmailBody = new LeafInputField(); // observacao marcacao consulta - @ActionActivation(onSelect="", onChange=SAVE_CONSULTA_MARCACAO_OBSERVACOES) + @ActionActivation(onSelect = "", onChange = SAVE_CONSULTA_MARCACAO_OBSERVACOES) public final LeafInputField inputConsultaMarcacaoObsMensagem = new LeafInputField(); // exame private final JLabel labelExameEstado = new JLabel( "Estado" ); private final JLabel labelExameData = new JLabel( "Data" ); + private final JLabel labelExameGruposEcds = new JLabel( "Ecds" ); public final LeafInputField> inputExameEstado = new LeafInputField>(); + public final LeafInputField> inputExameGruposEcds = new LeafInputField>(); public final LeafInputField inputExameData = new LeafInputField(); // marcacao exame @@ -214,7 +218,9 @@ public class ProcessoDadosPanel extends JPanel add( panelExameMarcacaoObservacao, PANEL_EXAME_MARCACAO_OBSERVACAO_NAME ); } - @LeafUIActionBinding(action = { LOAD_TRABALHADOR, SELECT_TRABALHADOR }) + @LeafUIActionBinding(action = { + LOAD_TRABALHADOR, SELECT_TRABALHADOR + }) public void setForTrabalhador( Trabalhadores trabalhador ) { if( trabalhador != null ) @@ -242,9 +248,9 @@ public class ProcessoDadosPanel extends JPanel inputProcessoDataFim.setObject( processo.getDataFim() ); inputProcessoDataInicio.setObject( processo.getDataInicio() ); inputProcessoEstado.setObject( processo.getEstados() ); - inputProcessoEstado.setSelectedObject( processo.getEstado() ); + inputProcessoEstado.setSelectedObject( processo.getEstado() ); inputProcessoMotivo.setObject( processo.getMotivos() ); - inputProcessoMotivo.setSelectedObject( processo.getMotivo() ); + inputProcessoMotivo.setSelectedObject( processo.getMotivo() ); cardLayout.show( this, PANEL_PROCESSO_NAME ); } @@ -329,21 +335,35 @@ public class ProcessoDadosPanel extends JPanel inputExameData.setObject( exame.getData() ); inputExameEstado.setObject( exame.getEstados() ); inputExameEstado.setSelectedObject( exame.getEstado() ); - //TODO mostrar lista de exames disponiveis para o trabalhador + HashMap grupos = new HashMap(); Trabalhadores trabalhador = exame.getToTrabalhadores(); Integer perfil = trabalhador.getPerfil(); - if(perfil != null) + if( perfil != null ) { Empresas empresa = trabalhador.getToEstabelecimentos().getToEmpresas(); - List ecdsPerfil = (List )empresa.getPrtElementosProtocoloArray(); + List ecdsPerfil = (List) empresa.getPrtElementosProtocoloArray(); for( PrtElementosProtocolo ecdPerfil : ecdsPerfil ) { - if(perfil.equals( ecdPerfil.getNumeroPerfil() ) ) + if( perfil.equals( ecdPerfil.getNumeroPerfil() ) ) { - + PrtTiposElementosProtocolo ecd = ecdPerfil.getToPrtTiposElementosProtocolo(); + if( ecd != null ) + { + PrtGruposProtocolo grupoEcd = ecd.getToPrtGruposProtocolo(); + if( grupoEcd != null ) + { + String descricao = grupoEcd.getDescricao(); + if( descricao != null ) + { + grupos.put( grupoEcd, descricao ); + } + } + } } } } + inputExameGruposEcds.setObject(grupos); + inputExameGruposEcds.setEditable( true ); cardLayout.show( this, PANEL_EXAME_NAME ); } else @@ -362,10 +382,10 @@ public class ProcessoDadosPanel extends JPanel inputExameMarcacaoEstado.setSelectedObject( exameMarcacao.getEstado() ); // TODO mostrar lista de exames disponiveis para a marcacao List ecds = (List) exameMarcacao.getTrabalhadoresEcdArray(); - for(TrabalhadoresEcd ecd : ecds) + for( TrabalhadoresEcd ecd : ecds ) { Integer ecdEstado = ecd.getEstado(); -// ecd.get + // ecd.get } cardLayout.show( this, PANEL_EXAME_MARCACAO_NAME ); } @@ -413,7 +433,7 @@ public class ProcessoDadosPanel extends JPanel @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO) public void setForNewConsultaMarcacao( TrabalhadoresConsultasDatas marcacao ) { - LeafCalendarDialog calendar = new LeafCalendarDialog( getParentFrame(), this, false, false); + LeafCalendarDialog calendar = new LeafCalendarDialog( getParentFrame(), this, false, false ); Date date = calendar.getDate(); marcacao.setData( date ); } @@ -426,21 +446,21 @@ public class ProcessoDadosPanel extends JPanel @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO_OBSERVACOES) public void setForNewConsultaMarcacaoObservacoes( TrabalhadoresConsultasDatasObservacoes observacoes ) { - LeafTextDialog textDialog = new LeafTextDialog( getParentFrame(), this, ""); + LeafTextDialog textDialog = new LeafTextDialog( getParentFrame(), this, "" ); String text = textDialog.getText(); observacoes.setObservacao( text ); inputConsultaMarcacaoObsMensagem.setEditable( true ); } @LeafUIActionBinding(action = CREATE_EXAME) - public void setForNewExame( TrabalhadoresEcdsDatas exame ) + public void setForNewExame( TrabalhadoresEcds exame ) { } @LeafUIActionBinding(action = CREATE_EXAME_MARCACAO) public void setForNewExameMarcacao( TrabalhadoresEcdsDatas marcacao ) { - LeafCalendarDialog calendar = new LeafCalendarDialog( getParentFrame(), this, false, false); + LeafCalendarDialog calendar = new LeafCalendarDialog( getParentFrame(), this, false, false ); Date date = calendar.getDate(); marcacao.setData( date ); } @@ -453,7 +473,7 @@ public class ProcessoDadosPanel extends JPanel @LeafUIActionBinding(action = CREATE_EXAME_MARCACAO_OBSERVACOES) public void setForNewExameMarcacaoObservacoes( TrabalhadoresEcdsDatasObservacoes observacoes ) { - LeafTextDialog textDialog = new LeafTextDialog( getParentFrame(), this, ""); + LeafTextDialog textDialog = new LeafTextDialog( getParentFrame(), this, "" ); String text = textDialog.getText(); observacoes.setObservacao( text ); inputExameMarcacaoObsMensagem.setEditable( true ); @@ -483,7 +503,7 @@ public class ProcessoDadosPanel extends JPanel { observacoes.setObservacao( inputConsultaMarcacaoObsMensagem.getText() ); } - + @LeafUIActionBinding(action = SAVE_EXAME) public void updateToSaveExame( TrabalhadoresEcds exame ) { @@ -539,11 +559,11 @@ public class ProcessoDadosPanel extends JPanel private void setupTrabalhadorPanel() { -// inputTrabalhadorNacionalidade.setEditable( false ); -// inputTrabalhadorDataNascimento.setEditable( false ); -// inputTrabalhadorNome.setEditable( false ); -// inputTrabalhadorSexo.setEditable( false ); -// inputTrabalhadorObservacoes.setEditable( false ); + // inputTrabalhadorNacionalidade.setEditable( false ); + // inputTrabalhadorDataNascimento.setEditable( false ); + // inputTrabalhadorNome.setEditable( false ); + // inputTrabalhadorSexo.setEditable( false ); + // inputTrabalhadorObservacoes.setEditable( false ); setupSimpleDataPanel( panelTrabalhador, "Trabalhador", labelTrabalhadorNome, inputTrabalhadorNome, labelTrabalhadorSexo, inputTrabalhadorSexo, labelTrabalhadorNacionalidade, inputTrabalhadorNacionalidade, labelTrabalhadorDataNascimento, inputTrabalhadorDataNascimento, labelTrabalhadorObservacoes, inputTrabalhadorObservacoes ); } @@ -555,8 +575,8 @@ public class ProcessoDadosPanel extends JPanel private void setupConsultaPanel() { setupSimpleDataPanel( panelConsulta, "Consulta", labelConsultaEstado, inputConsultaEstado, labelConsultaData, inputConsultaData, new JPanel() ); -// inputConsultaEstado.setEditable( true ); -// inputConsultaData.setEditable( true ); + // inputConsultaEstado.setEditable( true ); + // inputConsultaData.setEditable( true ); } private void setupConsultaMarcacaoPanel() @@ -571,13 +591,13 @@ public class ProcessoDadosPanel extends JPanel private void setupConsultaMarcacaoObservacoesPanel() { -// inputConsultaMarcacaoObsMensagem.setEditable( false ); + // inputConsultaMarcacaoObsMensagem.setEditable( false ); setupSimpleDataPanel( panelConsultaMarcacaoObservacao, "Observa" + ccedil + otilde + "es", inputConsultaMarcacaoObsMensagem ); } private void setupExamePanel() { - setupSimpleDataPanel( panelExame, "Exame", labelExameEstado, inputExameEstado, labelExameData, inputExameData, new JPanel() ); + setupSimpleDataPanel( panelExame, "Exame", labelExameEstado, inputExameEstado, labelExameData, inputExameData, labelExameGruposEcds, inputExameGruposEcds, new JPanel() ); } private void setupExameMarcacaoPanel() @@ -592,7 +612,7 @@ public class ProcessoDadosPanel extends JPanel private void setupExameMarcacaoObservacoesPanel() { -// inputExameMarcacaoObsMensagem.setEditable( false ); + // inputExameMarcacaoObsMensagem.setEditable( false ); setupSimpleDataPanel( panelExameMarcacaoObservacao, "Observa" + ccedil + otilde + "es", inputExameMarcacaoObsMensagem ); }