diff --git a/trunk/siprp/medicina/processo/ProcessoController.java b/trunk/siprp/medicina/processo/ProcessoController.java index b37bb0d9..4d175b64 100644 --- a/trunk/siprp/medicina/processo/ProcessoController.java +++ b/trunk/siprp/medicina/processo/ProcessoController.java @@ -286,6 +286,7 @@ public class ProcessoController try { idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); + estruturaProcessoPanel.actualizarProcessoEscolhido( idProcesso ); } catch( Exception ex ) { diff --git a/trunk/siprp/medicina/processo/ProcessoPanel.java b/trunk/siprp/medicina/processo/ProcessoPanel.java index 2c012a3a..881db9b3 100644 --- a/trunk/siprp/medicina/processo/ProcessoPanel.java +++ b/trunk/siprp/medicina/processo/ProcessoPanel.java @@ -161,6 +161,7 @@ public class ProcessoPanel extends JPanel try { provider.saveProcesso( processo ); + return true; } catch( Exception ex ) @@ -207,6 +208,28 @@ public class ProcessoPanel extends JPanel protected void fecharProcesso() { + String options[] = new String[]{ "N\u00e3o", "Sim" }; + int option = JOptionPane.showOptionDialog( owner, + "Tem a certeza que quer fechar o processo sem Ficha de Aptid\u00e3o?", + "Fechar", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, + getIcon( FECHAR_ICON_PATH ), options, options[ 0 ] ); + if( option == 1 ) + { + processo.set( TrabalhadoresProcessoData.ESTADO, PROCESSO_FECHADO_CODE ); + processo.set( TrabalhadoresProcessoData.DATA_FIM, new Date() ); + if( gravarProcesso() ) + { + enableButtons(); + HashMap ids = new HashMap(); + ids.put( ProcessoEvent.TIPO_PROCESSO, ( Integer ) processo.get( TrabalhadoresProcessoData.ID ) ); + ProcessoEvent event = new ProcessoEvent( this, ProcessoEvent.ACCAO_FECHAR, ids ); + for( int n = 0; n < PROCESSO_LISTENERS.size(); n++ ) + { + PROCESSO_LISTENERS.get( n ).processoStateChanged( event ); + } + reload(); + } + } } public void clear()