From 82e8d1d03193c4ad500d6f747bd6e498552d5c11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiago=20Sim=C3=A3o?= Date: Fri, 27 Jun 2008 09:19:29 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@730 bb69d46d-e84e-40c8-a05a-06db0d633741 --- trunk/SIPRPSoft/src/leaf/LeafLogic.java | 8 + trunk/SIPRPSoft/src/leaf/LeafWindow.java | 4 + .../src/siprp/SingletonConstants.java | 2 + .../ClinicaAvenidaDataLoader.java | 2 + .../cayenne/providers/MedicinaDAO.java | 9 + .../src/siprp/lembretes/LembretesWindow.java | 3 +- .../externos/ExternosActionFactory.java | 54 +++ .../LembretesExternosDataProvider.java | 141 ++++++ .../externos/LembretesExternosPanel.java | 69 +++ .../externos/actions/TratarExternoAction.java | 101 +++++ ...ratarCriacaoProcessoTrabalhadorAction.java | 0 .../processo/EscolherMotivoDialog.java | 183 -------- .../medicina/processo/ProcessoController.java | 405 ----------------- .../medicina/processo/ProcessoEvent.java | 74 ---- .../medicina/processo/ProcessoListener.java | 19 - .../medicina/processo/ProcessoPanel.java | 413 ------------------ .../medicina/processo/ProcessoUpperPanel.java | 254 ----------- .../medicina/processo/ProcessoWindow.java | 104 ----- .../processo/detalhes/DataConsultaPanel.java | 367 ---------------- .../detalhes/DetalhesConsultaPanel.java | 145 ------ .../detalhes/DetalhesProcessoPanel.java | 198 --------- .../processo/detalhes/ECDsInfoPanel.java | 30 -- .../medicina/processo/detalhes/ECDsPanel.java | 360 --------------- .../processo/detalhes/EstadoChooser.java | 96 ---- .../processo/detalhes/ObservacoesDialog.java | 116 ----- .../processo/detalhes/ProcessoInfoPanel.java | 229 ---------- .../processo/logic/MedicinaProcessoLogic.java | 95 ++-- .../processo/ui/MedicinaProcessoWindow.java | 64 ++- .../processo/ui/ProcessoAccoesPanel.java | 16 +- .../processo/ui/ProcessoDadosPanel.java | 64 ++- 30 files changed, 559 insertions(+), 3066 deletions(-) create mode 100755 trunk/SIPRPSoft/src/siprp/lembretes/externos/ExternosActionFactory.java create mode 100755 trunk/SIPRPSoft/src/siprp/lembretes/externos/LembretesExternosDataProvider.java create mode 100755 trunk/SIPRPSoft/src/siprp/lembretes/externos/LembretesExternosPanel.java create mode 100755 trunk/SIPRPSoft/src/siprp/lembretes/externos/actions/TratarExternoAction.java mode change 100755 => 100644 trunk/SIPRPSoft/src/siprp/lembretes/marcacoes/actions/TratarCriacaoProcessoTrabalhadorAction.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/EscolherMotivoDialog.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoController.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoEvent.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoListener.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoPanel.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoUpperPanel.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoWindow.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DataConsultaPanel.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesConsultaPanel.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesProcessoPanel.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ECDsInfoPanel.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ECDsPanel.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/EstadoChooser.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ObservacoesDialog.java delete mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ProcessoInfoPanel.java diff --git a/trunk/SIPRPSoft/src/leaf/LeafLogic.java b/trunk/SIPRPSoft/src/leaf/LeafLogic.java index cea43184..70862b5a 100755 --- a/trunk/SIPRPSoft/src/leaf/LeafLogic.java +++ b/trunk/SIPRPSoft/src/leaf/LeafLogic.java @@ -91,5 +91,13 @@ public class LeafLogic window.runActionLater( actionName ); } } + + public void runActionLater( String actionName, Object argument ) + { + for( LeafWindow window : registeredWindows ) + { + window.runActionLater( actionName, argument ); + } + } } diff --git a/trunk/SIPRPSoft/src/leaf/LeafWindow.java b/trunk/SIPRPSoft/src/leaf/LeafWindow.java index 76cdfbf3..5103a0fd 100755 --- a/trunk/SIPRPSoft/src/leaf/LeafWindow.java +++ b/trunk/SIPRPSoft/src/leaf/LeafWindow.java @@ -574,6 +574,10 @@ public class LeafWindow extends JFrame implements TrackableWindow, ListSelection if( action.isSave() ) { Object windowArgument = getObjectForAction( actionName ); + if( windowArgument == null ) + { + windowArgument = argument; + } Object logicArgument = windowArgument; for( Method currentWindowMethod : mapWindowMethodsByActionName.get( actionName ) ) { diff --git a/trunk/SIPRPSoft/src/siprp/SingletonConstants.java b/trunk/SIPRPSoft/src/siprp/SingletonConstants.java index 6f8cdbc1..6d2170fc 100644 --- a/trunk/SIPRPSoft/src/siprp/SingletonConstants.java +++ b/trunk/SIPRPSoft/src/siprp/SingletonConstants.java @@ -19,6 +19,8 @@ public class SingletonConstants public static final String COMPANY_ACRONYM = "company_acronym"; public static final String SUBJECT_CONSULTA = "subject_consulta"; public static final String LETTER_CONSULTA = "letter_consulta"; + public static final String SUBJECT_CONSULTA_VACINAS = "subject_consulta_vacinas"; + public static final String LETTER_CONSULTA_VACINAS = "letter_consulta_vacinas"; public static final String SUBJECT_EXAMES = "subject_exames"; public static final String LETTER_EXAMES = "letter_exames"; public static final String SUBJECT_VISITA = "subject_visita"; diff --git a/trunk/SIPRPSoft/src/siprp/companydataloaders/ClinicaAvenidaDataLoader.java b/trunk/SIPRPSoft/src/siprp/companydataloaders/ClinicaAvenidaDataLoader.java index 89dbdca8..abe74e70 100644 --- a/trunk/SIPRPSoft/src/siprp/companydataloaders/ClinicaAvenidaDataLoader.java +++ b/trunk/SIPRPSoft/src/siprp/companydataloaders/ClinicaAvenidaDataLoader.java @@ -28,6 +28,8 @@ public class ClinicaAvenidaDataLoader implements CompanyDataLoader Singleton.setInstance( SingletonConstants.COMPANY_NAME, "Centro Cl\u00ednico Avenida" ); Singleton.setInstance( SingletonConstants.COMPANY_LOGO, "logo_evo.jpg" ); Singleton.setInstance( SingletonConstants.COMPANY_ACRONYM, "CCA" ); + Singleton.setInstance( SingletonConstants.SUBJECT_CONSULTA_VACINAS, "" ); + Singleton.setInstance( SingletonConstants.LETTER_CONSULTA_VACINAS, "" ); Singleton.setInstance( SingletonConstants.SUBJECT_CONSULTA, "Centro Cl\u00ednico da Avenida - Marca\u00e7\u00e3o de consulta m\u00e9dica" ); Singleton.setInstance( SingletonConstants.LETTER_CONSULTA, "Vimos por este meio informar que " + NOME + " " + "dever\u00e1 comparecer no Centro Cl\u00ednico da Avenida para a realiza\u00e7\u00e3o da " diff --git a/trunk/SIPRPSoft/src/siprp/database/cayenne/providers/MedicinaDAO.java b/trunk/SIPRPSoft/src/siprp/database/cayenne/providers/MedicinaDAO.java index 93cdf6c7..ec0f2f62 100644 --- a/trunk/SIPRPSoft/src/siprp/database/cayenne/providers/MedicinaDAO.java +++ b/trunk/SIPRPSoft/src/siprp/database/cayenne/providers/MedicinaDAO.java @@ -12,6 +12,7 @@ import org.apache.cayenne.query.SelectQuery; import siprp.database.cayenne.objects.BaseObject; import siprp.database.cayenne.objects.Empresas; +import siprp.database.cayenne.objects.LembretesTipos; import siprp.database.cayenne.objects.Prestadores; import siprp.database.cayenne.objects.PrtGruposProtocolo; import siprp.database.cayenne.objects.Trabalhadores; @@ -20,6 +21,7 @@ import siprp.database.cayenne.objects.TrabalhadoresEcd; import siprp.database.cayenne.objects.TrabalhadoresEcdsDatas; import siprp.database.cayenne.objects.TrabalhadoresFichasAptidao; import siprp.database.cayenne.objects.TrabalhadoresProcesso; +import siprp.lembretes.LembretesConstants; import siprp.medicina.MedicinaConstants; import siprp.medicina.processo.ProcessoConstants; @@ -42,6 +44,12 @@ public class MedicinaDAO extends MainDAO implements MedicinaConstants { return (TrabalhadoresEcdsDatas) DataObjectUtils.objectForPK( context, TrabalhadoresEcdsDatas.class, id ); } + + + public LembretesTipos getTipoLembretesCustomizavel( ) + { + return (LembretesTipos) DataObjectUtils.objectForPK( context, LembretesTipos.class, 1 ); + } public List getAllEmpresas() { @@ -123,4 +131,5 @@ public class MedicinaDAO extends MainDAO implements MedicinaConstants return resultMap.values(); } + } diff --git a/trunk/SIPRPSoft/src/siprp/lembretes/LembretesWindow.java b/trunk/SIPRPSoft/src/siprp/lembretes/LembretesWindow.java index a3940a88..b8192190 100644 --- a/trunk/SIPRPSoft/src/siprp/lembretes/LembretesWindow.java +++ b/trunk/SIPRPSoft/src/siprp/lembretes/LembretesWindow.java @@ -36,6 +36,7 @@ import javax.swing.event.ListSelectionListener; import siprp.database.cayenne.objects.Empresas; import siprp.database.cayenne.objects.Estabelecimentos; import siprp.database.cayenne.providers.MedicinaDAO; +import siprp.lembretes.externos.LembretesExternosPanel; import siprp.lembretes.marcacoes.LembretesMarcacaoPanel; import siprp.lembretes.remarcacoes.LembretesRemarcacaoPanel; @@ -277,7 +278,7 @@ public class LembretesWindow extends JFrame TipoLembrete tipo = provider.getTipoLembreteByID( tipoID ); if( CODE_EXTERNO.equals( tipo.getCodigo() ) ) { - + lembretesPanel.add( new LembretesExternosPanel( empresaID, estabelecimentoID ) ); } if( CODE_REMARCACOES.equals( tipo.getCodigo() ) ) { diff --git a/trunk/SIPRPSoft/src/siprp/lembretes/externos/ExternosActionFactory.java b/trunk/SIPRPSoft/src/siprp/lembretes/externos/ExternosActionFactory.java new file mode 100755 index 00000000..eea41d52 --- /dev/null +++ b/trunk/SIPRPSoft/src/siprp/lembretes/externos/ExternosActionFactory.java @@ -0,0 +1,54 @@ +/* + * RemarcacoesActionFactory.java + * + * Created on January 31, 2007, 6:37 PM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package siprp.lembretes.externos; + +import javax.swing.Action; + +import siprp.lembretes.externos.actions.TratarExternoAction; + +import com.evolute.utils.data.IDObject; +import com.evolute.utils.ui.panel.multipleactionlist.ActionFactory; + +/** + * + * @author fpalma + */ +public class ExternosActionFactory implements ActionFactory +{ + public static final int TRABALHADOR = 0; + + protected final int TIPO; + + /** + * Creates a new instance of RemarcacoesActionFactory + */ + public ExternosActionFactory( int tipo ) + { + TIPO = tipo; + } + + public Action createAction(IDObject[] objects) + { + return null; + } + + public Action createAction(IDObject object) + { + switch( TIPO ) + { + case TRABALHADOR: + return new TratarExternoAction( object ); + + default: + return null; + } + } + +} diff --git a/trunk/SIPRPSoft/src/siprp/lembretes/externos/LembretesExternosDataProvider.java b/trunk/SIPRPSoft/src/siprp/lembretes/externos/LembretesExternosDataProvider.java new file mode 100755 index 00000000..d80b1baf --- /dev/null +++ b/trunk/SIPRPSoft/src/siprp/lembretes/externos/LembretesExternosDataProvider.java @@ -0,0 +1,141 @@ +/* + * RemarcacoesDataProvider.java + * + * Created on February 14, 2007, 10:56 AM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package siprp.lembretes.externos; + +import java.text.DateFormat; +import java.util.Date; +import java.util.Locale; + +import siprp.lembretes.LembretesConstants; +import siprp.lembretes.LembretesDataProvider; + +import com.evolute.utils.Singleton; +import com.evolute.utils.arrays.Virtual2DArray; +import com.evolute.utils.data.IDObject; +import com.evolute.utils.data.MappableObject; +import com.evolute.utils.db.DBManager; +import com.evolute.utils.db.Executer; +import com.evolute.utils.sql.Expression; +import com.evolute.utils.sql.Field; +import com.evolute.utils.sql.Select; +import com.evolute.utils.sql.Select2; + +/** + * + * @author lflores + */ +public class LembretesExternosDataProvider +{ + private static final DateFormat D_F = DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "pt", "PT" ) ); + + private static final Object LOCK = new Object(); + private static LembretesExternosDataProvider instance = null; + + private Executer EXECUTER; + private LembretesDataProvider lembretesProvider; + + /** Creates a new instance of RemarcacoesDataProvider */ + public LembretesExternosDataProvider() + throws Exception + { + DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER ); + EXECUTER = dbm.getSharedExecuter( this ); + lembretesProvider = LembretesDataProvider.getProvider(); + } + + public static LembretesExternosDataProvider getProvider() + throws Exception + { + synchronized( LOCK ) + { + if( instance == null ) + { + instance = new LembretesExternosDataProvider(); + } + } + return instance; + } + + private Expression whereExpressionLembretesRemarcacao( Integer empresaID, Integer estabelecimentoID ) throws Exception + { + Expression result = new Field( "lembretes.tipo_id" ).isEqual( + lembretesProvider.getTipoLembreteByCodigo( LembretesConstants.CODE_EXTERNO ).getID() ).and( + new Field( "lembretes.data" ).isLessOrEqual( new Field( "current_date" ) ) ).and( + new Field( "lembretes.deleted_date" ).isEqual( null ) ); + if( empresaID != null ) + { + result = result.and( new Field("empresas.id").isEqual( empresaID ) ); + if( estabelecimentoID != null ) + { + result = result.and( new Field("estabelecimentos.id").isEqual( estabelecimentoID ) ); + } + } + return result; + } + + public IDObject[] getLembretesMarcacaoTrabalhador( Integer empresaID, Integer estabelecimentoID ) + throws Exception + { + Select select = + new Select2( new String[]{ "lembretes", "marcacoes_trabalhador", "trabalhadores", + "estabelecimentos", "empresas", "trabalhadores_consultas_datas", "trabalhadores_ecds_datas"}, + new Integer [] { + Select2.JOIN_LEFT_OUTER, Select2.JOIN_LEFT_OUTER, + Select2.JOIN_LEFT_OUTER, Select2.JOIN_LEFT_OUTER, + Select2.JOIN_LEFT_OUTER, Select2.JOIN_LEFT_OUTER + }, + new Expression[]{ + new Field( "lembretes.marcacao_trabalhador_id" ).isEqual( new Field( "marcacoes_trabalhador.id" ) ),/*.or( + new Field( "lembretes.trabalhadores_consultas_datas_id" ).isEqual( new Field( "trabalhadores_consultas_datas.id" ) ) + ).or( + new Field( "lembretes.trabalhadores_ecds_datas_id" ).isEqual( new Field( "trabalhadores_ecds_datas.id" ) ) + ), + */ + new Field( "marcacoes_trabalhador.trabalhador_id" ).isEqual( new Field( "trabalhadores.id" ) ).or( new Field( "lembretes.trabalhador_id" ).isEqual( new Field( "trabalhadores.id" ) ) ), + new Field( "trabalhadores.estabelecimento_id" ).isEqual( new Field( "estabelecimentos.id" ) ), + new Field( "estabelecimentos.empresa_id" ).isEqual( new Field( "empresas.id" ) ), + new Field( "lembretes.trabalhadores_consultas_datas_id" ).isEqual( new Field( "trabalhadores_consultas_datas.id" ) ), + new Field( "lembretes.trabalhadores_ecds_datas_id" ).isEqual( new Field( "trabalhadores_ecds_datas.id" ) ) + }, + new String[]{ "lembretes.id", "lembretes.descricao", + "marcacoes_trabalhador.tipo", "lembretes.data", + "trabalhadores.nome", "estabelecimentos.nome", "empresas.designacao_social", + "trabalhadores.nome_plain" }, + whereExpressionLembretesRemarcacao( empresaID, estabelecimentoID ), + new String[]{ "trabalhadores.nome_plain" }, + null, + null, + null + ); + Virtual2DArray array = EXECUTER.executeQuery( select ); + IDObject lembretes[] = new IDObject[ array.columnLength() ]; + for( int n = 0; n < lembretes.length; n++ ) + { + Integer id = ( Integer ) array.get( n, 0 ); + String descricao = ( String ) array.get( n, 1 ); + Date data = ( Date ) array.get( n, 3 ); + + String trabalhador = ( String ) array.get( n, 4 ); + String split[] = trabalhador.split( " " ); + trabalhador = split[ 0 ] + " " + ( split.length > 2 ? split[ 1 ].charAt( 0 ) + ". " : " " ) + + ( split.length > 1 ? split[ split.length - 1 ] : "" ); + String estabelecimento = ( String ) array.get( n, 5 ); + String empresa = ( String ) array.get( n, 6 ); + String str = "" + trabalhador + "" + + "
   " + "" + " de " + D_F.format( data ) + + "
   " + descricao + "" + + "
   " + empresa.substring( 0, empresa.length() > 20 ? 20 : empresa.length() ) + + " / " + estabelecimento.substring( 0, estabelecimento.length() > 10 ? 10 : estabelecimento.length() ) + + ""; + lembretes[ n ] = new MappableObject( id, str ); + } + return lembretes; + } +} diff --git a/trunk/SIPRPSoft/src/siprp/lembretes/externos/LembretesExternosPanel.java b/trunk/SIPRPSoft/src/siprp/lembretes/externos/LembretesExternosPanel.java new file mode 100755 index 00000000..015f4cd5 --- /dev/null +++ b/trunk/SIPRPSoft/src/siprp/lembretes/externos/LembretesExternosPanel.java @@ -0,0 +1,69 @@ +/* + * LembretesRemarcacaoPanel.java + * + * Created on 13 de Fevereiro de 2007, 23:24 + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package siprp.lembretes.externos; + +import java.awt.BorderLayout; +import java.awt.GridLayout; + +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; + +import siprp.lembretes.LembretesConstants; + +import com.evolute.utils.jdo.JDOProvider; +import com.evolute.utils.ui.panel.multipleactionlist.MultipleActionListPanel; + + +public class LembretesExternosPanel extends JPanel + implements LembretesConstants +{ + protected JScrollPane listTrabalhadoresScroll; + protected MultipleActionListPanel listTrabalhadoresPanel; + + protected LembretesExternosDataProvider provider; + + private final Integer empresaID; + private final Integer estabelecimentoID; + + private JDOProvider JDO; + + /** Creates a new instance of LembretesRemarcacaoPanel */ + public LembretesExternosPanel( Integer empresaID, Integer estabelecimentoID ) + throws Exception + { + this.empresaID = empresaID; + this.estabelecimentoID = estabelecimentoID; + provider = LembretesExternosDataProvider.getProvider(); + setupComponents(); + } + + private void setupComponents() + throws Exception + { + listTrabalhadoresPanel = + new MultipleActionListPanel( + new ExternosActionFactory[]{ }, + new ExternosActionFactory[]{ new ExternosActionFactory( ExternosActionFactory.TRABALHADOR ) } ); + listTrabalhadoresScroll = + new JScrollPane( listTrabalhadoresPanel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, + JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); + setLayout( new GridLayout( 1, 2 ) ); + JPanel trabalhadoresPanel = new JPanel(); + add( trabalhadoresPanel ); + + trabalhadoresPanel.setLayout( new BorderLayout() ); + trabalhadoresPanel.add( new JLabel( "Consultas / ECDs", JLabel.CENTER ), BorderLayout.NORTH ); + trabalhadoresPanel.add( listTrabalhadoresScroll, BorderLayout.CENTER ); + + listTrabalhadoresPanel.showList( provider.getLembretesMarcacaoTrabalhador( empresaID, estabelecimentoID ) ); +// listEstabelecimentosPanel.showList( estabelecimentos.toArray( new IDObject[ estabelecimentos.size() ] ) ); + } +} diff --git a/trunk/SIPRPSoft/src/siprp/lembretes/externos/actions/TratarExternoAction.java b/trunk/SIPRPSoft/src/siprp/lembretes/externos/actions/TratarExternoAction.java new file mode 100755 index 00000000..0dfb296a --- /dev/null +++ b/trunk/SIPRPSoft/src/siprp/lembretes/externos/actions/TratarExternoAction.java @@ -0,0 +1,101 @@ +/* + * TratarMarcacaoTrabalhadorAction.java + * + * Created on January 31, 2007, 6:21 PM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package siprp.lembretes.externos.actions; + +import java.awt.event.ActionEvent; + +import javax.swing.AbstractAction; +import javax.swing.JOptionPane; + +import siprp.SIPRPTracker; +import siprp.SingletonConstants; +import siprp.database.cayenne.objects.Empresas; +import siprp.database.cayenne.objects.Estabelecimentos; +import siprp.database.cayenne.objects.Trabalhadores; +import siprp.database.cayenne.providers.MedicinaDAO; +import siprp.lembretes.Lembrete; +import siprp.lembretes.LembretesDataProvider; +import siprp.medicina.processo.logic.MedicinaProcessoLogic; +import siprp.medicina.processo.ui.MedicinaProcessoWindow; + +import com.evolute.utils.Singleton; +import com.evolute.utils.data.IDObject; +import com.evolute.utils.ui.DialogException; + +/** + * + * @author fpalma + */ +public class TratarExternoAction extends AbstractAction +{ + private LembretesDataProvider lembretesProvider; + private SIPRPTracker tracker; + + private Integer lembreteID; + + private MedicinaDAO medicinaDAO = new MedicinaDAO(); + + /** + * Creates a new instance of TratarMarcacaoTrabalhadorAction + */ + public TratarExternoAction(IDObject lembrete) + { + super( "Tratar" ); + try + { + lembreteID = lembrete.getID(); + lembretesProvider = LembretesDataProvider.getProvider(); + } catch( Exception ex ) + { + ex.printStackTrace(); + } + } + + public void actionPerformed( ActionEvent e ) + { + try + { + tracker = (SIPRPTracker) Singleton.getInstance( SingletonConstants.SIPRP_TRACKER ); + Lembrete lembrete = lembretesProvider.getLembreteByID( lembreteID ); + boolean irParaProcessos = false; + if( lembrete == null ) + { + JOptionPane.showMessageDialog( null, "Este lembrete j\u00e1 foi tratado.", "J\u00e1 tratado", JOptionPane.WARNING_MESSAGE ); + return; + } + else + { + irParaProcessos = JOptionPane.showConfirmDialog( null, "Deseja visualizar os processos deste trabalhador?", "Abrir Processos", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE ) == JOptionPane.OK_OPTION; + } + if( irParaProcessos ) + { + Trabalhadores trabalhador = null; + Estabelecimentos estabelecimento = null; + Empresas empresa = null; + trabalhador = medicinaDAO.getTrabalhadorByID( lembrete.getTrabalhadorID() ); + estabelecimento = trabalhador.getToEstabelecimentos(); + empresa = estabelecimento.getToEmpresas(); + MedicinaProcessoWindow window = tracker.getMedicinaProcessoWindow(); + + window.runActionLater( MedicinaProcessoLogic.SELECT_EMPRESA, empresa ); + window.runActionLater( MedicinaProcessoLogic.SELECT_ESTABELECIMENTO, estabelecimento ); + window.runActionLater( MedicinaProcessoLogic.LOAD_TRABALHADOR, trabalhador ); + window.runActionLater( MedicinaProcessoLogic.SELECT_TRABALHADOR, trabalhador ); + window.runPendingActions(); + window.setVisible( true ); + } + lembretesProvider.apagarLembreteByID( lembreteID ); + } catch( Exception ex ) + { + DialogException.showExceptionMessage( ex, "Erro a tratar", true ); + } + } + +} diff --git a/trunk/SIPRPSoft/src/siprp/lembretes/marcacoes/actions/TratarCriacaoProcessoTrabalhadorAction.java b/trunk/SIPRPSoft/src/siprp/lembretes/marcacoes/actions/TratarCriacaoProcessoTrabalhadorAction.java old mode 100755 new mode 100644 diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/EscolherMotivoDialog.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/EscolherMotivoDialog.java deleted file mode 100644 index 1f9f83c5..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/EscolherMotivoDialog.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * EscolherMotivoDialog.java - * - * Created on 13 de Maio de 2007, 22:16 - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo; - -import com.evolute.utils.data.IDObject; -import com.evolute.utils.data.MappableObject; -import com.evolute.utils.ui.CustomJDialog; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.HashMap; -import javax.swing.AbstractButton; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JToggleButton; -import javax.swing.SwingUtilities; -import siprp.medicina.MedicinaConstants; - -/** - * - * @author Frederico - */ -public class EscolherMotivoDialog extends CustomJDialog - implements ActionListener, MedicinaConstants -{ - protected IDObject MOTIVOS[] = - new IDObject[]{ - new MappableObject( MOTIVO_ADMISSAO_INTEGER, MOTIVO_ADMISSAO_STR ), - new MappableObject( MOTIVO_PERIODICO_INTEGER, MOTIVO_PERIODICO_STR ), - new MappableObject( MOTIVO_PERIODICO_INICIAL_INTEGER, MOTIVO_PERIODICO_INICIAL_STR ), - new MappableObject( MOTIVO_OCASIONAL_INTEGER, MOTIVO_OCASIONAL_STR ) - }; - - protected IDObject SUB_MOTIVOS[][] = - new IDObject[][]{ - {}, - {}, - {}, - { new MappableObject( SUB_MOTIVO_APOS_DOENCA_INTEGER, SUB_MOTIVO_APOS_DOENCA_STR ), - new MappableObject( SUB_MOTIVO_APOS_ACIDENTE_INTEGER, SUB_MOTIVO_APOS_ACIDENTE_STR ), - new MappableObject( SUB_MOTIVO_PEDIDO_TRABALHADOR_INTEGER, SUB_MOTIVO_PEDIDO_TRABALHADOR_STR ), - new MappableObject( SUB_MOTIVO_PEDIDO_SERVICO_INTEGER, SUB_MOTIVO_PEDIDO_SERVICO_STR ), - new MappableObject( SUB_MOTIVO_MUDANCA_FUNCAO_INTEGER, SUB_MOTIVO_MUDANCA_FUNCAO_STR ), - new MappableObject( SUB_MOTIVO_ALTERACAO_CONDICOES_INTEGER, SUB_MOTIVO_ALTERACAO_CONDICOES_STR ), - new MappableObject( SUB_MOTIVO_OUTRO_INTEGER, SUB_MOTIVO_OUTRO_STR ) - } - }; - - protected AbstractButton motivoButtons[]; - protected HashMap subMotivoButtons; - protected HashMap motivoButtonIDs; - protected HashMap subMotivoButtonIDs; - protected JPanel motivoPanel; - protected JPanel subMotivoPanel; - - protected Integer motivoTemp; - protected Integer motivo; - protected Integer subMotivo; - - /** Creates a new instance of EscolherMotivoDialog */ - public EscolherMotivoDialog( JFrame owner ) - { - super( owner, true ); - setupComponents(); - - if( owner != null ) - { - centerSuper(); - } - else - { - center(); - } - } - - private void setupComponents() - { - setTitle( "Escolher Motivo" ); - setLayout( new FlowLayout( FlowLayout.LEFT ) ); - motivoButtons = new JToggleButton[ MOTIVOS.length ]; - subMotivoButtons = new HashMap(); - motivoButtonIDs = new HashMap(); - subMotivoButtonIDs = new HashMap(); - for( int m = 0; m < MOTIVOS.length; m++ ) - { - JToggleButton motivoButton = new JToggleButton( MOTIVOS[ m ].toString() ); - motivoButton.addActionListener( this ); - motivoButtonIDs.put( motivoButton, MOTIVOS[ m ].getID() ); - motivoButton.setPreferredSize( new Dimension( 250, 20 ) ); - motivoButtons[ m ] = motivoButton; - if( SUB_MOTIVOS[ m ].length > 0 ) - { - JButton subButtons[] = new JButton[ SUB_MOTIVOS[ m ].length ]; - for( int sm = 0; sm < SUB_MOTIVOS[ m ].length; sm++ ) - { - JButton subButton = new JButton( SUB_MOTIVOS[ m ][ sm ].toString() ); - subMotivoButtonIDs.put( subButton, SUB_MOTIVOS[ m ][ sm ].getID() ); - subButtons[ sm ] = subButton; - subButton.setPreferredSize( new Dimension( 300, 20 ) ); - subButton.addActionListener( this ); - } - subMotivoButtons.put( motivoButton, subButtons ); - } - else - { - subMotivoButtons.put( motivoButton, null ); - } - } - motivoPanel = new JPanel(); - subMotivoPanel = new JPanel(); - - motivoPanel.setLayout( new GridLayout( motivoButtons.length + 1, 1 ) ); - for( int n = 0; n < motivoButtons.length; n++ ) - { - motivoPanel.add( motivoButtons[ n ] ); - } - - add( motivoPanel ); - add( subMotivoPanel ); - - pack(); - } - - public void actionPerformed(ActionEvent e) - { - AbstractButton source = ( AbstractButton ) e.getSource(); - if( motivoButtonIDs.containsKey( source ) ) - { - motivoTemp = motivoButtonIDs.get( source ); - } - else if( subMotivoButtonIDs.containsKey( source ) ) - { - motivo = motivoTemp; - subMotivo = subMotivoButtonIDs.get( source ); - close(); - } - if( subMotivoButtons.containsKey( source ) ) - { - JButton subButtons[] = subMotivoButtons.get( source ); - if( subButtons == null || subButtons.length == 0 ) - { - motivo = motivoTemp; - close(); - } - else - { - subMotivoPanel.removeAll(); - subMotivoPanel.setLayout( new GridLayout( 0, 1 ) ); - for( int n = 0; n < subButtons.length; n++ ) - { - subMotivoPanel.add( subButtons[ n ] ); - } - pack(); - } - } - } - - protected void close() - { - SwingUtilities.invokeLater( new Runnable(){ - public void run() - { - setVisible( false ); - dispose(); - } - } ); - } - - public Integer[] getMotivo() - { - return new Integer[]{ motivo, subMotivo }; - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoController.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoController.java deleted file mode 100644 index f0a64f6e..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoController.java +++ /dev/null @@ -1,405 +0,0 @@ - /* - * ProcessoController.java - * - * Created on 25 de Abril de 2007, 15:10 - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo; -// -//import com.evolute.utils.Singleton; -//import com.evolute.utils.data.MappableObject; -//import com.evolute.utils.jdo.JDOProvider; -//import com.evolute.utils.ui.DialogException; -//import javax.swing.event.ListSelectionEvent; -//import javax.swing.event.ListSelectionListener; -//import siprp.data.TrabalhadorData; -//import siprp.medicina.processo.detalhes.DetalhesProcessoPanel; -//import siprp.medicina.processo.estrutura.EstruturaProcessoPanel; -// -///** -// * -// * @author Frederico -// */ -//public class ProcessoController -// implements ProcessoListener, ListSelectionListener -//{ -// protected ProcessoUpperPanel processoUpperPanel; -// protected EstruturaProcessoPanel estruturaProcessoPanel; -// protected ProcessoPanel processoPanel; -// protected DetalhesProcessoPanel detalhesProcessoPanel; -// protected ProcessoDataProvider provider; -// -// protected JDOProvider JDO; -// -// protected Integer idProcesso; -// protected Integer idMarcacao; -// protected Integer idData; -// -// /** Creates a new instance of ProcessoController */ -// public ProcessoController( ProcessoUpperPanel processoUpperPanel, EstruturaProcessoPanel estruturaProcessoPanel, -// ProcessoPanel processoPanel, DetalhesProcessoPanel detalhesProcessoPanel ) -// throws Exception -// { -// this.processoUpperPanel = processoUpperPanel; -// this.estruturaProcessoPanel = estruturaProcessoPanel; -// this.processoPanel = processoPanel; -// this.detalhesProcessoPanel = detalhesProcessoPanel; -// processoUpperPanel.addListSelectionListener( this ); -// estruturaProcessoPanel.addProcessoListener( this ); -// processoPanel.addProcessoListener( this ); -// detalhesProcessoPanel.addProcessoListener( this ); -// -// provider = ProcessoDataProvider.getProvider(); -// JDO = ( JDOProvider ) Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER ); -// } -// -// public void processoStateChanged(ProcessoEvent e) -// { -// int accao = e.getAccao(); -// switch( accao ) -// { -// case ProcessoEvent.ACCAO_RECARREGAR_TRABALHADOR: -// recarregarTrabalhador( e ); -// break; -// -// case ProcessoEvent.ACCAO_ESCOLHER_PROCESSO: -// escolherProcesso( e ); -// break; -// -// case ProcessoEvent.ACCAO_ESCOLHER_CONSULTA: -// escolherConsulta( e ); -// break; -// -// case ProcessoEvent.ACCAO_ESCOLHER_ECDS: -// escolherECDs( e ); -// break; -// -// case ProcessoEvent.ACCAO_ESCOLHER_FA: -// escolherFichaAptidao( e ); -// break; -// -// case ProcessoEvent.ACCAO_ESCOLHER_DATA: -// escolherData( e ); -// break; -// -// case ProcessoEvent.ACCAO_ESCOLHER_OBSERVACOES: -// escolherObservacoes( e ); -// break; -// -// case ProcessoEvent.ACCAO_ESCOLHER_MAIL: -// escolherMail( e ); -// break; -// -// case ProcessoEvent.ACCAO_ESCOLHER_MOTIVO: -// escolherMotivo( e ); -// break; -// -// case ProcessoEvent.ACCAO_MARCAR_CONSULTA: -// marcarConsulta( e ); -// break; -// -// case ProcessoEvent.ACCAO_MARCAR_ECDS: -// marcarECDs( e ); -// break; -// -// case ProcessoEvent.ACCAO_EMITIR_FA: -// emitirFichaAptidao( e ); -// break; -// -// case ProcessoEvent.ACCAO_FECHAR: -// fecharProcesso( e ); -// break; -// -// case ProcessoEvent.ACCAO_MUDAR_ESTADO_MARCACAO: -// mudarEstadoMarcacao( e ); -// break; -// -// case ProcessoEvent.ACCAO_MUDAR_DATA_MARCACAO: -// mudarDataMarcacao( e ); -// break; -// -// case ProcessoEvent.ACCAO_ESCREVER_OBSERVACOES: -// escreverObservacoes( e ); -// break; -// -// case ProcessoEvent.ACCAO_ESCREVER_MAIL: -// escreverMail( e ); -// break; -// -// } -// } -// -// public void recarregarTrabalhador( ProcessoEvent e ) -// { -// idProcesso = null; -// estruturaProcessoPanel.reload(); -// } -// -// public void escolherProcesso( ProcessoEvent e ) -// { -// try -// { -// idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -// processoPanel.fill( idProcesso ); -// detalhesProcessoPanel.clear(); -// detalhesProcessoPanel.setProcessoID( idProcesso ); -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void escolherConsulta( ProcessoEvent e ) -// { -// try -// { -// Integer idProcessoAntigo = idProcesso; -// idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -// processoPanel.fill( idProcesso ); -// detalhesProcessoPanel.setProcessoID( idProcesso ); -// idMarcacao = e.getObjecto( ProcessoEvent.TIPO_CONSULTA ); -// detalhesProcessoPanel.setConsulta( idMarcacao ); -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void escolherECDs( ProcessoEvent e ) -// { -// try -// { -// Integer idProcessoAntigo = idProcesso; -// idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -// processoPanel.fill( idProcesso ); -// detalhesProcessoPanel.setProcessoID( idProcesso ); -// -// idMarcacao = e.getObjecto( ProcessoEvent.TIPO_ECDS ); -// detalhesProcessoPanel.setECDs( idMarcacao ); -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void escolherFichaAptidao( ProcessoEvent e ) -// { -// try -// { -// idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -// Integer idFichaAptidao = e.getObjecto( ProcessoEvent.TIPO_FICHA_APTIDAO ); -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void escolherData( ProcessoEvent e ) -// { -// try -// { -// Integer idProcessoAntigo = idProcesso; -// idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -// 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 ); -// if( idConsulta != null ) -// { -// idMarcacao = idConsulta; -// detalhesProcessoPanel.setConsulta( idConsulta ); -// } -// else if( idECDs != null ) -// { -// idMarcacao = idECDs; -// detalhesProcessoPanel.setECDs( idECDs ); -// } -// else -// { -// idMarcacao = null; -// detalhesProcessoPanel.clear(); -// } -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void escolherObservacoes( ProcessoEvent e ) -// { -// try -// { -// escolherData( e ); -// Integer idObservacoes = e.getObjecto( ProcessoEvent.TIPO_OBSERVACOES ); -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void escolherMail( ProcessoEvent e ) -// { -// try -// { -// escolherData( e ); -// Integer idMail = e.getObjecto( ProcessoEvent.TIPO_MAIL ); -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void escolherMotivo( ProcessoEvent e ) -// { -// try -// { -// idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -// estruturaProcessoPanel.actualizarProcessoEscolhido( idProcesso ); -// detalhesProcessoPanel.setProcessoID( idProcesso ); -// } -// catch( Exception ex ) -// { -// DialogException.showExceptionMessage( ex, "Erro a actualizar dados", true ); -// } -// } -// -// public void marcarConsulta( ProcessoEvent e ) -// { -// try -// { -// idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -// detalhesProcessoPanel.setConsulta( null ); -// -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void marcarECDs( ProcessoEvent e ) -// { -// try -// { -// idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -// detalhesProcessoPanel.setECDs( null ); -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void emitirFichaAptidao( ProcessoEvent e ) -// { -// try -// { -// idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -// estruturaProcessoPanel.actualizarProcessoEscolhido( idProcesso ); -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void fecharProcesso( ProcessoEvent e ) -// { -// try -// { -// idProcesso = e.getObjecto( ProcessoEvent.TIPO_PROCESSO ); -// estruturaProcessoPanel.actualizarProcessoEscolhido( idProcesso ); -// } -// catch( Exception ex ) -// { -// } -// } -// -// public void mudarEstadoMarcacao( 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 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 -// { -// 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 escreverMail( 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 valueChanged(ListSelectionEvent e) -// { -// try -// { -// Integer ids[] = ( Integer [] ) processoUpperPanel.save(); -// Integer trabalhadorID = ids[ 2 ]; -// processoPanel.setTrabalhadorID( trabalhadorID ); -// if( trabalhadorID != null ) -// { -// TrabalhadorData trabalhador = ( TrabalhadorData ) JDO.load( TrabalhadorData.class, trabalhadorID ); -// estruturaProcessoPanel.setTrabalhador( new MappableObject( trabalhadorID, trabalhador.get( TrabalhadorData.NOME ) ) ); -// } -// else -// { -// estruturaProcessoPanel.clear(); -// } -// processoPanel.clear(); -// detalhesProcessoPanel.clear(); -// processoPanel.setTrabalhadorID( trabalhadorID ); -// detalhesProcessoPanel.setTrabalhadorID( trabalhadorID ); -// } -// catch( Exception ex ) -// { -// DialogException.showExceptionMessage( ex, "Erro a carregar trabalhador", true ); -// } -// } -//} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoEvent.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoEvent.java deleted file mode 100644 index aa7ba004..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoEvent.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * ProcessoEvent.java - * - * Created on 25 de Abril de 2007, 10:53 - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo; - -import java.util.HashMap; - -/** - * - * @author Frederico - */ -public class ProcessoEvent -{ - public static final int ACCAO_RECARREGAR_TRABALHADOR = 0; - public static final int ACCAO_ESCOLHER_PROCESSO = 1; - public static final int ACCAO_ESCOLHER_CONSULTA = 2; - public static final int ACCAO_ESCOLHER_ECDS = 3; - public static final int ACCAO_ESCOLHER_FA = 4; - public static final int ACCAO_ESCOLHER_DATA = 5; - public static final int ACCAO_ESCOLHER_OBSERVACOES = 6; - public static final int ACCAO_ESCOLHER_MAIL = 7; - public static final int ACCAO_ESCOLHER_MOTIVO = 8; - public static final int ACCAO_MARCAR_CONSULTA = 9; - public static final int ACCAO_MARCAR_ECDS = 10; - 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_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 ); - public static final Integer TIPO_CONSULTA = new Integer( 2 ); - public static final Integer TIPO_ECDS = new Integer( 3 ); - public static final Integer TIPO_DATA = new Integer( 4 ); - public static final Integer TIPO_OBSERVACOES = new Integer( 5 ); - public static final Integer TIPO_MAIL = new Integer( 6 ); - public static final Integer TIPO_FICHA_APTIDAO = new Integer( 7 ); - - protected final Object source; - protected final int accao; - protected final HashMap idsObjectos; - - /** Creates a new instance of ProcessoEvent */ - public ProcessoEvent( Object source, int accao, HashMap idsObjectos ) - { - this.source = source; - this.accao = accao; - this.idsObjectos = idsObjectos; - } - - public Object getSource() - { - return source; - } - - public int getAccao() - { - return accao; - } - - public Integer getObjecto( Integer tipo ) - { - return idsObjectos.get( tipo ); - } - -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoListener.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoListener.java deleted file mode 100644 index db1d821a..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoListener.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * ProcessoListener.java - * - * Created on 25 de Abril de 2007, 10:55 - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo; - -/** - * - * @author Frederico - */ -public interface ProcessoListener -{ - public void processoStateChanged( ProcessoEvent e ); -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoPanel.java deleted file mode 100644 index eb798106..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoPanel.java +++ /dev/null @@ -1,413 +0,0 @@ -/* - * ProcessoPanel.java - * - * Created on March 21, 2007, 9:11 AM - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo; - -import com.evolute.utils.dataui.ControllableComponent; -import com.evolute.utils.images.ImageIconLoader; -import com.evolute.utils.ui.DialogException; -import info.clearthought.layout.TableLayout; -import info.clearthought.layout.TableLayoutConstraints; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.text.DateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Locale; -import java.util.Vector; -import javax.swing.*; -import siprp.ficha.FichaWindow; -import siprp.ficha.SaveExameListener; -import siprp.medicina.MedicinaConstants; -import siprp.medicina.MedicinaDataProvider; -import siprp.medicina.processo.data.TrabalhadoresProcessoData; - -/** - * - * @author fpalma - */ -public class ProcessoPanel extends JPanel - implements ActionListener, ControllableComponent, - MedicinaConstants, ProcessoConstants, SaveExameListener -{ - private static final DateFormat D_F = DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "pt", "PT" ) ); - - private JTextField estadoText; - private JTextField inicioText; - private JTextField fimText; - private JButton motivoButton; -// private JButton novoECDButton; -// private JButton novaConsultaButton; - private JButton emitirFAButton; - private JButton fecharButton; - - protected JFrame owner; - - private final Vector PROCESSO_LISTENERS = new Vector(); - - private ProcessoDataProvider provider; - - private Integer trabalhadorID = null; - private TrabalhadoresProcessoData processo; - - /** Creates a new instance of ProcessoPanel */ - public ProcessoPanel( JFrame owner ) - throws Exception - { - this.owner = owner; - provider = ProcessoDataProvider.getProvider(); - setupComponents(); - enableButtons(); - } - - - private void setupComponents() - { - JLabel motivoLabel = new JLabel( "Motivo" ); - motivoButton = new JButton( "Escolher" ); - motivoButton.addActionListener( this ); - JLabel estadoLabel = new JLabel( "Estado" ); - estadoText = new JTextField(); - estadoText.setPreferredSize( new Dimension( 150, 20 ) ); - estadoText.setEditable( false ); - JLabel inicioLabel = new JLabel( "In\u00edcio" ); - inicioText = new JTextField(); - inicioText.setPreferredSize( new Dimension( 150, 20 ) ); - inicioText.setEditable( false ); - JLabel fimLabel = new JLabel( "Fim" ); - fimText = new JTextField(); - fimText.setPreferredSize( new Dimension( 150, 20 ) ); - fimText.setEditable( false ); -// novoECDButton = new JButton( "Marcar ECDs" ); -// novoECDButton.setIcon( getIcon( ECDS_ICON_PATH ) ); -// novoECDButton.addActionListener( this ); -// novaConsultaButton = new JButton( "Marcar Consulta" ); -// novaConsultaButton.setIcon( getIcon( CONSULTA_ICON_PATH ) ); -// novaConsultaButton.addActionListener( this ); - emitirFAButton = new JButton( "Emitir Ficha de Aptid\u00e3o" ); - emitirFAButton.setIcon( getIcon( FICHA_APTIDAO_ICON_PATH ) ); - emitirFAButton.addActionListener( this ); - fecharButton = new JButton( "Fechar Processo" ); - fecharButton.setIcon( getIcon( FECHAR_ICON_PATH ) ); - fecharButton.addActionListener( this ); - JPanel buttonPanel = new JPanel(); - - double cols[] = - new double[]{ TableLayout.MINIMUM, TableLayout.FILL, TableLayout.MINIMUM, TableLayout.FILL }; - double rows[] = - new double[]{ TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL }; - - TableLayout tableLayout = new TableLayout( cols, rows ); - setLayout( tableLayout ); - - add( motivoLabel, new TableLayoutConstraints( 0, 0 ) ); - add( motivoButton, new TableLayoutConstraints( 1, 0 ) ); - add( estadoLabel, new TableLayoutConstraints( 2, 0 ) ); - add( estadoText, new TableLayoutConstraints( 3, 0 ) ); - add( inicioLabel, new TableLayoutConstraints( 0, 1 ) ); - add( inicioText, new TableLayoutConstraints( 1, 1 ) ); - add( fimLabel, new TableLayoutConstraints( 2, 1 ) ); - add( fimText, new TableLayoutConstraints( 3, 1 ) ); - add( emitirFAButton, new TableLayoutConstraints( 0, 2, 1, 2 ) ); - add( fecharButton, new TableLayoutConstraints( 2, 2, 3, 2 ) ); - //add( buttonPanel, new TableLayoutConstraints( 0, 2, 3, 2 ) ); - -// buttonPanel.setLayout( new GridLayout( 1, 2 ) ); -//// buttonPanel.add( novoECDButton ); -//// buttonPanel.add( novaConsultaButton ); -// buttonPanel.add( emitirFAButton ); -// buttonPanel.add( fecharButton ); - } - - public void actionPerformed(ActionEvent e) - { - Object source = e.getSource(); - if( source.equals( motivoButton ) ) - { - escolherMotivo(); - } -// else if( source.equals( novoECDButton ) ) -// { -// novoECD(); -// } -// else if( source.equals( novaConsultaButton ) ) -// { -// novaConsulta(); -// } - else if( source.equals( emitirFAButton ) ) - { - emitirFA(); - } - else if( source.equals( fecharButton ) ) - { - fecharProcesso(); - } - } - - protected boolean gravarProcesso() - { - if( processo.get( TrabalhadoresProcessoData.ESTADO ) == null ) - { - processo.set( TrabalhadoresProcessoData.ESTADO, PROCESSO_ABERTO_CODE ); - processo.set( TrabalhadoresProcessoData.DATA_INICIO, new Date() ); - } - try - { - provider.saveProcesso( processo ); - - return true; - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a gravar processo", true ); - return false; - } - } - - protected void escolherMotivo() - { - EscolherMotivoDialog dialog = new EscolherMotivoDialog( owner ); - dialog.setVisible( true ); - Integer motivo[] = dialog.getMotivo(); - if( motivo != null && motivo[ 0 ] != null ) - { - processo.set( TrabalhadoresProcessoData.MOTIVO, motivo[ 0 ] ); - processo.set( TrabalhadoresProcessoData.SUB_MOTIVO, motivo[ 1 ] ); - if( gravarProcesso() ) - { - reload(); - HashMap ids = new HashMap(); - ids.put( ProcessoEvent.TIPO_PROCESSO, ( Integer ) processo.get( TrabalhadoresProcessoData.ID ) ); - ProcessoEvent event = new ProcessoEvent( this, ProcessoEvent.ACCAO_ESCOLHER_MOTIVO, ids ); - for( int n = 0; n < PROCESSO_LISTENERS.size(); n++ ) - { - PROCESSO_LISTENERS.get( n ).processoStateChanged( event ); - } - } - } - } - - protected void novoECD() - { - } - - protected void novaConsulta() - { - notifyListeners( ProcessoEvent.ACCAO_MARCAR_CONSULTA ); - } - - protected void emitirFA() - { - if( trabalhadorID != null ) - { - try - { - FichaWindow.getWindow().editTrabalhador( trabalhadorID, this ); - } - catch( Exception ex ) - { - DialogException.showException( ex ); - } - } - } - - 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(); - notifyListeners( ProcessoEvent.ACCAO_FECHAR ); - reload(); - } - } - } - - public void clear() - { - processo = null; - estadoText.setText( "" ); - inicioText.setText( "" ); - fimText.setText( "" ); - motivoButton.setText( "Escolher" ); - enableButtons(); - } - - protected void enableButtons() - { - String estado = null; - Integer motivo = null; - boolean consultasPorRealizar = false; - boolean ecdsPorRealizar = false; - if( processo != null ) - { - Integer id = ( Integer ) processo.get( TrabalhadoresProcessoData.ID ); - estado = ( String ) processo.get( TrabalhadoresProcessoData.ESTADO ); - motivo = ( Integer ) processo.get( TrabalhadoresProcessoData.MOTIVO ); - try - { - if( id != null ) - { - consultasPorRealizar = provider.getProcessoTemConsultasPorRealizar( id ); - ecdsPorRealizar = provider.getProcessoTemECDsPorRealizar( id ); - } - } - catch( Exception ex ) - { - ex.printStackTrace(); - } - } -// novoECDButton.setEnabled( processo != null && motivo != null ); -// novoECDButton.setEnabled( false ); -// novaConsultaButton.setEnabled( processo != null && motivo != null && !consultasPorRealizar ); - emitirFAButton.setEnabled( processo != null && motivo != null ); - fecharButton.setEnabled( processo != null && motivo != null && PROCESSO_ABERTO_CODE.equals( estado ) ); - motivoButton.setEnabled( processo != null ); - } - - public void addProcessoListener( ProcessoListener listener ) - { - PROCESSO_LISTENERS.add( listener ); - } - - public void removeProcessoListener( ProcessoListener listener ) - { - PROCESSO_LISTENERS.remove( listener ); - } - - public Icon getIcon( String path ) - { - try - { - return ImageIconLoader.loadImageIcon( getClass(), path ); - } - catch( Exception ex ) - { - ex.printStackTrace(); - return null; - } - } - - public Object save() - { - return null; - } - - public void enableComponents( boolean enable ) - { - - } - - public void fill( Object value ) - { - clear(); - if( trabalhadorID == null ) - { - return; - } - if( value != null ) - { - try - { - processo = provider.getProcessoByID( ( Integer ) value ); - if( processo == null ) - { - processo = new TrabalhadoresProcessoData(); - processo.set( TrabalhadoresProcessoData.TRABALHADOR_ID, trabalhadorID ); - } - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a carregar dados do processo", true ); - } - } - reload(); - } - - public void reload() - { - enableButtons(); - if( processo != null ) - { - String estado = null; - Date dataInicio = ( Date ) processo.get( TrabalhadoresProcessoData.DATA_INICIO ); - if( dataInicio != null ) - { - inicioText.setText( D_F.format( dataInicio ) ); - } - Date dataFim = ( Date ) processo.get( TrabalhadoresProcessoData.DATA_FIM ); - if( dataFim != null ) - { - fimText.setText( D_F.format( dataFim ) ); - } - estado = ( String ) processo.get( TrabalhadoresProcessoData.ESTADO ); - if( estado == null ) - { - estadoText.setText( ProcessoDataProvider.PROCESSO_POR_ABRIR_DESCRIPTION ); - } - else - { - estadoText.setText( ProcessoDataProvider.ESTADO_PROCESSO_BY_CODE.get( estado ) ); - } - Integer motivo = ( Integer ) processo.get( TrabalhadoresProcessoData.MOTIVO ); - Integer subMotivo = ( Integer ) processo.get( TrabalhadoresProcessoData.SUB_MOTIVO ); - String motivoStr = "Motivo"; - if( motivo != null ) - { - motivoStr = MedicinaDataProvider.MOTIVOS_BY_ID.get( motivo ); - if( subMotivo != null ) - { - motivoStr += " > " + MedicinaDataProvider.SUB_MOTIVOS_BY_ID.get( subMotivo ); - } - } - motivoButton.setText( motivoStr ); - } - } - - public void setTrabalhadorID( Integer trabalhadorID ) - { - this.trabalhadorID = trabalhadorID; - } - - public void exameSaved( Integer trabalhadorID, Integer exameID ) - { - if( trabalhadorID.equals( this.trabalhadorID ) ) - { - processo.set( TrabalhadoresProcessoData.ESTADO, PROCESSO_FECHADO_CODE ); - processo.set( TrabalhadoresProcessoData.DATA_FIM, new Date() ); - if( gravarProcesso() ) - { - enableButtons(); - notifyListeners( ProcessoEvent.ACCAO_EMITIR_FA ); - reload(); - } - System.out.println( "NOTIFIED EXAME: " + exameID ); - } - } - - protected void notifyListeners( int accao ) - { - HashMap ids = new HashMap(); - ids.put( ProcessoEvent.TIPO_PROCESSO, ( Integer ) processo.get( TrabalhadoresProcessoData.ID ) ); - ProcessoEvent event = new ProcessoEvent( this, accao, ids ); - for( int n = 0; n < PROCESSO_LISTENERS.size(); n++ ) - { - PROCESSO_LISTENERS.get( n ).processoStateChanged( event ); - } - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoUpperPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoUpperPanel.java deleted file mode 100644 index 1c08a592..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoUpperPanel.java +++ /dev/null @@ -1,254 +0,0 @@ -/* - * ProcessoUpperPanel.java - * - * Created on February 1, 2006, 6:48 PM - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo; - -import java.awt.*; -import javax.swing.*; -import javax.swing.event.*; -import java.util.*; -import com.evolute.utils.dataui.*; -import com.evolute.utils.tables.*; -import com.evolute.utils.ui.*; -import siprp.medicina.MedicinaDataProvider; - -/** - * - * @author fpalma - */ -public class ProcessoUpperPanel extends JPanel - implements ListSelectionListener, ControllableComponent -{ - protected BaseTable empresasTable; - protected VectorTableModel empresasModel; - protected BaseTable estabelecimentosTable; - protected VectorTableModel estabelecimentosModel; - protected BaseTable trabalhadoresTable; - protected VectorTableModel trabalhadoresModel; - - protected MedicinaDataProvider provider; - - protected final Vector listeners; - - protected boolean editing = false; - - /** - * Creates a new instance of ProcessoUpperPanel - */ - public ProcessoUpperPanel() - throws Exception - { - provider = ( MedicinaDataProvider ) MedicinaDataProvider.getProvider(); - listeners = new Vector(); - setupComponents(); - } - - private void setupComponents() - throws Exception - { - empresasModel = new VectorTableModel( new String[]{ "empresas" } ); - empresasTable = new BaseTable( empresasModel ); - empresasTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); - empresasTable.setNonResizableNorReordable(); - JScrollPane empresasScroll = - new JScrollPane( empresasTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - empresasTable.getSelectionModel().addListSelectionListener( this ); - estabelecimentosModel = new VectorTableModel( new String[]{ "estabelecimentos" } ); - estabelecimentosTable = new BaseTable( estabelecimentosModel ); - estabelecimentosTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); - estabelecimentosTable.setNonResizableNorReordable(); - JScrollPane estabelecimentosScroll = - new JScrollPane( estabelecimentosTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - estabelecimentosTable.getSelectionModel().addListSelectionListener( this ); - trabalhadoresModel = new VectorTableModel( new String[]{ "trabalhadores" } ); - trabalhadoresTable = new BaseTable( trabalhadoresModel ); - trabalhadoresTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); - trabalhadoresTable.setNonResizableNorReordable(); - JScrollPane trabalhadoresScroll = - new JScrollPane( trabalhadoresTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, - JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - trabalhadoresTable.getSelectionModel().addListSelectionListener( this ); - - GridBagLayout gridbag = new GridBagLayout(); - setLayout( gridbag ); - GridBagConstraints constraints = new GridBagConstraints(); - constraints.insets = new Insets( 1, 1, 1, 1 ); - constraints.fill = GridBagConstraints.BOTH; - constraints.gridwidth = 1; - constraints.gridheight = 1; - constraints.weightx = 0.3; - constraints.weighty = 1; - - gridbag.setConstraints( empresasScroll, constraints ); - - gridbag.setConstraints( estabelecimentosScroll, constraints ); - - constraints.weightx = 0.4; - constraints.gridheight = GridBagConstraints.REMAINDER; - gridbag.setConstraints( trabalhadoresScroll, constraints ); - - add( empresasScroll ); - add( estabelecimentosScroll ); - add( trabalhadoresScroll ); - - ColumnizedMappable empresas[] = provider.getAllEmpresas(); - Vector values = empresasModel.getValues(); - values.addAll( Arrays.asList( empresas ) ); - empresasModel.setValues( values ); - } - - public void valueChanged( ListSelectionEvent e ) - { - Object source = e.getSource(); - if( e.getValueIsAdjusting() ) - { - return; - } - if( source.equals( empresasTable.getSelectionModel() ) ) - { - carregarEstabelecimentos(); - } - else if( source.equals( estabelecimentosTable.getSelectionModel() ) ) - { - carregarTrabalhadores(); - } - else if( source.equals( trabalhadoresTable.getSelectionModel() ) ) - { - notifyListeners( e ); - } - } - - protected void carregarEstabelecimentos() - { - estabelecimentosTable.clearSelection(); - int selected = empresasTable.getSelectedRow(); - estabelecimentosModel.clearAll(); - if( selected > -1 ) - { - try - { - Integer empresaID = ( ( ColumnizedMappable ) empresasModel.getRowAt( selected ) ).getID(); - ColumnizedMappable estabelecimentos[] = provider.getAllEstabelecimentosForEmpresa( empresaID); - Vector values = estabelecimentosModel.getValues(); - values.addAll( Arrays.asList( estabelecimentos ) ); - estabelecimentosModel.setValues( values ); - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a carregar os estabelecimentos.", true ); - estabelecimentosModel.clearAll(); - } - } - } - - protected void carregarTrabalhadores() - { - trabalhadoresTable.clearSelection(); - int selected = estabelecimentosTable.getSelectedRow(); - trabalhadoresModel.clearAll(); - if( selected > -1 ) - { - try - { - Integer estabelecimentoID = ( ( ColumnizedMappable ) estabelecimentosModel.getRowAt( selected ) ).getID(); - ColumnizedMappable trabalhadores[] = provider.getAllTrabalhadoresForEstabelecimento( estabelecimentoID ); - Vector values = trabalhadoresModel.getValues(); - values.addAll( Arrays.asList( trabalhadores ) ); - trabalhadoresModel.setValues( values ); - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a carregar trabalhadores.", true ); - trabalhadoresModel.clearAll(); - } - } - } - - protected void notifyListeners( ListSelectionEvent e ) - { - for( int n = 0; n < listeners.size(); n++ ) - { - ListSelectionEvent event = - new ListSelectionEvent( this, e.getFirstIndex(), e.getLastIndex(), e.getValueIsAdjusting() ); - ( ( ListSelectionListener ) listeners.elementAt( n ) ).valueChanged( event ); - } - } - - public void addListSelectionListener( ListSelectionListener listener ) - { - listeners.add( listener ); - } - - public void removeSelectionListener( ListSelectionListener listener ) - { - listeners.remove( listener ); - } - - public void clear() - { -// empresasTable.clearSelection(); - } - - public void fill( Object value ) - { - if( value == null ) - { - clear(); - } - Integer ids[] = ( Integer [] ) value; - for( int n = 0; n < empresasTable.getRowCount(); n++ ) - { - if( ( ( ColumnizedMappable ) empresasModel.getRowAt( n ) ).getID().equals( ids[ 0 ] ) ) - { - empresasTable.setRowSelectionInterval( n, n ); - break; - } - } - - for( int n = 0; n < estabelecimentosTable.getRowCount(); n++ ) - { - if( ( ( ColumnizedMappable ) estabelecimentosModel.getRowAt( n ) ).getID().equals( ids[ 1 ] ) ) - { - estabelecimentosTable.setRowSelectionInterval( n, n ); - break; - } - } - - for( int n = 0; n < trabalhadoresTable.getRowCount(); n++ ) - { - if( ( ( ColumnizedMappable ) trabalhadoresModel.getRowAt( n ) ).getID().equals( ids[ 2 ] ) ) - { - trabalhadoresTable.setRowSelectionInterval( n, n ); - break; - } - } - } - - public Object save() - { - int empresaSelected = empresasTable.getSelectedRow(); - int estabelecimentoSelected = estabelecimentosTable.getSelectedRow(); - int trabalhadorSelected = trabalhadoresTable.getSelectedRow(); - return new Integer[]{ - empresaSelected == -1 ? null : ( ( ColumnizedMappable ) empresasModel.getRowAt( empresaSelected ) ).getID(), - estabelecimentoSelected == -1 ? null : ( ( ColumnizedMappable ) estabelecimentosModel.getRowAt( estabelecimentoSelected ) ).getID(), - trabalhadorSelected == -1 ? null : ( ( ColumnizedMappable ) trabalhadoresModel.getRowAt( trabalhadorSelected ) ).getID() - }; - } - - public void setEnabled( boolean enable ) - { - editing = !enable; - empresasTable.setEnabled( enable ); - estabelecimentosTable.setEnabled( enable ); - trabalhadoresTable.setEnabled( enable ); - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoWindow.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoWindow.java deleted file mode 100644 index 00fc8b14..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoWindow.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * ProcessoWindow.java - * - * Created on March 21, 2007, 9:06 AM - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo; -// -//import info.clearthought.layout.TableLayout; -//import info.clearthought.layout.TableLayoutConstraints; -// -//import java.awt.Dimension; -// -//import javax.swing.BorderFactory; -//import javax.swing.JFrame; -//import javax.swing.SwingUtilities; -// -//import siprp.medicina.processo.detalhes.DetalhesConsultaPanel; -//import siprp.medicina.processo.detalhes.DetalhesProcessoPanel; -//import siprp.medicina.processo.estrutura.EstruturaProcessoPanel; -// -//import com.evolute.utils.tracker.TrackableWindow; -// -///** -// * -// * @author fpalma -// */ -//public class ProcessoWindow extends JFrame -// implements TrackableWindow -//{ -// private static final long serialVersionUID = 1L; -// -// public static final String TITLE = "Processos de trabalhadores"; -// -// private ProcessoUpperPanel upperPanel; -// private EstruturaProcessoPanel estruturaPanel; -// private ProcessoPanel processoPanel; -// private DetalhesProcessoPanel detalhesPanel; -// -// /** Creates a new instance of ProcessoWindow */ -// public ProcessoWindow() -// throws Exception -// { -// setupComponents(); -// } -// -// private void setupComponents() -// throws Exception -// { -// setSize( 1024, 700 ); -// setTitle( TITLE ); -// -// upperPanel = new ProcessoUpperPanel(); -// upperPanel.setPreferredSize( new Dimension( 1024, 200 ) ); -// estruturaPanel = new EstruturaProcessoPanel(); -// processoPanel = new ProcessoPanel( this ); -// processoPanel.setBorder( BorderFactory.createEtchedBorder() ); -// detalhesPanel = new DetalhesProcessoPanel( this ); -// detalhesPanel.setBorder( BorderFactory.createEtchedBorder() ); -// double cols[] = -// new double[]{ TableLayout.FILL, TableLayout.PREFERRED }; -// double rows[] = -// new double[]{ TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL }; -// -// TableLayout tableLayout = new TableLayout( cols, rows ); -// setLayout( tableLayout ); -// -// add( upperPanel, new TableLayoutConstraints( 0, 0, 1, 0 ) ); -// add( estruturaPanel, new TableLayoutConstraints( 0, 1, 0, 2 ) ); -// add( processoPanel, new TableLayoutConstraints( 1, 1 ) ); -//// add( detalhesPanel, new TableLayoutConstraints( 1, 2 ) ); -// add( new DetalhesConsultaPanel( this ), new TableLayoutConstraints( 1, 2 ) ); -// new ProcessoController( upperPanel, estruturaPanel, processoPanel, detalhesPanel ); -// } -// -// public void refresh() -// { -// } -// -// public void open() -// { -// setVisible( true ); -// } -// -// public void close() -// { -// SwingUtilities.invokeLater( new Runnable() { -// public void run() -// { -// setVisible( false ); -// dispose(); -// } -// } ); -// } -// -// public boolean closeIfPossible() -// { -// close(); -// return true; -// } -//} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DataConsultaPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DataConsultaPanel.java deleted file mode 100644 index cfc6ce22..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DataConsultaPanel.java +++ /dev/null @@ -1,367 +0,0 @@ -/* - * ConsultaPanel.java - * - * Created on March 22, 2007, 10:58 AM - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo.detalhes; - -import info.clearthought.layout.TableLayout; -import info.clearthought.layout.TableLayoutConstraints; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.Date; -import java.util.HashMap; -import java.util.Vector; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -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; -import siprp.medicina.processo.data.TrabalhadoresConsultasData; -import siprp.medicina.processo.data.TrabalhadoresConsultasDatasData; - -import com.evolute.utils.Singleton; -import com.evolute.utils.data.IDObject; -import com.evolute.utils.jdo.JDOProvider; -import com.evolute.utils.ui.DialogException; -import com.evolute.utils.ui.calendar.JCalendarPanel; - -/** - * - * @author fpalma - */ -public class DataConsultaPanel extends JPanel - implements ActionListener, MedicinaConstants, ChangeListener -{ - protected JFrame owner; - protected JCalendarPanel dataConsultaPanel; - protected JButton estadoButton; - protected JButton emailButton; - protected JButton observacoesButton; - protected ObservacoesDialog observacoesDialog; - - protected final Vector PROCESSO_LISTENERS = new Vector(); - protected JDOProvider JDO; - protected ProcessoDataProvider provider; - - protected Integer trabalhadorID; - protected Integer processoID; - protected TrabalhadoresConsultasData consulta; - protected TrabalhadoresConsultasDatasData consultaData; - - /** Creates a new instance of ConsultaPanel */ - public DataConsultaPanel( JFrame owner ) - throws Exception - { - this.owner = owner; - JDO = ( JDOProvider ) Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER ); - provider = ProcessoDataProvider.getProvider(); - setupComponents(); - } - - private void setupComponents() - { - JLabel dataLabel = new JLabel( "Data" ); - dataConsultaPanel = new JCalendarPanel( null ); - dataConsultaPanel.addChangeListener( this ); - estadoButton = new JButton( " " ); - estadoButton.addActionListener( this ); - emailButton = new JButton( "Email" ); - emailButton.addActionListener( this ); - observacoesButton = new JButton( "Coment\u00e1rio" ); - observacoesButton.addActionListener( this ); - - double cols[] = - new double[]{ TableLayout.MINIMUM, TableLayout.FILL }; - double rows[] = - new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, - TableLayout.MINIMUM, TableLayout.MINIMUM }; - - TableLayout tableLayout = new TableLayout( cols, rows ); - tableLayout.setVGap( 5 ); - setLayout( tableLayout ); - - add( dataLabel, new TableLayoutConstraints( 0, 0 ) ); - add( dataConsultaPanel, new TableLayoutConstraints( 1, 0 ) ); - add( estadoButton, new TableLayoutConstraints( 0, 1, 1, 1 ) ); - add( emailButton, new TableLayoutConstraints( 0, 2, 1, 2 ) ); - add( observacoesButton, new TableLayoutConstraints( 0, 3, 1, 3 ) ); - } - - public void actionPerformed(ActionEvent e) - { - Object source = e.getSource(); - if( source.equals( observacoesButton ) ) - { - editarObservacoes(); - } - else if( source.equals( emailButton ) ) - { - enviarEmail(); - } - else if( source.equals( estadoButton ) ) - { - mudarEstado(); - } - } - - public void stateChanged(ChangeEvent e) - { - Object source = e.getSource(); - - if( source.equals( dataConsultaPanel ) ) - { - Date data = dataConsultaPanel.getDate(); - if( data == null ) - { - return; - } - try - { - boolean nova = false; - if( consulta == null ) - { - nova = true; - Integer consultaID = provider.getConsultaEmAbertoForProcesso( processoID ); - if( consultaID == null ) - { - consulta = new TrabalhadoresConsultasData(); - consulta.set( TrabalhadoresConsultasData.TRABALHADOR_ID, trabalhadorID ); - consulta.set( TrabalhadoresConsultasData.PROCESSO_ID, processoID ); - consulta.set( TrabalhadoresConsultasData.ESTADO, new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ); - } - else - { - consulta = provider.getConsultaByID( consultaID ); - consulta.set( TrabalhadoresConsultasData.ESTADO, new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ); - } - } - consulta.set( TrabalhadoresConsultasData.DATA, data ); - provider.saveConsulta( consulta ); - if( consultaData == null ) - { - Integer consultaID = ( Integer )consulta.get( TrabalhadoresConsultasData.ID ); - Integer consultaDataID = provider.getLastConsultaDataIDForConsulta( consultaID ); - if( consultaDataID == null || nova ) - { - 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; - } - } - } - - protected void editarObservacoes() - { - if( observacoesDialog == null ) - { - observacoesDialog = new ObservacoesDialog( owner ); - } - String texto = ""; - try - { - Integer dataID = provider.getLastConsultaDataIDForConsulta( ( Integer ) consulta.get( TrabalhadoresConsultasData.ID ) ); - IDObject observacoes = provider.getObservacoesConsultaData( dataID ); - if( observacoes != null ) - { - texto = observacoes.toString(); - } - texto = observacoesDialog.editarObservacao( texto ); - if( texto != null ) - { - provider.saveObservacoesConsultaData( dataID, texto ); - notifyListeners( ProcessoEvent.ACCAO_ESCREVER_OBSERVACOES ); - } - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a carregar dados", true ); - return; - } - } - - protected void enviarEmail() - { - if( consulta == null ) - { - return; - } - try - { - Integer consultaDataID; - if( consultaData == null ) - { - Integer consultaID = ( Integer )consulta.get( TrabalhadoresConsultasDatasData.ID ); - consultaDataID = provider.getLastConsultaDataIDForConsulta( consultaID ); - consultaData = provider.getConsultaDataByID( consultaDataID ); - } - consultaDataID = ( Integer ) consultaData.get( TrabalhadoresConsultasDatasData.ID ); - provider.saveEmailConsultaData( consultaDataID, "teste@siprp.pt", "Email de teste.", "" ); - notifyListeners( ProcessoEvent.ACCAO_ESCREVER_MAIL ); - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a gravar dados da consulta", true ); - return; - } - } - - 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 ) - { - PROCESSO_LISTENERS.add( listener ); - } - - public void removeProcessoListener( ProcessoListener listener ) - { - PROCESSO_LISTENERS.remove( listener ); - } - - public void clear() - { - dataConsultaPanel.setDate( null ); - estadoButton.setText( " " ); - consulta = null; - consultaData = null; - } - - public void fill( Object value ) - { - clear(); - if( value != null ) - { - try - { - consulta = ( TrabalhadoresConsultasData ) JDO.load( TrabalhadoresConsultasData.class, ( Integer ) value ); - Date data = ( Date ) consulta.get( TrabalhadoresConsultasData.DATA ); - Integer estado = ( Integer ) consulta.get( TrabalhadoresConsultasData.ESTADO ); - dataConsultaPanel.setDate( data ); - if( estado != null ) - { - estadoButton.setText( ESTADOS_CONSULTA_STR[ estado.intValue() ] ); - } - else - { - estadoButton.setText( " " ); - } - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a carregar dados da consulta", true ); - } - } - enableButtons(); - } - - protected void enableButtons() - { - if( consulta != null ) - { - Integer estado = ( Integer ) consulta.get( TrabalhadoresConsultasData.ESTADO ); - dataConsultaPanel.setEnabled( estado == null || estado.intValue() == ESTADO_POR_REALIZAR ); - estadoButton.setEnabled( consulta.get( TrabalhadoresConsultasData.DATA ) != null ); - emailButton.setEnabled( consulta.get( TrabalhadoresConsultasData.DATA ) != null ); - observacoesButton.setEnabled( consulta.get( TrabalhadoresConsultasData.DATA ) != null ); - } - else - { - dataConsultaPanel.setEnabled( true ); - estadoButton.setEnabled( false ); - emailButton.setEnabled( false ); - observacoesButton.setEnabled( false ); - } - } - - public void setTrabalhadorID( Integer trabalhadorID ) - { - this.trabalhadorID = trabalhadorID; - } - - public void setProcessoID( Integer processoID ) - { - this.processoID = processoID; - } - - protected void notifyListeners( int accao ) - { - HashMap ids = new HashMap(); - ids.put( ProcessoEvent.TIPO_PROCESSO, processoID ); - if( consulta != null ) - { - ids.put( ProcessoEvent.TIPO_CONSULTA, ( Integer ) consulta.get( TrabalhadoresConsultasData.ID ) ); - } - if( consultaData != null ) - { - ids.put( ProcessoEvent.TIPO_DATA, ( Integer ) consulta.get( TrabalhadoresConsultasDatasData.ID ) ); - } - ProcessoEvent event = new ProcessoEvent( this, accao, ids ); - for( int n = 0; n < PROCESSO_LISTENERS.size(); n++ ) - { - PROCESSO_LISTENERS.get( n ).processoStateChanged( event ); - } - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesConsultaPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesConsultaPanel.java deleted file mode 100644 index 1ff646f4..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesConsultaPanel.java +++ /dev/null @@ -1,145 +0,0 @@ -package siprp.medicina.processo.detalhes; - -import info.clearthought.layout.TableLayout; -import info.clearthought.layout.TableLayoutConstraints; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.Vector; - -import javax.swing.Icon; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextField; - -import siprp.medicina.MedicinaConstants; -import siprp.medicina.prestadores.PrestadoresDataProvider; -import siprp.medicina.prestadores.data.PrestadoresData; -import siprp.medicina.processo.ProcessoConstants; -import siprp.medicina.processo.ProcessoDataProvider; -import siprp.medicina.processo.data.TrabalhadoresConsultasData; - -import com.evolute.utils.dataui.ControllableComponent; -import com.evolute.utils.images.ImageIconLoader; -import com.evolute.utils.tables.BaseTable; -import com.evolute.utils.tables.ColumnizedObjectArray; -import com.evolute.utils.tables.VectorTableModel; -import com.evolute.utils.ui.DialogException; - -public class DetalhesConsultaPanel - extends JPanel - implements ControllableComponent, ProcessoConstants, - ActionListener -{ - protected JFrame owner; - protected JButton marcarButton; - protected JButton cancelarButton; - protected JTextField estadoText; - protected BaseTable datasTable; - protected VectorTableModel datasModel; - - protected ProcessoDataProvider processoProvider; - - public DetalhesConsultaPanel( JFrame owner ) - throws Exception - { - this.owner = owner; - processoProvider = ProcessoDataProvider.getProvider(); - setupComponents(); - } - - private void setupComponents() - { - Icon marcarIcon = getIcon( DATA_ICON_PATH ); - marcarButton = new JButton( "Fazer Marca\u00e7\u00e3o" ); - marcarButton.setIcon( marcarIcon ); - marcarButton.addActionListener( this ); - Icon cancelarIcon = getIcon( DATA_ICON_PATH ); - cancelarButton = new JButton( "Cancelar Consulta" ); - cancelarButton.setIcon( cancelarIcon ); - cancelarButton.addActionListener( this ); - - estadoText = new JTextField(); - estadoText.setEditable( false ); - datasModel = new VectorTableModel( new String[]{ "data", "prestador", "estado" } ); - datasTable = new BaseTable( datasModel ); - JScrollPane datasScroll = new JScrollPane( datasTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, - JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - - double cols[] = new double[]{ TableLayout.FILL, TableLayoutConstraints.FILL }; - double rows[] = new double[]{ TableLayout.PREFERRED, TableLayoutConstraints.MINIMUM, TableLayoutConstraints.FILL }; - TableLayout layout = new TableLayout( cols, rows ); - layout.setHGap( 5 ); - layout.setVGap( 5 ); - setLayout( layout ); - add( marcarButton, new TableLayoutConstraints( 0, 0 ) ); - add( cancelarButton, new TableLayoutConstraints( 1, 0 ) ); - add( estadoText, new TableLayoutConstraints( 0, 1, 1, 1 ) ); - add( datasScroll, new TableLayoutConstraints( 0, 2, 1, 2 ) ); - } - - public Object save() - { - return null; - } - - public void fill( Object value ) - { - clear(); - Integer id = ( Integer ) value; - if( id != null ) - { - try - { - TrabalhadoresConsultasData consulta = processoProvider.getConsultaByID( id ); - Integer estado = ( Integer ) consulta.get( TrabalhadoresConsultasData.ESTADO ); - String estadoStr = MedicinaConstants.ESTADOS_CONSULTA_STR[ estado != null ? estado.intValue() : 0 ]; - estadoText.setText( estadoStr ); - Vector values = datasModel.getValues(); - Object datas[][] = processoProvider.getDatasConsulta( id ); - for( int n = 0; n < datas.length; n++ ) - { - PrestadoresData prestador = PrestadoresDataProvider.getProvider().getPrestadorByID( ( Integer ) datas[ n ][ 2 ] ); - datas[ n ][ 2 ] = prestador.get( PrestadoresData.NOME ); - Integer estadoData = ( Integer ) datas[ n ][ 3 ]; - datas[ n ][ 3 ] = MedicinaConstants.ESTADOS_CONSULTA_STR[ estadoData != null ? estadoData.intValue() : 0 ]; - values.add( new ColumnizedObjectArray( datas[ n ], true ) ); - } - datasModel.setValues( values ); - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a carregar dados da consulta", true ); - } - } - } - - public void clear() - { - estadoText.setText( "" ); - datasModel.clearAll(); - } - - public void setEnabled( boolean enable ) - { - } - - public void actionPerformed( ActionEvent e ) - { - } - - public Icon getIcon( String path ) - { - try - { - return ImageIconLoader.loadImageIcon( getClass(), path ); - } - catch( Exception ex ) - { - ex.printStackTrace(); - return null; - } - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesProcessoPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesProcessoPanel.java deleted file mode 100644 index a4145057..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesProcessoPanel.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * DetalhesProcessoPanel.java - * - * Created on 25 de Abril de 2007, 17:34 - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo.detalhes; - -import info.clearthought.layout.TableLayout; -import info.clearthought.layout.TableLayoutConstraints; - -import java.awt.CardLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.HashMap; -import java.util.Vector; - -import javax.swing.Icon; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; - -import siprp.medicina.processo.ProcessoConstants; -import siprp.medicina.processo.ProcessoEvent; -import siprp.medicina.processo.ProcessoListener; - -import com.evolute.utils.images.ImageIconLoader; - -/** - * - * @author Frederico - */ -public class DetalhesProcessoPanel extends JPanel - implements ProcessoConstants, ActionListener -{ - private final Vector PROCESSO_LISTENERS = new Vector(); - - private static final String CARD_BLANK = ""; - private static final String CARD_CONSULTA = "CONSULTA"; - private static final String CARD_ECDS = "ECDS"; - - protected JFrame owner; - - private JButton novoGrupoECDsButton; - private JButton novaConsultaButton; - private JLabel consultaLabel; - private JLabel ecdsLabel; - private JLabel fichaAptidaoLabel; -// protected JPanel blankPanel; -// protected DataConsultaPanel consultaPanel; -// protected ECDsPanel ecdsPanel; - - protected CardLayout cardLayout; - - protected Integer processoId; - - /** - * Creates a new instance of DetalhesProcessoPanel - */ - public DetalhesProcessoPanel( JFrame owner ) - throws Exception - { - this.owner = owner; - setupComponents(); - } - - private void setupComponents() - throws Exception - { - Icon ecdsIcon = getIcon( ECDS_ICON_PATH ); - novoGrupoECDsButton = new JButton( "Marcar ECDs" ); - novoGrupoECDsButton.setIcon( ecdsIcon ); - novoGrupoECDsButton.addActionListener( this ); - Icon consultaIcon = getIcon( CONSULTA_ICON_PATH ); - novaConsultaButton = new JButton( "Marcar Consulta" ); - novaConsultaButton.setIcon( consultaIcon ); - novaConsultaButton.addActionListener( this ); - ecdsLabel = new JLabel( ecdsIcon, JLabel.LEFT ); - consultaLabel = new JLabel( consultaIcon, JLabel.LEFT ); - Icon fichaAptidaoIcon = getIcon( FICHA_APTIDAO_ICON_PATH ); - fichaAptidaoLabel = new JLabel( fichaAptidaoIcon, JLabel.LEFT ); - - double cols[] = new double[]{ TableLayout.FILL, TableLayout.FILL }; - double rows[] = - new double[]{ TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, - TableLayout.PREFERRED, TableLayout.FILL }; - - TableLayout tableLayout = new TableLayout( cols, rows ); - setLayout( tableLayout ); - - add( novoGrupoECDsButton, new TableLayoutConstraints( 0, 0 ) ); - add( novaConsultaButton, new TableLayoutConstraints( 1, 0 ) ); - add( ecdsLabel, new TableLayoutConstraints( 0, 1, 1, 1 ) ); - add( consultaLabel, new TableLayoutConstraints( 0, 2, 1, 2 ) ); - add( fichaAptidaoLabel, new TableLayoutConstraints( 0, 3, 1, 3 ) ); - -// blankPanel = new JPanel(); -// consultaPanel = new DataConsultaPanel( owner ); -// ecdsPanel = new ECDsPanel( owner ); -// -// cardLayout = new CardLayout(); -// setLayout( cardLayout ); -// add( blankPanel, CARD_BLANK ); -// add( consultaPanel, CARD_CONSULTA ); -// add( ecdsPanel, CARD_ECDS ); - } - - public void addProcessoListener( ProcessoListener listener ) - { - PROCESSO_LISTENERS.add( listener ); -// consultaPanel.addProcessoListener( listener ); -// ecdsPanel.addProcessoListener( listener ); - } - - public void removeProcessoListener( ProcessoListener listener ) - { - PROCESSO_LISTENERS.remove( listener ); -// consultaPanel.removeProcessoListener( listener ); -// ecdsPanel.removeProcessoListener( listener ); - } - - public void actionPerformed( ActionEvent e ) - { - Object source = e.getSource(); - if( source.equals( novoGrupoECDsButton ) ) - { - novaConsulta(); - } - else if( source.equals( novaConsultaButton ) ) - { - novoGrupoECDs(); - } - } - - public void clear() - { -// cardLayout.first( this ); - } - - public void setTrabalhadorID( Integer trabalhadorID ) - { -// consultaPanel.setTrabalhadorID( trabalhadorID ); - } - - public void setProcessoID( Integer processoID ) - { - this.processoId = processoID; -// consultaPanel.setProcessoID( processoID ); - } - - public void setConsulta( Integer consultaID ) - { -// cardLayout.show( this, CARD_CONSULTA ); -// consultaPanel.fill( consultaID ); - } - - public void setECDs( Integer ecdsID ) - { - cardLayout.show( this, CARD_ECDS ); - } - - public Icon getIcon( String path ) - { - try - { - return ImageIconLoader.loadImageIcon( getClass(), path ); - } - catch( Exception ex ) - { - ex.printStackTrace(); - return null; - } - } - - protected void notifyListeners( int accao ) - { - HashMap ids = new HashMap(); - ids.put( ProcessoEvent.TIPO_PROCESSO, processoId ); - ProcessoEvent event = new ProcessoEvent( this, accao, ids ); - for( int n = 0; n < PROCESSO_LISTENERS.size(); n++ ) - { - PROCESSO_LISTENERS.get( n ).processoStateChanged( event ); - } - } - - protected void novoGrupoECDs() - { - } - - protected void novaConsulta() - { - notifyListeners( ProcessoEvent.ACCAO_MARCAR_CONSULTA ); - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ECDsInfoPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ECDsInfoPanel.java deleted file mode 100644 index 1d6b9cd6..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ECDsInfoPanel.java +++ /dev/null @@ -1,30 +0,0 @@ -package siprp.medicina.processo.detalhes; - -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JScrollPane; - -import com.evolute.utils.tables.BaseTable; -import com.evolute.utils.tables.VectorTableModel; - -public class ECDsInfoPanel extends JPanel -{ - protected final JFrame owner; - - protected BaseTable marcacoesTable; - protected VectorTableModel marcacoesModel; - - public ECDsInfoPanel( JFrame owner ) - { - this.owner = owner; - setupComponents(); - } - - private void setupComponents() - { - marcacoesModel = new VectorTableModel( new String[]{ "data", "marcados", "realizados", "recusados", "estado" } ); - marcacoesTable = new BaseTable( marcacoesModel ); - JScrollPane marcacoesScroll = new JScrollPane( marcacoesTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, - JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ECDsPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ECDsPanel.java deleted file mode 100644 index 3ab8f178..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ECDsPanel.java +++ /dev/null @@ -1,360 +0,0 @@ -/* - * ECDsPanel.java - * - * Created on 13 de Maio de 2007, 17:07 - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo.detalhes; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.HashMap; -import java.util.Vector; - -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import siprp.medicina.MedicinaConstants; -import siprp.medicina.processo.ProcessoDataProvider; -import siprp.medicina.processo.ProcessoEvent; -import siprp.medicina.processo.ProcessoListener; -import siprp.medicina.processo.data.TrabalhadoresEcdsData; -import siprp.medicina.processo.data.TrabalhadoresEcdsDatasData; - -import com.evolute.utils.jdo.JDOProvider; -import com.evolute.utils.ui.calendar.JCalendarPanel; - -/** - * - * @author Frederico - */ -public class ECDsPanel extends JPanel - implements ActionListener, MedicinaConstants, ChangeListener -{ - protected JFrame owner; - protected JCalendarPanel dataEcdsPanel; - protected JButton estadoButton; - protected JButton emailButton; - protected JButton observacoesButton; - protected ObservacoesDialog observacoesDialog; - - protected final Vector PROCESSO_LISTENERS = new Vector(); - protected JDOProvider JDO; - protected ProcessoDataProvider provider; - - protected Integer trabalhadorID; - protected Integer processoID; - protected TrabalhadoresEcdsData ecds; - protected TrabalhadoresEcdsDatasData ecdsData; - - /** - * Creates a new instance of ECDsPanel - */ - public ECDsPanel( JFrame owner ) - throws Exception - { -// this.owner = owner; -// JDO = ( JDOProvider ) Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER ); -// provider = ProcessoDataProvider.getProvider(); -// setupComponents(); - } - - private void setupComponents() - { -// JLabel dataLabel = new JLabel( "Data" ); -// dataConsultaPanel = new JCalendarPanel( null ); -// dataConsultaPanel.addChangeListener( this ); -// estadoButton = new JButton( " " ); -// estadoButton.addActionListener( this ); -// emailButton = new JButton( "Email" ); -// emailButton.addActionListener( this ); -// observacoesButton = new JButton( "Coment\u00e1rio" ); -// observacoesButton.addActionListener( this ); -// -// double cols[] = -// new double[]{ TableLayout.MINIMUM, TableLayout.FILL }; -// double rows[] = -// new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, -// TableLayout.MINIMUM, TableLayout.MINIMUM }; -// -// TableLayout tableLayout = new TableLayout( cols, rows ); -// tableLayout.setVGap( 5 ); -// setLayout( tableLayout ); -// -// add( dataLabel, new TableLayoutConstraints( 0, 0 ) ); -// add( dataEcdsPanel, new TableLayoutConstraints( 1, 0 ) ); -// add( estadoButton, new TableLayoutConstraints( 0, 1, 1, 1 ) ); -// add( emailButton, new TableLayoutConstraints( 0, 2, 1, 2 ) ); -// add( observacoesButton, new TableLayoutConstraints( 0, 3, 1, 3 ) ); - } - - public void actionPerformed(ActionEvent e) - { -// Object source = e.getSource(); -// if( source.equals( observacoesButton ) ) -// { -// editarObservacoes(); -// } -// else if( source.equals( emailButton ) ) -// { -// enviarEmail(); -// } -// else if( source.equals( estadoButton ) ) -// { -// mudarEstado(); -// } - } - - public void stateChanged(ChangeEvent e) - { -// Object source = e.getSource(); -// -// if( source.equals( dataConsultaPanel ) ) -// { -// Date data = dataConsultaPanel.getDate(); -// if( data == null ) -// { -// return; -// } -// try -// { -// boolean nova = false; -// if( ecds == null ) -// { -// nova = true; -// Integer ecdsID = provider.getEcdsEmAbertoForProcesso( processoID ); -// if( ecdsID == null ) -// { -// ecds = new TrabalhadoresEcdsData(); -// ecds.set( TrabalhadoresEcdsData.TRABALHADOR_ID, trabalhadorID ); -// ecds.set( TrabalhadoresEcdsData.PROCESSO_ID, processoID ); -// ecds.set( TrabalhadoresEcdsData.ESTADO, new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ); -// } -// else -// { -// ecds = provider.getEcdsByID( ecdsID ); -// ecds.set( TrabalhadoresEcdsData.ESTADO, new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ); -// } -// } -// ecds.set( TrabalhadoresConsultasData.DATA, data ); -// provider.saveEcds( ecds ); -// if( ecdsData == null ) -// { -// Integer ecdsID = ( Integer )ecds.get( TrabalhadoresEcdsData.ID ); -// Integer ecdsDataID = provider.getLastEcdsDataIDForEcds( ecdsID ); -// if( ecdsDataID == null || nova ) -// { -// ecdsData = new TrabalhadoresEcdsDatasData(); -// ecdsData.set( TrabalhadoresEcdsDatasData.TRABALHADORES_ECDS_ID, ecdsID ); -// ecdsData.set( TrabalhadoresEcdssDatasData.ESTADO, new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ) ); -// } -// else -// { -// ecdsData = provider.getEcdsDataByID( ecdsDataID ); -// } -// } -// ecdsData.set( TrabalhadoresEcdsDatasData.DATA, data ); -// provider.saveEcdsData( ecdsData ); -// -// notifyListeners( ProcessoEvent.ACCAO_MUDAR_DATA_MARCACAO ); -// } -// catch( Exception ex ) -// { -// DialogException.showExceptionMessage( ex, "Erro a gravar dados dos ECDs", true ); -// return; -// } -// } - } - - protected void editarObservacoes() - { -// if( observacoesDialog == null ) -// { -// observacoesDialog = new ObservacoesDialog( owner ); -// } -// String texto = ""; -// try -// { -// Integer dataID = provider.getLastEcdsDataIDForEcds( ( Integer ) ecds.get( TrabalhadoresEcdssData.ID ) ); -// IDObject observacoes = provider.getObservacoesEcdsData( dataID ); -// if( observacoes != null ) -// { -// texto = observacoes.toString(); -// } -// texto = observacoesDialog.editarObservacao( texto ); -// if( texto != null ) -// { -// provider.saveObservacoesEcdsData( dataID, texto ); -// notifyListeners( ProcessoEvent.ACCAO_ESCREVER_OBSERVACOES ); -// } -// } -// catch( Exception ex ) -// { -// DialogException.showExceptionMessage( ex, "Erro a carregar dados", true ); -// return; -// } - } - - protected void enviarEmail() - { -// if( ecds == null ) -// { -// return; -// } -// try -// { -// Integer ecdsDataID; -// if( ecdsData == null ) -// { -// Integer ecdsID = ( Integer )ecds.get( TrabalhadoresEcdsData.ID ); -// ecdsDataID = provider.getLastEcdsDataIDForEcds( ecdsID ); -// ecdsData = provider.getEcdsDataByID( ecdsDataID ); -// } -// ecdsDataID = ( Integer ) ecdsData.get( TrabalhadoresEcdsDatasData.ID ); -// provider.saveEmailEcdsData( ecdsDataID, "teste@siprp.pt", "Email de teste.", "" ); -// notifyListeners( ProcessoEvent.ACCAO_ESCREVER_MAIL ); -// } -// catch( Exception ex ) -// { -// DialogException.showExceptionMessage( ex, "Erro a gravar dados", true ); -// return; -// } - } - - protected void mudarEstado() - { -// if( ecds == null ) -// { -// return; -// } -// Integer estado = ( Integer ) ecds.get( TrabalhadoresEcdsData.ESTADO ); -// EstadoChooser chooser = -// new EstadoChooser( owner, ProcessoConstants.TIPO_ECDS, -// estado != null ? estado.intValue() : MedicinaConstants.ESTADO_POR_REALIZAR ); -// chooser.setVisible( true ); -// int novoEstado = chooser.getEstado(); -// if( estado == null || estado.intValue() != novoEstado ) -// { -// try -// { -// ecds.set( TrabalhadoresEcdsData.ESTADO, new Integer( novoEstado ) ); -// provider.saveEcds( ecds ); -// if( ecdsData == null ) -// { -// Integer ecdsID = ( Integer )ecds.get( TrabalhadoresEcdsData.ID ); -// Integer ecdsDataID = provider.getLastEcdsDataIDForEcds( ecdsID ); -// ecdsData = provider.getEcdsDataByID( ecdsDataID ); -// } -// ecdsData.set( TrabalhadoresEcdsDatasData.ESTADO, new Integer( novoEstado ) ); -// provider.saveEcdsData( ecdsData ); -// -// notifyListeners( ProcessoEvent.ACCAO_MUDAR_ESTADO_MARCACAO ); -// } -// catch( Exception ex ) -// { -// DialogException.showExceptionMessage( ex, "Erro a gravar dados", true ); -// return; -// } -// } - } - - public void addProcessoListener( ProcessoListener listener ) - { - PROCESSO_LISTENERS.add( listener ); - } - - public void removeProcessoListener( ProcessoListener listener ) - { - PROCESSO_LISTENERS.remove( listener ); - } - - public void clear() - { -// dataConsultaPanel.setDate( null ); -// estadoButton.setText( " " ); -// ecds = null; -// ecdsData = null; - } - - public void fill( Object value ) - { -// clear(); -// if( value != null ) -// { -// try -// { -// ecds = ( TrabalhadoresEcdsData ) JDO.load( TrabalhadoresEcdsData.class, ( Integer ) value ); -// Date data = ( Date ) ecds.get( TrabalhadoresEcdsData.DATA ); -// Integer estado = ( Integer ) ecds.get( TrabalhadoresEcdsData.ESTADO ); -// dataConsultaPanel.setDate( data ); -// if( estado != null ) -// { -// estadoButton.setText( ESTADOS_EXAME_STR[ estado.intValue() ] ); -// } -// else -// { -// estadoButton.setText( " " ); -// } -// } -// catch( Exception ex ) -// { -// DialogException.showExceptionMessage( ex, "Erro a carregar dados", true ); -// } -// } -// enableButtons(); - } - - protected void enableButtons() - { -// if( ecds != null ) -// { -// Integer estado = ( Integer ) ecds.get( TrabalhadoresEcdsData.ESTADO ); -// dataEcdsPanel.setEnabled( estado == null || estado.intValue() == ESTADO_POR_REALIZAR ); -// estadoButton.setEnabled( ecds.get( TrabalhadoresEcdsData.DATA ) != null ); -// emailButton.setEnabled( ecds.get( TrabalhadoresEcdsData.DATA ) != null ); -// observacoesButton.setEnabled( ecds.get( TrabalhadoresEcdsData.DATA ) != null ); -// } -// else -// { -// dataConsultaPanel.setEnabled( true ); -// estadoButton.setEnabled( false ); -// emailButton.setEnabled( false ); -// observacoesButton.setEnabled( false ); -// } - } - - public void setTrabalhadorID( Integer trabalhadorID ) - { - this.trabalhadorID = trabalhadorID; - } - - public void setProcessoID( Integer processoID ) - { - this.processoID = processoID; - } - - protected void notifyListeners( int accao ) - { - HashMap ids = new HashMap(); - ids.put( ProcessoEvent.TIPO_PROCESSO, processoID ); - if( ecds != null ) - { - ids.put( ProcessoEvent.TIPO_CONSULTA, ( Integer ) ecds.get( TrabalhadoresEcdsData.ID ) ); - } - if( ecdsData != null ) - { - ids.put( ProcessoEvent.TIPO_DATA, ( Integer ) ecds.get( TrabalhadoresEcdsData.ID ) ); - } - ProcessoEvent event = new ProcessoEvent( this, accao, ids ); - for( int n = 0; n < PROCESSO_LISTENERS.size(); n++ ) - { - PROCESSO_LISTENERS.get( n ).processoStateChanged( event ); - } - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/EstadoChooser.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/EstadoChooser.java deleted file mode 100644 index 2816eec1..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/EstadoChooser.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * EstadoChooser.java - * - * Created on 13 de Maio de 2007, 11:54 - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo.detalhes; - -import com.evolute.utils.ui.CustomJDialog; -import java.awt.Color; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.HashMap; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.SwingUtilities; -import siprp.medicina.MedicinaConstants; - -/** - * - * @author Frederico - */ -public class EstadoChooser extends CustomJDialog - implements MedicinaConstants, ActionListener -{ - protected int tipo; - protected int estado; - protected HashMap buttonMap = new HashMap(); - - /** Creates a new instance of EstadoChooser */ - public EstadoChooser( JFrame owner, int tipo, int estadoActual ) - { - super( owner, true ); - this.tipo = tipo; - estado = estadoActual; - setupComponents(); - - if( owner != null ) - { - centerSuper(); - } - else - { - center(); - } - } - - private void setupComponents() - { - setTitle( "Escolha o novo estado" ); - 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 ) - { - button.setForeground( Color.green ); - } - buttonMap.put( button, new Integer( n ) ); - add( button ); - button.addActionListener( this ); - } - pack(); - } - - public void actionPerformed( ActionEvent e ) - { - JButton source = ( JButton ) e.getSource(); - estado = buttonMap.get( source ).intValue(); - close(); - } - - public void close() - { - SwingUtilities.invokeLater( new Runnable(){ - public void run() - { - setVisible( false ); - dispose(); - } - } ); - } - - public int getEstado() - { - return estado; - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ObservacoesDialog.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ObservacoesDialog.java deleted file mode 100644 index 64e314a9..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ObservacoesDialog.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * ObservacoesDialog.java - * - * Created on 13 de Maio de 2007, 13:13 - * - * To change this template, choose Tools | Template Manager - * and open the template in the editor. - */ - -package siprp.medicina.processo.detalhes; - -import com.evolute.utils.ui.CustomJDialog; -import java.awt.BorderLayout; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import javax.swing.SwingUtilities; - -/** - * - * @author Frederico - */ -public class ObservacoesDialog extends CustomJDialog - implements ActionListener -{ - protected JTextArea observacoesText; - protected JButton okButton; - protected JButton cancelButton; - - protected boolean ok = false; - - public static void main( String args[] ) - { - ObservacoesDialog dialog = new ObservacoesDialog( null ); - dialog.editarObservacao( "ISto e a observba" ); - System.exit( 0 ); - } - - /** Creates a new instance of ObservacoesDialog */ - public ObservacoesDialog( JFrame owner ) - { - super( owner, true ); - setupComponents(); - - if( owner != null ) - { - centerSuper(); - } - else - { - center(); - } - } - - private void setupComponents() - { - setTitle( "Coment\u00e1rio" ); - setSize( 400, 200 ); - observacoesText = new JTextArea(); - observacoesText.setLineWrap( true ); - observacoesText.setWrapStyleWord( true ); - JScrollPane scp = new JScrollPane( observacoesText, - JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - okButton = new JButton( "Ok" ); - okButton.addActionListener( this ); - cancelButton = new JButton( "Cancelar" ); - cancelButton.addActionListener( this ); - JPanel buttonPanel = new JPanel(); - - setLayout( new BorderLayout() ); - add( scp, BorderLayout.CENTER ); - add( buttonPanel, BorderLayout.SOUTH ); - - buttonPanel.setLayout( new GridLayout( 1, 2 ) ); - buttonPanel.add( okButton ); - buttonPanel.add( cancelButton ); - } - - public void actionPerformed( ActionEvent e ) - { - Object source = e.getSource(); - if( source.equals( okButton ) ) - { - ok = true; - close(); - } - else - { - ok = false; - close(); - } - } - - public String editarObservacao( String observacao ) - { - observacoesText.setText( observacao ); - setVisible( true ); - return ok ? observacoesText.getText() : null; - } - - public void close() - { - SwingUtilities.invokeLater( new Runnable(){ - public void run() - { - setVisible( false ); - dispose(); - } - } ); - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ProcessoInfoPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ProcessoInfoPanel.java deleted file mode 100644 index ef9621c7..00000000 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ProcessoInfoPanel.java +++ /dev/null @@ -1,229 +0,0 @@ -package siprp.medicina.processo.detalhes; - -import info.clearthought.layout.TableLayout; -import info.clearthought.layout.TableLayoutConstraints; - -import java.awt.GridLayout; -import java.text.DateFormat; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.Locale; -import java.util.Vector; - -import javax.swing.BorderFactory; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextField; - -import siprp.medicina.MedicinaConstants; -import siprp.medicina.MedicinaDataProvider; -import siprp.medicina.processo.ProcessoDataProvider; -import siprp.medicina.processo.data.TrabalhadoresConsultasData; -import siprp.medicina.processo.data.TrabalhadoresProcessoData; - -import com.evolute.utils.dataui.ControllableComponent; -import com.evolute.utils.tables.BaseTable; -import com.evolute.utils.tables.ColumnizedObjectArray; -import com.evolute.utils.tables.VectorTableModel; -import com.evolute.utils.ui.DialogException; - -public class ProcessoInfoPanel - extends JPanel - implements ControllableComponent -{ - protected static final DateFormat D_F = DateFormat.getDateInstance( DateFormat.SHORT, new Locale( "pt", "PT" ) ); - - protected JFrame owner; - protected JTextField descricaoText; - protected JTextField estadoECDsText; - protected BaseTable ecdsTable; - protected VectorTableModel ecdsModel; - protected JTextField estadoConsultasText; - protected BaseTable consultasTable; - protected VectorTableModel consultasModel; - protected JTextField estadoFichaAptidaoText; - protected BaseTable fichaAptidaoTable; - protected VectorTableModel fichaAptidaoModel; - - protected ProcessoDataProvider processoProvider; - - public ProcessoInfoPanel( JFrame owner ) - throws Exception - { - this.owner = owner; - processoProvider = ProcessoDataProvider.getProvider(); - setupComponents(); - } - - private void setupComponents() - { - descricaoText = new JTextField(); - descricaoText.setEditable( false ); - JLabel estadoECDsLabel = new JLabel( "Estado" ); - estadoECDsText = new JTextField(); - estadoECDsText.setEditable( false ); - ecdsModel = new VectorTableModel( new String[]{ "Situa\u00e7\u00e3o", "#", "\u00DAltima Data" } ); - ecdsTable = new BaseTable( ecdsModel ); - JScrollPane ecdsScroll = - new JScrollPane( ecdsTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED ); - JLabel estadoConsultasLabel = new JLabel( "Estado" ); - estadoConsultasText = new JTextField(); - estadoConsultasText.setEditable( false ); - consultasModel = new VectorTableModel( new String[]{ "Situa\u00e7\u00e3o", "#", "\u00DAltima Data" } ); - consultasTable = new BaseTable( consultasModel ); - JScrollPane consultasScroll = - new JScrollPane( consultasTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED ); - JLabel estadoFichaAptidaoLabel = new JLabel( "Estado" ); - estadoFichaAptidaoText = new JTextField(); - estadoFichaAptidaoText.setEditable( false ); - fichaAptidaoModel = new VectorTableModel( new String[]{ "Situa\u00e7\u00e3o", "Resultado", "\u00DAltima Data" } ); - fichaAptidaoTable = new BaseTable( fichaAptidaoModel ); - JScrollPane fichaAptidaoScroll = - new JScrollPane( fichaAptidaoTable, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED ); - - JPanel ecdsPanel = new JPanel(); - ecdsPanel.setBorder( - BorderFactory.createTitledBorder( - BorderFactory.createEtchedBorder(), - "ECDs") ); - double ecdsRows[] = new double[]{ TableLayoutConstraints.MINIMUM, TableLayoutConstraints.FILL }; - double ecdsCols[] = new double[]{ TableLayoutConstraints.MINIMUM, TableLayoutConstraints.FILL }; - TableLayout ecdsLayout = new TableLayout( ecdsCols, ecdsRows ); - ecdsPanel.setLayout( ecdsLayout ); - ecdsPanel.add( estadoECDsLabel, new TableLayoutConstraints( 0, 0 ) ); - ecdsPanel.add( estadoECDsText, new TableLayoutConstraints( 1, 0 ) ); - ecdsPanel.add( ecdsScroll, new TableLayoutConstraints( 0, 1, 1, 1 ) ); - - JPanel consultasPanel = new JPanel(); - consultasPanel.setBorder( - BorderFactory.createTitledBorder( - BorderFactory.createEtchedBorder(), - "Consultas") ); - double consultasRows[] = new double[]{ TableLayoutConstraints.MINIMUM, TableLayoutConstraints.FILL }; - double consultasCols[] = new double[]{ TableLayoutConstraints.MINIMUM, TableLayoutConstraints.FILL }; - TableLayout consultasLayout = new TableLayout( consultasCols, consultasRows ); - consultasPanel.setLayout( consultasLayout ); - consultasPanel.add( estadoConsultasLabel, new TableLayoutConstraints( 0, 0 ) ); - consultasPanel.add( estadoConsultasText, new TableLayoutConstraints( 1, 0 ) ); - consultasPanel.add( consultasScroll, new TableLayoutConstraints( 0, 1, 1, 1 ) ); - - JPanel fichaAptidaoPanel = new JPanel(); - fichaAptidaoPanel.setBorder( - BorderFactory.createTitledBorder( - BorderFactory.createEtchedBorder(), - "Ficha de Aptid\u00e3o") ); - double fichaAptidaoRows[] = new double[]{ TableLayoutConstraints.MINIMUM, TableLayoutConstraints.FILL }; - double fichaAptidaoCols[] = new double[]{ TableLayoutConstraints.MINIMUM, TableLayoutConstraints.FILL }; - TableLayout fichaAptidaoLayout = new TableLayout( fichaAptidaoCols, fichaAptidaoRows ); - fichaAptidaoPanel.setLayout( fichaAptidaoLayout ); - fichaAptidaoPanel.add( estadoFichaAptidaoLabel, new TableLayoutConstraints( 0, 0 ) ); - fichaAptidaoPanel.add( estadoFichaAptidaoText, new TableLayoutConstraints( 1, 0 ) ); - fichaAptidaoPanel.add( fichaAptidaoScroll, new TableLayoutConstraints( 0, 1, 1, 1 ) ); - - double rows[] = new double[]{ TableLayoutConstraints.MINIMUM, TableLayoutConstraints.FILL, - TableLayoutConstraints.FILL, TableLayoutConstraints.FILL }; - double cols[] = new double[]{ TableLayoutConstraints.FILL }; - TableLayout layout = new TableLayout( cols, rows ); - layout.setHGap( 5 ); - layout.setVGap( 5 ); - setLayout( layout ); - add( descricaoText, new TableLayoutConstraints( 0, 0 ) ); - add( ecdsPanel, new TableLayoutConstraints( 0, 1 ) ); - add( consultasPanel, new TableLayoutConstraints( 0, 2 ) ); - add( fichaAptidaoPanel, new TableLayoutConstraints( 0, 3 ) ); - } - - @Override - public void setEnabled( boolean enabled ) - { - // TODO Auto-generated method stub - super.setEnabled( enabled ); - } - - @Override - public void clear() - { - descricaoText.setText( "" ); - ecdsModel.clearAll(); - consultasModel.clearAll(); - fichaAptidaoModel.clearAll(); - } - - @Override - public Object save() - { - // TODO Auto-generated method stub - return null; - } - - @Override - public void fill( Object value ) - { - clear(); - Integer id = ( Integer ) value; - if( id != null ) - { - try - { - TrabalhadoresProcessoData processo = processoProvider.getProcessoByID( id ); - if( processo == null ) - { - throw new Exception( "Processo n\u00e3o existente: " + id ); - } - Date dataInicio = ( Date ) processo.get( TrabalhadoresProcessoData.DATA_INICIO ); - Date dataFim = ( Date ) processo.get( TrabalhadoresProcessoData.DATA_FIM ); - String codigoEstado = ( String ) processo.get( TrabalhadoresProcessoData.ESTADO ); - String estado = processoProvider.getDescricaoEstadoProcessoByCodigo( codigoEstado ); - String desc = D_F.format( dataInicio ); - Integer motivo = ( Integer ) processo.get( TrabalhadoresProcessoData.MOTIVO ); - desc += ": " + MedicinaDataProvider.MOTIVOS_BY_ID.get( motivo ) + " : " + estado; - descricaoText.setText( desc ); - - Integer consultaIds[] = processoProvider.getConsultaIDsForProcesso( id ); - Arrays.sort( consultaIds ); - HashMap numeroConsultasPorEstado = new HashMap(); - HashMap dataConsultaPorEstado = new HashMap(); - for( int n = 0; n < consultaIds.length; n++ ) - { - TrabalhadoresConsultasData consulta = processoProvider.getConsultaByID( consultaIds[ n ] ); - Date dataConsulta = ( Date ) consulta.get( TrabalhadoresConsultasData.DATA ); - Integer estadoConsulta = ( Integer ) consulta.get( TrabalhadoresConsultasData.ESTADO ); - if( estadoConsulta != null ) - { - Integer oldCount = numeroConsultasPorEstado.get( estadoConsulta ); - if( oldCount == null ) - { - oldCount = new Integer( 0 ); - } - numeroConsultasPorEstado.put( estadoConsulta, new Integer( oldCount.intValue() + 1 ) ); - } - dataConsultaPorEstado.put( estadoConsulta, dataConsulta ); - } - Vector consultasValues = consultasModel.getValues(); - Integer estadosConsultaUsados[] = numeroConsultasPorEstado.keySet().toArray( new Integer[ numeroConsultasPorEstado.size() ] ); - Arrays.sort( estadosConsultaUsados ); - for( int n = 0; n < estadosConsultaUsados.length; n++ ) - { - String estadoStr = MedicinaConstants.ESTADOS_CONSULTA_STR[ estadosConsultaUsados[ n ].intValue() ]; - Integer numero = numeroConsultasPorEstado.get( estadosConsultaUsados[ n ] ); - Date dataUltimaConsulta = dataConsultaPorEstado.get( estadosConsultaUsados ); - Object linha[] = new Object[]{ estadoStr, numero, dataUltimaConsulta }; - consultasValues.add( new ColumnizedObjectArray( linha, false ) ); - } - consultasModel.setValues( consultasValues ); - } - catch( Exception ex ) - { - DialogException.showExceptionMessage( ex, "Erro a carregar dados do processo", true ); - return; - } - } - - } -} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/logic/MedicinaProcessoLogic.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/logic/MedicinaProcessoLogic.java index 619747bf..86a9fde9 100755 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/logic/MedicinaProcessoLogic.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/logic/MedicinaProcessoLogic.java @@ -10,6 +10,7 @@ import leaf.LeafWindow.LeafObject; import siprp.database.cayenne.objects.BaseObject; import siprp.database.cayenne.objects.Empresas; import siprp.database.cayenne.objects.Estabelecimentos; +import siprp.database.cayenne.objects.Lembretes; import siprp.database.cayenne.objects.Prestadores; import siprp.database.cayenne.objects.Trabalhadores; import siprp.database.cayenne.objects.TrabalhadoresConsultas; @@ -80,6 +81,9 @@ public class MedicinaProcessoLogic extends LeafLogic @Action(isSave = false) public static final String CREATE_PROCESSO = "CREATE_PROCESSO"; + @Action(isSave = false) + public static final String CREATE_LEMBRETE = "CREATE_LEMBRETE"; + @Action(isSave = false) public static final String CREATE_FICHA = "CREATE_FICHA"; @@ -92,6 +96,9 @@ public class MedicinaProcessoLogic extends LeafLogic @Action(isSave = false) public static final String CREATE_CONSULTA_MARCACAO_EMAIL = "CREATE_CONSULTA_MARCACAO_EMAIL"; + @Action(isSave = false) + public static final String CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS = "CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS"; + @Action(isSave = false) public static final String CREATE_CONSULTA_MARCACAO_OBSERVACOES = "CREATE_CONSULTA_MARCACAO_OBSERVACOES"; @@ -110,6 +117,9 @@ public class MedicinaProcessoLogic extends LeafLogic @Action(isSave = true) public static final String SAVE_PROCESSO = "SAVE_PROCESSO"; + @Action(isSave = true) + public static final String SAVE_LEMBRETE = "SAVE_LEMBRETE"; + @Action(isSave = true) public static final String SAVE_CONSULTA = "SAVE_CONSULTA"; @@ -180,7 +190,7 @@ public class MedicinaProcessoLogic extends LeafLogic public static final String ANULAR_EXAME_MARCACAO = "ANULAR_EXAME_MARCACAO"; private LembretesDataProvider lembretesDataProvider = null; - + private MedicinaDAO provider = null; public Empresas currentEmpresa = null; @@ -297,7 +307,7 @@ public class MedicinaProcessoLogic extends LeafLogic } } - private void novoLembreteRemarcacao( String mensagem, boolean isConsulta) + private void novoLembreteRemarcacao( String mensagem, boolean isConsulta ) { Integer tipoID = lembretesDataProvider.getTipoLembreteIDByCodigo( LembretesConstants.CODE_REMARCACOES ); try @@ -315,7 +325,7 @@ public class MedicinaProcessoLogic extends LeafLogic e.printStackTrace(); } } - + @LeafLogicActionBinding(actions = DESMARCAR_SIPRP_CONSULTA_MARCACAO) public void desmarcarConsultaSiprp() { @@ -420,81 +430,81 @@ public class MedicinaProcessoLogic extends LeafLogic runActionLater( SAVE_EXAME_MARCACAO ); } } - - @LeafLogicActionBinding(actions=SELECT_TRABALHADOR) + + @LeafLogicActionBinding(actions = SELECT_TRABALHADOR) public Trabalhadores selectTrabalhador( Trabalhadores trabalhador ) { this.currentTrabalhador = trabalhador; return this.currentTrabalhador; } - - @LeafLogicActionBinding(actions=SELECT_PROCESSO) + + @LeafLogicActionBinding(actions = SELECT_PROCESSO) public TrabalhadoresProcesso selectProcesso( TrabalhadoresProcesso processo ) { this.currentProcesso = processo; return this.currentProcesso; } - - @LeafLogicActionBinding(actions=SELECT_CONSULTA) + + @LeafLogicActionBinding(actions = SELECT_CONSULTA) public TrabalhadoresConsultas selectConsulta( TrabalhadoresConsultas consulta ) { this.currentConsulta = consulta; return this.currentConsulta; } - - @LeafLogicActionBinding(actions=SELECT_CONSULTA_MARCACAO) + + @LeafLogicActionBinding(actions = SELECT_CONSULTA_MARCACAO) public TrabalhadoresConsultasDatas selectConsultaMarcacao( TrabalhadoresConsultasDatas consultaMarcacao ) { this.currentConsultaMarcacao = consultaMarcacao; return this.currentConsultaMarcacao; } - - @LeafLogicActionBinding(actions=SELECT_CONSULTA_MARCACAO_EMAIL) + + @LeafLogicActionBinding(actions = SELECT_CONSULTA_MARCACAO_EMAIL) public TrabalhadoresConsultasDatasEmails selectConsultaMarcacaoEmail( TrabalhadoresConsultasDatasEmails consultaMarcacaoEmail ) { this.currentConsultaMarcacaoEmail = consultaMarcacaoEmail; return this.currentConsultaMarcacaoEmail; } - - @LeafLogicActionBinding(actions=SELECT_CONSULTA_MARCACAO_OBSERVACAO) + + @LeafLogicActionBinding(actions = SELECT_CONSULTA_MARCACAO_OBSERVACAO) public TrabalhadoresConsultasDatasObservacoes selectConsultaMarcacaoObservacoes( TrabalhadoresConsultasDatasObservacoes consultaMarcacaoObservacoes ) { this.currentConsultaMarcacaoObservacao = consultaMarcacaoObservacoes; return this.currentConsultaMarcacaoObservacao; } - - @LeafLogicActionBinding(actions=SELECT_EXAME) + + @LeafLogicActionBinding(actions = SELECT_EXAME) public TrabalhadoresEcds selectExame( TrabalhadoresEcds exame ) { this.currentExame = exame; return this.currentExame; } - - @LeafLogicActionBinding(actions=SELECT_EXAME_MARCACAO) + + @LeafLogicActionBinding(actions = SELECT_EXAME_MARCACAO) public TrabalhadoresEcdsDatas selectExameMarcacao( TrabalhadoresEcdsDatas exameMarcacao ) { this.currentExameMarcacao = exameMarcacao; return this.currentExameMarcacao; } - - @LeafLogicActionBinding(actions=SELECT_EXAME_MARCACAO_EMAIL) + + @LeafLogicActionBinding(actions = SELECT_EXAME_MARCACAO_EMAIL) public TrabalhadoresEcdsDatasEmails selectExameMarcacaoEmail( TrabalhadoresEcdsDatasEmails exameMarcacaoEmail ) { this.currentExameMarcacaoEmail = exameMarcacaoEmail; return this.currentExameMarcacaoEmail; } - - @LeafLogicActionBinding(actions=SELECT_EXAME_MARCACAO_OBSERVACAO) + + @LeafLogicActionBinding(actions = SELECT_EXAME_MARCACAO_OBSERVACAO) public TrabalhadoresEcdsDatasObservacoes selectExameMarcacaoObservacoes( TrabalhadoresEcdsDatasObservacoes exameMarcacaoObservacoes ) { this.currentExameMarcacaoObservacao = exameMarcacaoObservacoes; return this.currentExameMarcacaoObservacao; } - - @LeafLogicActionBinding(actions=SELECT_FICHA) + + @LeafLogicActionBinding(actions = SELECT_FICHA) public TrabalhadoresFichasAptidao selectFichaAptidao( TrabalhadoresFichasAptidao ficha ) { - this.currentFicha= ficha; + this.currentFicha = ficha; return this.currentFicha; } @@ -571,9 +581,9 @@ public class MedicinaProcessoLogic extends LeafLogic { e.printStackTrace(); } -// currentFicha = new TrabalhadoresFichasAptidao(); -// currentFicha.setToTrabalhadoresProcesso( currentProcesso ); -// return currentFicha; + // currentFicha = new TrabalhadoresFichasAptidao(); + // currentFicha.setToTrabalhadoresProcesso( currentProcesso ); + // return currentFicha; } @LeafLogicActionBinding(actions = { @@ -613,6 +623,17 @@ public class MedicinaProcessoLogic extends LeafLogic return currentConsultaMarcacaoEmail; } + @LeafLogicActionBinding(actions = { + CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS + }) + public TrabalhadoresConsultasDatasEmails createConsultaMarcacaoEmailsVacinas() + { + currentConsultaMarcacaoEmail = new TrabalhadoresConsultasDatasEmails(); + currentConsultaMarcacaoEmail.setToTrabalhadoresConsultasDatas( currentConsultaMarcacao ); + runActionLater( SAVE_CONSULTA_MARCACAO_EMAIL ); + return currentConsultaMarcacaoEmail; + } + @LeafLogicActionBinding(actions = { CREATE_CONSULTA_MARCACAO_OBSERVACOES }) @@ -677,8 +698,20 @@ public class MedicinaProcessoLogic extends LeafLogic return currentProcesso; } + @LeafLogicActionBinding(actions = CREATE_LEMBRETE) + public Lembretes createLembrete() + { + Lembretes result = new Lembretes(); + result.setToTrabalhadores( currentTrabalhador ); + result.setToEmpresas( currentEmpresa ); + result.setToEstabelecimentos( currentEstabelecimento ); + result.setToLembretesTipos( provider.getTipoLembretesCustomizavel() ); + runActionLater( SAVE_LEMBRETE, result ); + return result; + } + @LeafLogicActionBinding(actions = { - SAVE_PROCESSO, SAVE_CONSULTA, SAVE_CONSULTA_MARCACAO, SAVE_CONSULTA_MARCACAO_EMAIL, SAVE_CONSULTA_MARCACAO_OBSERVACOES, SAVE_EXAME, SAVE_EXAME_MARCACAO, SAVE_EXAME_MARCACAO_EMAIL, SAVE_EXAME_MARCACAO_OBSERVACOES + SAVE_PROCESSO, SAVE_LEMBRETE, SAVE_CONSULTA, SAVE_CONSULTA_MARCACAO, SAVE_CONSULTA_MARCACAO_EMAIL, SAVE_CONSULTA_MARCACAO_OBSERVACOES, SAVE_EXAME, SAVE_EXAME_MARCACAO, SAVE_EXAME_MARCACAO_EMAIL, SAVE_EXAME_MARCACAO_OBSERVACOES }) public void saveObject( BaseObject object ) { @@ -700,7 +733,7 @@ public class MedicinaProcessoLogic extends LeafLogic if( currentTrabalhador != null && currentTrabalhador.getToEstabelecimentos() != null ) { result = consulta ? currentTrabalhador.getToEstabelecimentos().getToPrestadores() : currentTrabalhador.getToEstabelecimentos().getToPrestadores1(); - if(Prestadores.prestadorNulo.equals( result )) + if( Prestadores.prestadorNulo.equals( result ) ) { result = null; } diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java index ae185ae2..83c34d52 100755 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java @@ -1,19 +1,23 @@ package siprp.medicina.processo.ui; import static siprp.medicina.processo.logic.MedicinaProcessoLogic.CLOSE; -import static siprp.medicina.processo.logic.MedicinaProcessoLogic.REALIZAR_PARCIAL_EXAME_MARCACAO; +import static siprp.medicina.processo.logic.MedicinaProcessoLogic.*; import info.clearthought.layout.TableLayout; import info.clearthought.layout.TableLayoutConstraints; import java.awt.Dimension; +import java.util.Date; import java.util.List; import javax.swing.JSeparator; +import leaf.LeafCalendarDialog; import leaf.LeafOptionDialog; +import leaf.LeafTextDialog; import leaf.LeafWindow; import leaf.OrderedMap; import leaf.LeafLogic.LeafUIActionBinding; +import siprp.database.cayenne.objects.Lembretes; import siprp.database.cayenne.objects.PrtGruposProtocolo; import siprp.database.cayenne.objects.Trabalhadores; import siprp.database.cayenne.objects.TrabalhadoresEcd; @@ -49,11 +53,11 @@ public class MedicinaProcessoWindow extends LeafWindow panelProcessoToolbar = new ProcessoAccoesPanel( this ); panelProcessoTree = new ProcessoTreePanel( this ); panelTrabalhadoresChooser = new TrabalhadoresChooserPanel( this ); - + startup(); } - public MedicinaProcessoWindow( Trabalhadores trabalhador ) throws Exception + public MedicinaProcessoWindow(Trabalhadores trabalhador) throws Exception { super( new MedicinaProcessoLogic() ); panelProcessoDados = new ProcessoDadosPanel( this ); @@ -63,7 +67,7 @@ public class MedicinaProcessoWindow extends LeafWindow startup(); runAction( MedicinaProcessoLogic.LOAD_TRABALHADOR, trabalhador ); } - + private void startup() { setSize( WINDOW_DIMENSION ); @@ -121,20 +125,20 @@ public class MedicinaProcessoWindow extends LeafWindow { OrderedMap allGrupos = marcacao.getStatesForeGruposExames(); OrderedMap grupos = new OrderedMap(); - for(int row = 0; row < allGrupos.rows(); ++row) + for( int row = 0; row < allGrupos.rows(); ++row ) { List grupo = allGrupos.getRow( row ); - if( grupo != null && grupo.size() > 1) + if( grupo != null && grupo.size() > 1 ) { String estado = grupo.get( 1 ).toString(); - if(MedicinaConstants.ESTADOS_EXAME_STR[MedicinaConstants.ESTADO_POR_REALIZAR].equals( estado )) + if( MedicinaConstants.ESTADOS_EXAME_STR[MedicinaConstants.ESTADO_POR_REALIZAR].equals( estado ) ) { PrtGruposProtocolo key = allGrupos.getKeyForValue( grupo ); - grupos.addRow( key, grupo); + grupos.addRow( key, grupo ); } } } - + LeafOptionDialog option = new LeafOptionDialog( grupos, null, null, "Marcar falta para:", "Faltou >>" ); List selected = option.getSelected(); if( selected != null ) @@ -145,7 +149,8 @@ public class MedicinaProcessoWindow extends LeafWindow { ecd.setEstado( MedicinaConstants.ESTADO_FALTOU ); atLeastOneFalta = true; - }else + } + else { ecd.setEstado( MedicinaConstants.ESTADO_REALIZADO ); atLeastOneRealizado = true; @@ -154,22 +159,43 @@ public class MedicinaProcessoWindow extends LeafWindow } } } - if(atLeastOneFalta) + if( atLeastOneFalta ) { - if(atLeastOneRealizado) + if( atLeastOneRealizado ) { - marcacao.setEstado( MedicinaConstants.ESTADO_PARCIALMENTE_REALIZADO); - }else + marcacao.setEstado( MedicinaConstants.ESTADO_PARCIALMENTE_REALIZADO ); + } + else { - marcacao.setEstado( MedicinaConstants.ESTADO_FALTOU); + marcacao.setEstado( MedicinaConstants.ESTADO_FALTOU ); } - }else + } + else { - if(atLeastOneRealizado) + if( atLeastOneRealizado ) + { + marcacao.setEstado( MedicinaConstants.ESTADO_REALIZADO ); + } + else { - marcacao.setEstado( MedicinaConstants.ESTADO_REALIZADO); - }else + } + } + } + + @LeafUIActionBinding(action = CREATE_LEMBRETE) + public void createLembrete( Lembretes lembrete ) + { + if( lembrete != null ) + { + Date date = new LeafCalendarDialog( this, null ).getDate(); + if( date != null && date.getTime() != 0 ) { + String text = new LeafTextDialog( this, null, "", true ).getText(); + if( text != null ) + { + lembrete.setData( date ); + lembrete.setDescricao( text ); + } } } } diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoAccoesPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoAccoesPanel.java index cbc5129a..81f6abe0 100755 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoAccoesPanel.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoAccoesPanel.java @@ -93,6 +93,9 @@ public class ProcessoAccoesPanel extends JPanel // trabalhador @ActionActivation(onSelect = CREATE_PROCESSO, onChange = "") public final LeafButton buttonNovoTrabalhadorProcesso = new LeafButton( "Novo Processo" ); + + @ActionActivation(onSelect = CREATE_LEMBRETE, onChange = "") + public final LeafButton buttonNovoLembrete = new LeafButton( "Novo Lembrete" ); // processo @ActionActivation(onSelect = FECHAR_PROCESSO, onChange = "") @@ -120,7 +123,9 @@ public class ProcessoAccoesPanel extends JPanel // marcacao consulta @ActionActivation(onSelect = CREATE_CONSULTA_MARCACAO_EMAIL, onChange = "") - public final LeafButton buttonNovoConsultaMarcacaoEmail = new LeafButton( "Enviar e-Mail" ); + public final LeafButton buttonNovoConsultaMarcacaoEmail = new LeafButton( "e-Mail" ); + @ActionActivation(onSelect = CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS, onChange = "") + public final LeafButton buttonNovoConsultaMarcacaoEmailVacinas = new LeafButton( "e-Mail: Boletim" ); @ActionActivation(onSelect = CREATE_CONSULTA_MARCACAO_OBSERVACOES, onChange = "") public final LeafButton buttonNovoConsultaMarcacaoObservacoes = new LeafButton( "Adicionar Observa" + ccedil + atilde + "o" ); @@ -146,7 +151,7 @@ public class ProcessoAccoesPanel extends JPanel // marcacao exame @ActionActivation(onSelect = CREATE_EXAME_MARCACAO_EMAIL, onChange = "") - public final LeafButton buttonNovoExameMarcacaoEmail = new LeafButton( "Enviar e-Mail" ); + public final LeafButton buttonNovoExameMarcacaoEmail = new LeafButton( "e-Mail" ); @ActionActivation(onSelect = CREATE_EXAME_MARCACAO_OBSERVACOES, onChange = "") public final LeafButton buttonNovoExameMarcacaoObservacoes = new LeafButton( "Adicionar Observa" + ccedil + atilde + "o" ); @@ -236,6 +241,7 @@ public class ProcessoAccoesPanel extends JPanel } } buttonNovoTrabalhadorProcesso.setEnabled( !processoAberto ); + buttonNovoLembrete.setEnabled( true ); cardLayout.show( cardPanel, PANEL_TRABALHADOR_NAME ); } else @@ -312,6 +318,7 @@ public class ProcessoAccoesPanel extends JPanel if( marcacao != null ) { boolean porRealizar = new Integer( MedicinaConstants.ESTADO_POR_REALIZAR ).equals( marcacao.getEstado() ); + boolean realizada = new Integer( MedicinaConstants.ESTADO_REALIZADO ).equals( marcacao.getEstado() ); List list = marcacao.getTrabalhadoresConsultasDatasObservacoesArray(); boolean noObservacoes = (list == null || list.size() == 0) ? true : false; buttonConsultaMarcacaoDesmarcarSiprp.setEnabled( porRealizar ); @@ -319,6 +326,7 @@ public class ProcessoAccoesPanel extends JPanel buttonConsultaMarcacaoFaltou.setEnabled( porRealizar ); buttonConsultaMarcacaoRealizar.setEnabled( porRealizar ); buttonNovoConsultaMarcacaoObservacoes.setEnabled( noObservacoes ); + buttonNovoConsultaMarcacaoEmailVacinas.setEnabled( realizada ); cardLayout.show( cardPanel, PANEL_CONSULTA_MARCACAO_NAME ); } else @@ -423,7 +431,7 @@ public class ProcessoAccoesPanel extends JPanel private void setupTrabalhadorPanel() { - setupSimpleActionsPanel( panelTrabalhador, buttonNovoTrabalhadorProcesso, new JPanel() ); + setupSimpleActionsPanel( panelTrabalhador, buttonNovoTrabalhadorProcesso, buttonNovoLembrete, new JPanel() ); } private void setupProcessoPanel() @@ -449,7 +457,7 @@ public class ProcessoAccoesPanel extends JPanel { JPanel consultaMarcacaoUpperPanel = new JPanel(); JPanel consultaMarcacaoLowerPanel = new JPanel(); - setupSimpleActionsPanel( consultaMarcacaoUpperPanel, buttonNovoConsultaMarcacaoEmail, buttonNovoConsultaMarcacaoObservacoes ); + setupSimpleActionsPanel( consultaMarcacaoUpperPanel, buttonNovoConsultaMarcacaoEmail, buttonNovoConsultaMarcacaoEmailVacinas, buttonNovoConsultaMarcacaoObservacoes ); setupSimpleActionsPanel( consultaMarcacaoLowerPanel, buttonConsultaMarcacaoRealizar, buttonConsultaMarcacaoDesmarcarSiprp, buttonConsultaMarcacaoDesmarcarTrabalhador, buttonConsultaMarcacaoFaltou); setupTopBottomSimpleActionsPanel(panelConsultaMarcacao, consultaMarcacaoUpperPanel, consultaMarcacaoLowerPanel); } diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java index 33f428e4..3b9b6755 100755 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java @@ -564,7 +564,7 @@ public class ProcessoDadosPanel extends JPanel @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO_EMAIL) public void setForNewConsultaMarcacaoEmail( TrabalhadoresConsultasDatasEmails email ) { - if(email != null) + if( email != null ) { TrabalhadoresConsultasDatas consultaMarcacao = email.getToTrabalhadoresConsultasDatas(); if( consultaMarcacao != null ) @@ -572,7 +572,33 @@ public class ProcessoDadosPanel extends JPanel TrabalhadoresConsultas consulta = consultaMarcacao.getToTrabalhadoresConsultas(); if( consulta != null ) { - String[] subjectAndBody = sendMail(consulta.getToTrabalhadores(), consultaMarcacao.getDataString(), SingletonConstants.LETTER_CONSULTA, SingletonConstants.SUBJECT_CONSULTA ); + String[] subjectAndBody = MedicinaConstants.ESTADO_REALIZADO == consulta.getEstado() ? sendMail( consulta.getToTrabalhadores(), consultaMarcacao.getDataString(), "", "" ) : sendMail( consulta.getToTrabalhadores(), consultaMarcacao.getDataString(), SingletonConstants.LETTER_CONSULTA, SingletonConstants.SUBJECT_CONSULTA ); + if( subjectAndBody != null ) + { + email.setSubject( subjectAndBody[0] ); + email.setBody( subjectAndBody[1] ); + } + else + { + parentWindow.abortAction( true ); + } + } + } + } + } + + @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO_EMAIL_VACINAS) + public void setForNewConsultaMarcacaoEmailVacinas( TrabalhadoresConsultasDatasEmails email ) + { + if( email != null ) + { + TrabalhadoresConsultasDatas consultaMarcacao = email.getToTrabalhadoresConsultasDatas(); + if( consultaMarcacao != null ) + { + TrabalhadoresConsultas consulta = consultaMarcacao.getToTrabalhadoresConsultas(); + if( consulta != null ) + { + String[] subjectAndBody = sendMail( consulta.getToTrabalhadores(), consultaMarcacao.getDataString(), SingletonConstants.LETTER_CONSULTA_VACINAS, SingletonConstants.SUBJECT_CONSULTA_VACINAS ); if( subjectAndBody != null ) { email.setSubject( subjectAndBody[0] ); @@ -587,9 +613,9 @@ public class ProcessoDadosPanel extends JPanel } } - private String[] sendMail(Trabalhadores trabalhador, String data, String letterName, String subjectName ) + private String[] sendMail( Trabalhadores trabalhador, String data, String letterName, String subjectName ) { - String [] result = null; + String[] result = null; if( trabalhador != null ) { Estabelecimentos estabelecimento = trabalhador.getToEstabelecimentos(); @@ -599,24 +625,24 @@ public class ProcessoDadosPanel extends JPanel String bcc = ""; String subject = ""; String body = ""; - - subject = ( String ) Singleton.getInstance( subjectName ); - if( subject == null) + + subject = (String) Singleton.getInstance( subjectName ); + if( subject == null ) { subject = ""; } subject = subject.replaceAll( CompanyDataLoader.NOME, trabalhador.getNome() ); - - body = ( String ) Singleton.getInstance( letterName ); - if( body == null) + + body = (String) Singleton.getInstance( letterName ); + if( body == null ) { body = ""; } body = body.replaceAll( CompanyDataLoader.DATA, data ); body = body.replaceAll( CompanyDataLoader.NOME, trabalhador.getNome() ); -// body = body.replaceAll( CompanyDataLoader.MORADA, morada ); + // body = body.replaceAll( CompanyDataLoader.MORADA, morada ); body = body.replaceAll( "%0A", "
" ); - + Contactos estabelecimentoContacto = estabelecimento.getToContactos(); if( estabelecimentoContacto != null ) { @@ -642,8 +668,7 @@ public class ProcessoDadosPanel extends JPanel } return result; } - - + @LeafUIActionBinding(action = CREATE_CONSULTA_MARCACAO_OBSERVACOES) public void setForNewConsultaMarcacaoObservacoes( TrabalhadoresConsultasDatasObservacoes observacoes ) { @@ -691,7 +716,7 @@ public class ProcessoDadosPanel extends JPanel @LeafUIActionBinding(action = CREATE_EXAME_MARCACAO_EMAIL) public void setForNewExameMarcacaoEmail( TrabalhadoresEcdsDatasEmails email ) { - if(email != null) + if( email != null ) { TrabalhadoresEcdsDatas exameMarcacao = email.getToTrabalhadoresEcdsDatas(); if( exameMarcacao != null ) @@ -699,7 +724,10 @@ public class ProcessoDadosPanel extends JPanel TrabalhadoresEcds exame = exameMarcacao.getToTrabalhadoresEcds(); if( exame != null ) { - String[] subjectAndBody = sendMail(exame.getToTrabalhadores(), exameMarcacao.getDataString(), SingletonConstants.LETTER_EXAMES, SingletonConstants.SUBJECT_EXAMES ); + String[] subjectAndBody = MedicinaConstants.ESTADO_REALIZADO == exame.getEstado() ? + sendMail( exame.getToTrabalhadores(), exame.getDataString(), "", "" ) + : + sendMail( exame.getToTrabalhadores(), exameMarcacao.getDataString(), SingletonConstants.LETTER_EXAMES, SingletonConstants.SUBJECT_EXAMES ); if( subjectAndBody != null ) { email.setSubject( subjectAndBody[0] ); @@ -733,7 +761,7 @@ public class ProcessoDadosPanel extends JPanel public void updateToSaveConsultaMarcacao( TrabalhadoresConsultasDatas marcacao ) { Prestadores prestador = (Prestadores) inputConsultaMarcacaoPrestador.getSelectedObject(); - prestador = Prestadores.prestadorNulo.equals( prestador ) ? null : prestador; + prestador = Prestadores.prestadorNulo.equals( prestador ) ? null : prestador; marcacao.setToPrestadores( prestador ); } @@ -747,7 +775,7 @@ public class ProcessoDadosPanel extends JPanel public void updateToSaveExameMarcacao( TrabalhadoresEcdsDatas marcacao ) { Prestadores prestador = (Prestadores) inputExameMarcacaoPrestador.getSelectedObject(); - prestador = Prestadores.prestadorNulo.equals( prestador ) ? null : prestador; + prestador = Prestadores.prestadorNulo.equals( prestador ) ? null : prestador; marcacao.setToPrestadores( prestador ); List allEcd = marcacao.getTrabalhadoresEcdArray();