From 2e4d23548c3ccb8f8729fed79fd2be5c5fdb1fc3 Mon Sep 17 00:00:00 2001 From: Frederico Palma Date: Mon, 21 May 2007 14:25:41 +0000 Subject: [PATCH] no message git-svn-id: https://svn.coded.pt/svn/SIPRP@418 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../medicina/processo/ProcessoController.java | 22 +++++++++ .../processo/ProcessoDataProvider.java | 2 +- .../medicina/processo/ProcessoEvent.java | 5 +- .../processo/detalhes/ConsultaPanel.java | 24 ++++++++-- .../estrutura/EstruturaProcessoPanel.java | 46 ++++++++++++------- 5 files changed, 77 insertions(+), 22 deletions(-) diff --git a/trunk/siprp/medicina/processo/ProcessoController.java b/trunk/siprp/medicina/processo/ProcessoController.java index 8b29cc6a..b1e33537 100644 --- a/trunk/siprp/medicina/processo/ProcessoController.java +++ b/trunk/siprp/medicina/processo/ProcessoController.java @@ -50,6 +50,7 @@ public class ProcessoController processoUpperPanel.addListSelectionListener( this ); estruturaProcessoPanel.addProcessoListener( this ); processoPanel.addProcessoListener( this ); + detalhesProcessoPanel.addProcessoListener( this ); provider = ProcessoDataProvider.getProvider(); JDO = ( JDOProvider ) Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER ); @@ -116,6 +117,10 @@ public class ProcessoController mudarEstadoMarcacao( e ); break; + case ProcessoEvent.ACCAO_MUDAR_DATA_MARCACAO: + mudarDataMarcacao( e ); + break; + case ProcessoEvent.ACCAO_ESCREVER_OBSERVACOES: escreverObservacoes( e ); break; @@ -153,6 +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 ); @@ -335,6 +342,21 @@ public class ProcessoController } } + public void mudarDataMarcacao( ProcessoEvent e ) + { + try + { + idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); + Integer idConsulta = e.getObjecto( ProcessoEvent.TIPO_CONSULTA ); + Integer idECDs = e.getObjecto( ProcessoEvent.TIPO_ECDS ); + idMarcacao = idConsulta != null ? idConsulta : idECDs; + estruturaProcessoPanel.actualizarMarcacaoEscolhida( idProcesso, idMarcacao ); + } + catch( Exception ex ) + { + } + } + public void escreverObservacoes( ProcessoEvent e ) { try diff --git a/trunk/siprp/medicina/processo/ProcessoDataProvider.java b/trunk/siprp/medicina/processo/ProcessoDataProvider.java index 4a6b5018..8a23d196 100644 --- a/trunk/siprp/medicina/processo/ProcessoDataProvider.java +++ b/trunk/siprp/medicina/processo/ProcessoDataProvider.java @@ -180,7 +180,7 @@ public class ProcessoDataProvider new Integer[]{}, new Expression[]{}, new String[]{ "id", "data", "estado" }, - new Field( "consulta_id" ).isEqual( consultaID ), + new Field( "trabalhadores_consultas_id" ).isEqual( consultaID ), new String[]{ "data DESC" }, null, null, diff --git a/trunk/siprp/medicina/processo/ProcessoEvent.java b/trunk/siprp/medicina/processo/ProcessoEvent.java index eb983ebb..aa7ba004 100644 --- a/trunk/siprp/medicina/processo/ProcessoEvent.java +++ b/trunk/siprp/medicina/processo/ProcessoEvent.java @@ -31,8 +31,9 @@ public class ProcessoEvent public static final int ACCAO_EMITIR_FA = 11; public static final int ACCAO_FECHAR = 12; public static final int ACCAO_MUDAR_ESTADO_MARCACAO = 13; - public static final int ACCAO_ESCREVER_OBSERVACOES = 14; - public static final int ACCAO_ESCREVER_MAIL = 15; + public static final int ACCAO_MUDAR_DATA_MARCACAO = 14; + public static final int ACCAO_ESCREVER_OBSERVACOES = 15; + public static final int ACCAO_ESCREVER_MAIL = 16; public static final Integer TIPO_ANY = new Integer( 0 ); public static final Integer TIPO_PROCESSO = new Integer( 1 ); diff --git a/trunk/siprp/medicina/processo/detalhes/ConsultaPanel.java b/trunk/siprp/medicina/processo/detalhes/ConsultaPanel.java index a2e41fb2..2581e5d9 100644 --- a/trunk/siprp/medicina/processo/detalhes/ConsultaPanel.java +++ b/trunk/siprp/medicina/processo/detalhes/ConsultaPanel.java @@ -138,16 +138,33 @@ public class ConsultaPanel extends JPanel consulta = provider.getConsultaByID( consultaID ); } } - consulta.set( TrabalhadoresConsultasData.DATA, data ); + consulta.set( TrabalhadoresConsultasData.DATA, data ); provider.saveConsulta( consulta ); - notifyListeners( ProcessoEvent.ACCAO_MUDAR_ESTADO_MARCACAO ); + if( consultaData == null ) + { + Integer consultaID = ( Integer )consulta.get( TrabalhadoresConsultasDatasData.ID ); + Integer consultaDataID = provider.getLastConsultaDataIDForConsulta( consultaID ); + if( consultaDataID == null ) + { + consultaData = new TrabalhadoresConsultasDatasData(); + consultaData.set( TrabalhadoresConsultasDatasData.TRABALHADORES_CONSULTAS_ID, consultaID ); + consultaData.set( TrabalhadoresConsultasDatasData.ESTADO, new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ); + } + else + { + consultaData = provider.getConsultaDataByID( consultaDataID ); + } + } + consultaData.set( TrabalhadoresConsultasDatasData.DATA, data ); + provider.saveConsultaData( consultaData ); + + notifyListeners( ProcessoEvent.ACCAO_MUDAR_DATA_MARCACAO ); } catch( Exception ex ) { DialogException.showExceptionMessage( ex, "Erro a gravar dados da consulta", true ); return; } - } } @@ -203,6 +220,7 @@ public class ConsultaPanel extends JPanel dataConsultaPanel.setDate( null ); estadoButton.setText( " " ); consulta = null; + consultaData = null; } public void fill( Object value ) diff --git a/trunk/siprp/medicina/processo/estrutura/EstruturaProcessoPanel.java b/trunk/siprp/medicina/processo/estrutura/EstruturaProcessoPanel.java index 2d6c8281..d1a7c51a 100644 --- a/trunk/siprp/medicina/processo/estrutura/EstruturaProcessoPanel.java +++ b/trunk/siprp/medicina/processo/estrutura/EstruturaProcessoPanel.java @@ -195,12 +195,6 @@ public class EstruturaProcessoPanel extends JPanel { consultaNode = new ConsultaMutableTreeNode( id, desc ); consultaNode.setData( data ); -// DataMutableTreeNode dataNode = new DataMutableTreeNode( new Integer( 1 ), "2006/01/01 - Desmarcado pelo trabalhador" ); -// dataNode.add( new ObservacoesMutableTreeNode( new Integer( 25 ), "N\u00e3o podia vir neste dia" ) ); -// dataNode.add( new MailMutableTreeNode( new Integer( 25 ), "2006/01/01 - fpalma@evolute.pt - Aviso de MArca\u00e7\u00e3o" ) ); -// consultaNode.add( dataNode ); -// dataNode = new DataMutableTreeNode( new Integer( 1 ), "2006/01/01 - Realizado" ); -// consultaNode.add( dataNode ); } else { @@ -209,7 +203,19 @@ public class EstruturaProcessoPanel extends JPanel consultaNode.setDescricao( desc ); consultaNode.setData( data ); } - ( ( DefaultTreeModel ) mainTree.getModel() ).nodeStructureChanged( rootNode ); + consultaNode.removeAllChildren(); + Object datas[][] = provider.getDatasConsulta( id ); + for( int n = 0; n < datas.length; n++ ) + { + Integer dataID = ( Integer ) datas[ n ][ 0 ]; + Date dataData = ( Date ) datas[ n ][ 1 ]; + 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 ) ); + } + + ( ( DefaultTreeModel ) mainTree.getModel() ).nodeStructureChanged( consultaNode ); return consultaNode; } @@ -251,35 +257,38 @@ public class EstruturaProcessoPanel extends JPanel for( int n = 0; components != null && n < components.length; n++ ) { Integer id = ( ( EstruturaProcessoMutableTreeNode ) components[ n ] ).getID(); - if( components[ components.length - 1 ] instanceof ProcessoMutableTreeNode ) +System.out.println( id ); + if( components[ n ] instanceof ProcessoMutableTreeNode ) { + System.out.println( "Processo: " + id ); ids.put( ProcessoEvent.TIPO_PROCESSO, id ); } - else if( components[ components.length - 1 ] instanceof ConsultaMutableTreeNode ) + else if( components[ n ] instanceof ConsultaMutableTreeNode ) { ids.put( ProcessoEvent.TIPO_CONSULTA, id ); } - else if( components[ components.length - 1 ] instanceof ECDsMutableTreeNode ) + else if( components[ n ] instanceof ECDsMutableTreeNode ) { ids.put( ProcessoEvent.TIPO_ECDS, id ); } - else if( components[ components.length - 1 ] instanceof FichaAptidaoMutableTreeNode ) + else if( components[ n ] instanceof FichaAptidaoMutableTreeNode ) { ids.put( ProcessoEvent.TIPO_FICHA_APTIDAO, id ); } - else if( components[ components.length - 1 ] instanceof DataMutableTreeNode ) + else if( components[ n ] instanceof DataMutableTreeNode ) { ids.put( ProcessoEvent.TIPO_DATA, id ); } - else if( components[ components.length - 1 ] instanceof ObservacoesMutableTreeNode ) + else if( components[ n ] instanceof ObservacoesMutableTreeNode ) { ids.put( ProcessoEvent.TIPO_OBSERVACOES, id ); } - else if( components[ components.length - 1 ] instanceof MailMutableTreeNode ) + else if( components[ n ] instanceof MailMutableTreeNode ) { ids.put( ProcessoEvent.TIPO_MAIL, id ); } } + System.out.println( ids ); ProcessoEvent event = new ProcessoEvent( this, tipo, ids ); for( int n = 0; n < PROCESSO_LISTENERS.size(); n++ ) { @@ -342,10 +351,15 @@ public class EstruturaProcessoPanel extends JPanel public void actualizarMarcacaoEscolhida( Integer processoID, Integer marcacaoID ) throws Exception { - actualizarProcessoEscolhido( processoID ); TreePath path = mainTree.getSelectionPath(); ProcessoMutableTreeNode processoNode = ( ProcessoMutableTreeNode ) path.getPathComponent( 1 ); - ( ( DefaultTreeModel ) mainTree.getModel() ).nodeStructureChanged( processoNode ) ; + int countOld = processoNode.getChildCount(); + actualizarProcessoEscolhido( processoID ); + int count = processoNode.getChildCount(); + if( count > countOld ) + { + ( ( DefaultTreeModel ) mainTree.getModel() ).nodesWereInserted( processoNode, new int[]{ countOld } ) ; + } // TreePath path = mainTree.getSelectionPath(); // MarcacaoMutableTreeNode processoNode = ( ProcessoMutableTreeNode ) path.getPathComponent( 1 ); // boolean vazio = processoNode.getID().intValue() == -1;