From 53ff4dcc71976e5da9b357b70a3d19ea5bad9dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiago=20Sim=C3=A3o?= Date: Wed, 2 Jul 2008 16:51:06 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@734 bb69d46d-e84e-40c8-a05a-06db0d633741 --- trunk/SIPRPSoft/src/SIPRPNode.driver.xml | 3 +- trunk/SIPRPSoft/src/leaf/LeafInputField.java | 22 +++++++----- .../SIPRPSoft/src/leaf/LeafOptionDialog.java | 10 ++---- .../companydataloaders/SIPRPDataLoader.java | 18 +++++----- .../objects/TrabalhadoresFichasAptidao.java | 36 ++++++++++++++++++- .../cayenne/providers/MedicinaDAO.java | 8 +++-- .../processo/logic/MedicinaProcessoLogic.java | 31 +++++++++++++--- .../processo/ui/MedicinaProcessoWindow.java | 2 +- .../processo/ui/ProcessoDadosPanel.java | 4 +-- .../processo/ui/ProcessoTreePanel.java | 8 ++--- 10 files changed, 102 insertions(+), 40 deletions(-) diff --git a/trunk/SIPRPSoft/src/SIPRPNode.driver.xml b/trunk/SIPRPSoft/src/SIPRPNode.driver.xml index 9634e304..0ef0fa4e 100644 --- a/trunk/SIPRPSoft/src/SIPRPNode.driver.xml +++ b/trunk/SIPRPSoft/src/SIPRPNode.driver.xml @@ -1,6 +1,7 @@ - + + diff --git a/trunk/SIPRPSoft/src/leaf/LeafInputField.java b/trunk/SIPRPSoft/src/leaf/LeafInputField.java index 0754195c..f0dae1c5 100644 --- a/trunk/SIPRPSoft/src/leaf/LeafInputField.java +++ b/trunk/SIPRPSoft/src/leaf/LeafInputField.java @@ -4,6 +4,7 @@ import info.clearthought.layout.TableLayout; import info.clearthought.layout.TableLayoutConstraints; import java.awt.Color; +import java.awt.Container; import java.awt.Dimension; import java.awt.GradientPaint; import java.awt.Graphics; @@ -23,7 +24,6 @@ import java.util.Map; import javax.swing.BorderFactory; import javax.swing.JComponent; -import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSeparator; @@ -114,7 +114,7 @@ public class LeafInputField extends JPanel implements F private String getStringFromUser() { - LeafTextDialog textDialog = new LeafTextDialog( getParentFrame(), this, (String) object, true ); + LeafTextDialog textDialog = new LeafTextDialog( getParentWindow(), this, (String) object, true ); return textDialog.getText(); } @@ -124,7 +124,7 @@ public class LeafInputField extends JPanel implements F { if(((Map) object).size() > 0) { - LeafOptionDialog optionDialog = new LeafOptionDialog( (Map) object, null ); + LeafOptionDialog optionDialog = new LeafOptionDialog( getParentWindow(), (Map) object, null ); return optionDialog.getOption(); } } @@ -132,7 +132,7 @@ public class LeafInputField extends JPanel implements F { if(((OrderedMap) object).rows() > 0) { - LeafOptionDialog optionDialog = new LeafOptionDialog( (OrderedMap) object, null, null, null, null ); + LeafOptionDialog optionDialog = new LeafOptionDialog( getParentWindow(), (OrderedMap) object, null, null, null, null ); return optionDialog.getOption(); } } @@ -141,17 +141,21 @@ public class LeafInputField extends JPanel implements F private Date getDateFromUser() { - LeafCalendarDialog calendarDialog = new LeafCalendarDialog( getParentFrame(), this ); + LeafCalendarDialog calendarDialog = new LeafCalendarDialog( getParentWindow(), this ); return calendarDialog.getDate(); } - private JFrame getParentFrame() + private LeafWindow getParentWindow() { - if( getRootPane() != null && getRootPane().getParent() instanceof JFrame ) + LeafWindow result = null; + for( Container parent = this.getParent(); parent != null; parent = parent.getParent() ) { - return (JFrame) getRootPane().getParent(); + if( parent instanceof LeafWindow ) + { + result = (LeafWindow) parent; + } } - return null; + return result; } protected void paintComponent( Graphics g ) diff --git a/trunk/SIPRPSoft/src/leaf/LeafOptionDialog.java b/trunk/SIPRPSoft/src/leaf/LeafOptionDialog.java index 7f545e15..fd5def16 100644 --- a/trunk/SIPRPSoft/src/leaf/LeafOptionDialog.java +++ b/trunk/SIPRPSoft/src/leaf/LeafOptionDialog.java @@ -4,7 +4,6 @@ import info.clearthought.layout.TableLayout; import info.clearthought.layout.TableLayoutConstraints; import java.awt.Dimension; -import java.awt.LayoutManager; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; @@ -12,7 +11,6 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Set; import javax.swing.BorderFactory; import javax.swing.JComponent; @@ -26,8 +24,6 @@ import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.ScrollPaneConstants; -import com.evolute.utils.tables.models.SortableModel; - public class LeafOptionDialog extends JDialog { @@ -66,9 +62,9 @@ public class LeafOptionDialog extends JDialog private boolean ordered = false; - public LeafOptionDialog(Map map, String message) + public LeafOptionDialog( LeafWindow owner, Map map, String message) { - super(); + super( owner ); this.mapEnabledForKey = new HashMap(); this.mapChosenForKey = new HashMap(); this.message = message; @@ -80,7 +76,7 @@ public class LeafOptionDialog extends JDialog startup( map, null ); } - public LeafOptionDialog(OrderedMap orderedMap, Map chosen, Map enabled, String message, String okButton) + public LeafOptionDialog( LeafWindow owner, OrderedMap orderedMap, Map chosen, Map enabled, String message, String okButton) { super(); ordered = true; diff --git a/trunk/SIPRPSoft/src/siprp/companydataloaders/SIPRPDataLoader.java b/trunk/SIPRPSoft/src/siprp/companydataloaders/SIPRPDataLoader.java index 8c426598..f94fe917 100644 --- a/trunk/SIPRPSoft/src/siprp/companydataloaders/SIPRPDataLoader.java +++ b/trunk/SIPRPSoft/src/siprp/companydataloaders/SIPRPDataLoader.java @@ -96,23 +96,23 @@ public class SIPRPDataLoader implements CompanyDataLoader // Singleton.setInstance( SingletonConstants.LOCAL_URL_PREFIX, "jdbc:postgresql://" ); // Singleton.setInstance( SingletonConstants.LOCAL_URL, "www.evolute.pt:5436" ); // Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp_local_3" ); -// Singleton.setInstance( SingletonConstants.LOCAL_DRIVER_NAME, "org.postgresql.Driver" ); - -// Singleton.setInstance( SingletonConstants.LOCAL_USER, "postgres" ); -// Singleton.setInstance( SingletonConstants.LOCAL_PASSWORD, "Typein" ); -// Singleton.setInstance( SingletonConstants.LOCAL_URL_PREFIX, "jdbc:postgresql://" ); -// Singleton.setInstance( SingletonConstants.LOCAL_URL, "10.158.2.3:5432" ); -// Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp_local" ); // Singleton.setInstance( SingletonConstants.LOCAL_DRIVER_NAME, "org.postgresql.Driver" ); Singleton.setInstance( SingletonConstants.LOCAL_USER, "postgres" ); Singleton.setInstance( SingletonConstants.LOCAL_PASSWORD, "Typein" ); Singleton.setInstance( SingletonConstants.LOCAL_URL_PREFIX, "jdbc:postgresql://" ); - Singleton.setInstance( SingletonConstants.LOCAL_URL, "dbserver:5432" ); + Singleton.setInstance( SingletonConstants.LOCAL_URL, "10.158.2.2:5432" ); Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp_local" ); Singleton.setInstance( SingletonConstants.LOCAL_DRIVER_NAME, "org.postgresql.Driver" ); -// +// Singleton.setInstance( SingletonConstants.LOCAL_USER, "postgres" ); +// Singleton.setInstance( SingletonConstants.LOCAL_PASSWORD, "Typein" ); +// Singleton.setInstance( SingletonConstants.LOCAL_URL_PREFIX, "jdbc:postgresql://" ); +// Singleton.setInstance( SingletonConstants.LOCAL_URL, "dbserver:5432" ); +// Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp_local" ); +// Singleton.setInstance( SingletonConstants.LOCAL_DRIVER_NAME, "org.postgresql.Driver" ); + + // Singleton.setInstance( SingletonConstants.LOCAL_USER, "postgres" ); // Singleton.setInstance( SingletonConstants.LOCAL_PASSWORD, "Typein" ); // Singleton.setInstance( SingletonConstants.LOCAL_URL_PREFIX, "jdbc:postgresql://" ); diff --git a/trunk/SIPRPSoft/src/siprp/database/cayenne/objects/TrabalhadoresFichasAptidao.java b/trunk/SIPRPSoft/src/siprp/database/cayenne/objects/TrabalhadoresFichasAptidao.java index 8357aae9..e88c1b8d 100755 --- a/trunk/SIPRPSoft/src/siprp/database/cayenne/objects/TrabalhadoresFichasAptidao.java +++ b/trunk/SIPRPSoft/src/siprp/database/cayenne/objects/TrabalhadoresFichasAptidao.java @@ -1,6 +1,9 @@ package siprp.database.cayenne.objects; +import java.util.Date; + import siprp.database.cayenne.objects.auto._TrabalhadoresFichasAptidao; +import siprp.ficha.FichaAptidaoConstants; public class TrabalhadoresFichasAptidao extends _TrabalhadoresFichasAptidao { private static final long serialVersionUID = 1L; @@ -8,7 +11,38 @@ public class TrabalhadoresFichasAptidao extends _TrabalhadoresFichasAptidao { @Override public String toString() { - return getToTrabalhadoresProcesso().getDataFimString(); + String result = ""; + Date data = getToExames().getProximoExame(); + if( data != null ) + { + result = sdf.format( data ); + } + return result + ": " + getEstadoString(); + } + + private String getEstadoString() + { + String result = ""; + Integer resultadoCodigo = getToExames().getResultado(); + if( resultadoCodigo != null ) + { + switch( resultadoCodigo.intValue() ) + { + case 1: + result += "Apto"; + break; + case 2: + result += "Apto (cond)"; + break; + case 3: + result += "Inapto (temp)"; + break; + case 4: + result += "Inapto (def)"; + break; + } + } + return result; } } diff --git a/trunk/SIPRPSoft/src/siprp/database/cayenne/providers/MedicinaDAO.java b/trunk/SIPRPSoft/src/siprp/database/cayenne/providers/MedicinaDAO.java index ec0f2f62..6e34ab06 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.Exames; import siprp.database.cayenne.objects.LembretesTipos; import siprp.database.cayenne.objects.Prestadores; import siprp.database.cayenne.objects.PrtGruposProtocolo; @@ -19,9 +20,7 @@ import siprp.database.cayenne.objects.Trabalhadores; import siprp.database.cayenne.objects.TrabalhadoresConsultasDatas; 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; @@ -46,6 +45,11 @@ public class MedicinaDAO extends MainDAO implements MedicinaConstants } + public Exames getExameForExameID( Integer currentFichaExameID ) + { + return (Exames) DataObjectUtils.objectForPK( context, Exames.class, currentFichaExameID ); + } + public LembretesTipos getTipoLembretesCustomizavel( ) { return (LembretesTipos) DataObjectUtils.objectForPK( context, LembretesTipos.class, 1 ); diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/logic/MedicinaProcessoLogic.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/logic/MedicinaProcessoLogic.java index 86a9fde9..5490938b 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.Exames; import siprp.database.cayenne.objects.Lembretes; import siprp.database.cayenne.objects.Prestadores; import siprp.database.cayenne.objects.Trabalhadores; @@ -25,6 +26,7 @@ import siprp.database.cayenne.objects.TrabalhadoresFichasAptidao; import siprp.database.cayenne.objects.TrabalhadoresProcesso; import siprp.database.cayenne.providers.MedicinaDAO; import siprp.ficha.FichaWindow; +import siprp.ficha.SaveExameListener; import siprp.lembretes.LembretesConstants; import siprp.lembretes.LembretesDataProvider; import siprp.medicina.MedicinaConstants; @@ -233,6 +235,8 @@ public class MedicinaProcessoLogic extends LeafLogic @LeafObject(useWith = SAVE_EXAME) public TrabalhadoresEcds currentExame = null; + + public Integer currentFichaExameID = null; public MedicinaProcessoLogic() { @@ -575,15 +579,34 @@ public class MedicinaProcessoLogic extends LeafLogic FichaWindow fichaWindow = FichaWindow.getWindow(); if( fichaWindow != null ) { - fichaWindow.editTrabalhador( currentTrabalhador.getId(), null ); + currentFicha = new TrabalhadoresFichasAptidao(); + currentFicha.setToTrabalhadoresProcesso( currentProcesso ); + fichaWindow.editTrabalhador( currentTrabalhador.getId(), new SaveExameListener() + { + @Override + public void exameSaved( Integer trabalhadorID, Integer exameID ) + { + if( trabalhadorID != null && exameID != null ) + { + if( trabalhadorID.equals( currentTrabalhador.getId() ) ) + { + currentFichaExameID = exameID; + Exames exame = provider.getExameForExameID( currentFichaExameID ); + if( exame != null ) + { + currentFicha.setToExames( exame ); + provider.saveObject( currentFicha ); + runAction( REFRESH ); + } + } + } + } + } ); } } catch( Exception e ) { e.printStackTrace(); } - // currentFicha = new TrabalhadoresFichasAptidao(); - // currentFicha.setToTrabalhadoresProcesso( currentProcesso ); - // return currentFicha; } @LeafLogicActionBinding(actions = { diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java index 83c34d52..eb82f8c0 100755 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java @@ -139,7 +139,7 @@ public class MedicinaProcessoWindow extends LeafWindow } } - LeafOptionDialog option = new LeafOptionDialog( grupos, null, null, "Marcar falta para:", "Faltou >>" ); + LeafOptionDialog option = new LeafOptionDialog( this, grupos, null, null, "Marcar falta para:", "Faltou >>" ); List selected = option.getSelected(); if( selected != null ) { diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java index 237501d8..c78278e9 100755 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java @@ -534,7 +534,7 @@ public class ProcessoDadosPanel extends JPanel public void setForNewProcesso( TrabalhadoresProcesso processo ) { HashMap tipos = processo.getMotivos(); - LeafOptionDialog option = new LeafOptionDialog( tipos, "Escolha o tipo de processo:" ); + LeafOptionDialog option = new LeafOptionDialog( parentWindow, tipos, "Escolha o tipo de processo:" ); Integer chosen = option.getOption(); if( chosen != null ) { @@ -703,7 +703,7 @@ public class ProcessoDadosPanel extends JPanel } } } - LeafOptionDialog gruposChosen = new LeafOptionDialog( grupos, gruposSelected, null, "Escolha os ECDs para esta marca" + ccedil + atilde + "o", "Marcar >>" ); + LeafOptionDialog gruposChosen = new LeafOptionDialog( parentWindow, grupos, gruposSelected, null, "Escolha os ECDs para esta marca" + ccedil + atilde + "o", "Marcar >>" ); for( PrtGruposProtocolo grupo : gruposChosen.getSelected() ) { marcacao.marcarGrupoExames( grupo ); diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoTreePanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoTreePanel.java index 16b942ff..3a8bcc6c 100755 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoTreePanel.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoTreePanel.java @@ -322,23 +322,23 @@ public class ProcessoTreePanel extends JPanel TrabalhadoresFichasAptidao ficha = null; for( TrabalhadoresFichasAptidao currentFicha : fichas ) { - if( ficha == null && ficha.getId() < currentFicha.getId() ) + if( ficha == null || ficha.getId() < currentFicha.getId() ) { ficha = currentFicha; } } if( ficha != null ) { -// addNodeTo( loadFicha( ficha ), node); + addNodeTo( loadFicha( ficha ), node); } } - return node; } private FichaAptidaoMutableTreeNode loadFicha(TrabalhadoresFichasAptidao ficha) { - return null; + FichaAptidaoMutableTreeNode result = new FichaAptidaoMutableTreeNode( ficha ); + return result; } private ECDsMutableTreeNode loadExame( TrabalhadoresEcds exame )