From bddcf8229bebf79363f871ab41e00a1e23d90846 Mon Sep 17 00:00:00 2001 From: Frederico Palma Date: Mon, 21 May 2007 22:16:06 +0000 Subject: [PATCH] no message git-svn-id: https://svn.coded.pt/svn/SIPRP@420 bb69d46d-e84e-40c8-a05a-06db0d633741 --- trunk/siprp/medicina/MedicinaConstants.java | 4 +- .../medicina/processo/ProcessoController.java | 26 ++++--------- .../processo/ProcessoDataProvider.java | 2 +- .../processo/detalhes/ConsultaPanel.java | 39 ++++++++++++++++++- .../processo/detalhes/EstadoChooser.java | 6 ++- .../estrutura/EstruturaProcessoPanel.java | 9 ++++- .../estrutura/MarcacaoMutableTreeNode.java | 6 +-- 7 files changed, 64 insertions(+), 28 deletions(-) diff --git a/trunk/siprp/medicina/MedicinaConstants.java b/trunk/siprp/medicina/MedicinaConstants.java index e444c137..a09a59f8 100644 --- a/trunk/siprp/medicina/MedicinaConstants.java +++ b/trunk/siprp/medicina/MedicinaConstants.java @@ -61,8 +61,8 @@ public interface MedicinaConstants public static final int ESTADO_FALTOU = 5; public static final String ESTADOS_CONSULTA_STR[] = - new String[]{ "Por Realizar", "Parcialmente Realizada", "Realizada", - "Desmarcada pelo Trabalhador", "Desmarcada pela SIPRP " + Singleton.getInstance( SingletonConstants.COMPANY_ACRONYM ), + new String[]{ "Por Realizar", null, "Realizada", + "Desmarcada pelo Trabalhador", "Desmarcada pela " + Singleton.getInstance( SingletonConstants.COMPANY_ACRONYM ), "Trabalhador Faltou" }; public static final String ESTADOS_EXAME_STR[] = diff --git a/trunk/siprp/medicina/processo/ProcessoController.java b/trunk/siprp/medicina/processo/ProcessoController.java index b1e33537..ef9d1907 100644 --- a/trunk/siprp/medicina/processo/ProcessoController.java +++ b/trunk/siprp/medicina/processo/ProcessoController.java @@ -158,14 +158,8 @@ public class ProcessoController { Integer idProcessoAntigo = idProcesso; idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -System.out.println( "\n\n\nAntigo: " + idProcessoAntigo ); -System.out.println( "\n\n\nProcesso: " + idProcesso ); - if( !idProcesso.equals( idProcessoAntigo ) ) - { - processoPanel.fill( idProcesso ); - detalhesProcessoPanel.setProcessoID( idProcesso ); - } - + processoPanel.fill( idProcesso ); + detalhesProcessoPanel.setProcessoID( idProcesso ); idMarcacao = e.getObjecto( ProcessoEvent.TIPO_CONSULTA ); detalhesProcessoPanel.setConsulta( idMarcacao ); } @@ -180,12 +174,9 @@ System.out.println( "\n\n\nProcesso: " + idProcesso ); { Integer idProcessoAntigo = idProcesso; idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); - if( !idProcesso.equals( idProcessoAntigo ) ) - { - processoPanel.fill( idProcesso ); - detalhesProcessoPanel.setProcessoID( idProcesso ); - } - + processoPanel.fill( idProcesso ); + detalhesProcessoPanel.setProcessoID( idProcesso ); + idMarcacao = e.getObjecto( ProcessoEvent.TIPO_ECDS ); detalhesProcessoPanel.setECDs( idMarcacao ); } @@ -212,11 +203,8 @@ System.out.println( "\n\n\nProcesso: " + idProcesso ); { Integer idProcessoAntigo = idProcesso; idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); - if( !idProcesso.equals( idProcessoAntigo ) ) - { - processoPanel.fill( idProcesso ); - detalhesProcessoPanel.setProcessoID( idProcesso ); - } + processoPanel.fill( idProcesso ); + detalhesProcessoPanel.setProcessoID( idProcesso ); Integer idConsulta = e.getObjecto( ProcessoEvent.TIPO_CONSULTA ); Integer idECDs = e.getObjecto( ProcessoEvent.TIPO_ECDS ); Integer idData = e.getObjecto( ProcessoEvent.TIPO_DATA ); diff --git a/trunk/siprp/medicina/processo/ProcessoDataProvider.java b/trunk/siprp/medicina/processo/ProcessoDataProvider.java index 1ba48989..3f6f4a96 100644 --- a/trunk/siprp/medicina/processo/ProcessoDataProvider.java +++ b/trunk/siprp/medicina/processo/ProcessoDataProvider.java @@ -437,7 +437,7 @@ public class ProcessoDataProvider new Expression[]{}, new String[]{ "id" }, new Field( "processo_id" ).isEqual( processoID ).and( - new Field( "estado" ).isEqual( new Integer( ESTADO_POR_REALIZAR ) ) ), + new Field( "estado" ).isDifferent( new Integer( ESTADO_REALIZADO ) ) ), null, null, null, diff --git a/trunk/siprp/medicina/processo/detalhes/ConsultaPanel.java b/trunk/siprp/medicina/processo/detalhes/ConsultaPanel.java index 2581e5d9..26520296 100644 --- a/trunk/siprp/medicina/processo/detalhes/ConsultaPanel.java +++ b/trunk/siprp/medicina/processo/detalhes/ConsultaPanel.java @@ -25,6 +25,7 @@ import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import siprp.medicina.MedicinaConstants; +import siprp.medicina.processo.ProcessoConstants; import siprp.medicina.processo.ProcessoDataProvider; import siprp.medicina.processo.ProcessoEvent; import siprp.medicina.processo.ProcessoListener; @@ -123,8 +124,10 @@ public class ConsultaPanel extends JPanel } try { + boolean nova = false; if( consulta == null ) { + nova = true; Integer consultaID = provider.getConsultaEmAbertoForProcesso( processoID ); if( consultaID == null ) { @@ -136,6 +139,7 @@ public class ConsultaPanel extends JPanel else { consulta = provider.getConsultaByID( consultaID ); + consulta.set( TrabalhadoresConsultasData.ESTADO, new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ); } } consulta.set( TrabalhadoresConsultasData.DATA, data ); @@ -144,7 +148,7 @@ public class ConsultaPanel extends JPanel { Integer consultaID = ( Integer )consulta.get( TrabalhadoresConsultasDatasData.ID ); Integer consultaDataID = provider.getLastConsultaDataIDForConsulta( consultaID ); - if( consultaDataID == null ) + if( consultaDataID == null || nova ) { consultaData = new TrabalhadoresConsultasDatasData(); consultaData.set( TrabalhadoresConsultasDatasData.TRABALHADORES_CONSULTAS_ID, consultaID ); @@ -203,6 +207,39 @@ public class ConsultaPanel extends JPanel protected void mudarEstado() { + if( consulta == null ) + { + return; + } + Integer estado = ( Integer ) consulta.get( TrabalhadoresConsultasData.ESTADO ); + EstadoChooser chooser = + new EstadoChooser( owner, ProcessoConstants.TIPO_CONSULTA, + estado != null ? estado.intValue() : MedicinaConstants.ESTADO_POR_REALIZAR ); + chooser.setVisible( true ); + int novoEstado = chooser.getEstado(); + if( estado == null || estado.intValue() != novoEstado ) + { + try + { + consulta.set( TrabalhadoresConsultasData.ESTADO, new Integer( novoEstado ) ); + provider.saveConsulta( consulta ); + if( consultaData == null ) + { + Integer consultaID = ( Integer )consulta.get( TrabalhadoresConsultasDatasData.ID ); + Integer consultaDataID = provider.getLastConsultaDataIDForConsulta( consultaID ); + consultaData = provider.getConsultaDataByID( consultaDataID ); + } + consultaData.set( TrabalhadoresConsultasDatasData.ESTADO, new Integer( novoEstado ) ); + provider.saveConsultaData( consultaData ); + + notifyListeners( ProcessoEvent.ACCAO_MUDAR_ESTADO_MARCACAO ); + } + catch( Exception ex ) + { + DialogException.showExceptionMessage( ex, "Erro a gravar dados da consulta", true ); + return; + } + } } public void addProcessoListener( ProcessoListener listener ) diff --git a/trunk/siprp/medicina/processo/detalhes/EstadoChooser.java b/trunk/siprp/medicina/processo/detalhes/EstadoChooser.java index d1d3feb6..2816eec1 100644 --- a/trunk/siprp/medicina/processo/detalhes/EstadoChooser.java +++ b/trunk/siprp/medicina/processo/detalhes/EstadoChooser.java @@ -29,7 +29,7 @@ public class EstadoChooser extends CustomJDialog { protected int tipo; protected int estado; - protected HashMap buttonMap; + protected HashMap buttonMap = new HashMap(); /** Creates a new instance of EstadoChooser */ public EstadoChooser( JFrame owner, int tipo, int estadoActual ) @@ -55,6 +55,10 @@ public class EstadoChooser extends CustomJDialog setLayout( new GridLayout( ESTADOS_STR[ tipo ].length, 1 ) ); for( int n = 0; n < ESTADOS_STR[ tipo ].length; n++ ) { + if( ESTADOS_STR[ tipo ][ n ] == null ) + { + continue; + } JButton button = new JButton( ESTADOS_STR[ tipo ][ n ] ); if( n == estado ) { diff --git a/trunk/siprp/medicina/processo/estrutura/EstruturaProcessoPanel.java b/trunk/siprp/medicina/processo/estrutura/EstruturaProcessoPanel.java index 1927f001..31a267db 100644 --- a/trunk/siprp/medicina/processo/estrutura/EstruturaProcessoPanel.java +++ b/trunk/siprp/medicina/processo/estrutura/EstruturaProcessoPanel.java @@ -212,7 +212,14 @@ public class EstruturaProcessoPanel extends JPanel Integer dataEstado = ( Integer ) datas[ n ][ 2 ]; String dataEstadoStr = MedicinaConstants.ESTADOS_CONSULTA_STR[ dataEstado != null ? dataEstado.intValue() : 0 ]; String dataDesc = D_F.format( dataData ) + ": " + dataEstadoStr; - consultaNode.add( new DataMutableTreeNode( dataID, dataDesc ) ); + DataMutableTreeNode dataNode = new DataMutableTreeNode( dataID, dataDesc ); + IDObject observacoes = provider.getObservacoesConsultaData( dataID ); + if( observacoes != null ) + { + ObservacoesMutableTreeNode observacoesNode = new ObservacoesMutableTreeNode( observacoes.getID(), observacoes.toString() ); + dataNode.add( observacoesNode ); + } + consultaNode.add( dataNode ); } ( ( DefaultTreeModel ) mainTree.getModel() ).nodeStructureChanged( consultaNode ); diff --git a/trunk/siprp/medicina/processo/estrutura/MarcacaoMutableTreeNode.java b/trunk/siprp/medicina/processo/estrutura/MarcacaoMutableTreeNode.java index 2e6bc7df..4a7ed64a 100644 --- a/trunk/siprp/medicina/processo/estrutura/MarcacaoMutableTreeNode.java +++ b/trunk/siprp/medicina/processo/estrutura/MarcacaoMutableTreeNode.java @@ -45,15 +45,15 @@ public abstract class MarcacaoMutableTreeNode extends EstruturaProcessoMutableTr MarcacaoMutableTreeNode om = ( MarcacaoMutableTreeNode ) other; if( data == null ) { - return -1; + return 1; } else if( om == null || om.getData() == null ) { - return 1; + return -1; } else { - return getData().compareTo( om.getData() ); + return -1 * getData().compareTo( om.getData() ); } } }