From 517161d9f54fe7771347502165c38204c67875e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tiago=20Sim=C3=A3o?= Date: Wed, 2 Jan 2008 20:42:12 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@637 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../processo/ui/LeafOptionDialog.java | 10 +++--- .../processo/ui/MedicinaProcessoWindow.java | 19 ++++++++++- .../medicina/processo/ui/OrderedMap.java | 34 ++++++++++++++++++- .../processo/ui/ProcessoDadosPanel.java | 15 ++++---- 4 files changed, 64 insertions(+), 14 deletions(-) diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/LeafOptionDialog.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/LeafOptionDialog.java index 36ed2ed3..95f631e8 100644 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/LeafOptionDialog.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/LeafOptionDialog.java @@ -21,9 +21,9 @@ import javax.swing.JSeparator; public class LeafOptionDialog extends JDialog { - private static final Dimension OPTION_SIZE = new Dimension(0,20); - private static final Dimension BUTTON_SIZE = new Dimension(0,20); - + private static final Dimension OPTION_SIZE = new Dimension( 200, 20 ); + private static final Dimension BUTTON_SIZE = new Dimension( 200, 20 ); + private static final long serialVersionUID = 1L; private static final String CANCEL_LABEL = "Cancelar"; @@ -62,7 +62,7 @@ public class LeafOptionDialog extends JDialog super(); this.message = message; cancelActive = false; - for(KeyClass key : map.keySet()) + for( KeyClass key : map.keySet() ) { mapEnabledForKey.put( key, true ); } @@ -120,7 +120,7 @@ public class LeafOptionDialog extends JDialog KeyClass current = null; double[] cols = new double[] { - TableLayout.FILL + TableLayout.PREFERRED }; double[] rows = new double[(message == null ? 0 : 2) + size + (cancelActive ? 2 : 0)]; for( int i = 0; i < rows.length; ++i ) diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java index a9d7ced1..dae0b44a 100755 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/MedicinaProcessoWindow.java @@ -5,7 +5,9 @@ import info.clearthought.layout.TableLayout; import info.clearthought.layout.TableLayoutConstraints; import java.awt.Dimension; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.swing.JSeparator; @@ -100,7 +102,22 @@ public class MedicinaProcessoWindow extends SIPRPWindow List ecds = marcacao.getTrabalhadoresEcdArray(); if( ecds != null ) { - OrderedMap grupos = marcacao.getStatesForeGruposExames(); + OrderedMap allGrupos = marcacao.getStatesForeGruposExames(); + OrderedMap grupos = new OrderedMap(); + for(int row = 0; row < allGrupos.rows(); ++row) + { + List grupo = allGrupos.getValuesAt( row ); + if( grupo != null && grupo.size() > 1) + { + String estado = grupo.get( 1 ).toString(); + if(MedicinaConstants.ESTADOS_EXAME_STR[MedicinaConstants.ESTADO_POR_REALIZAR].equals( estado )) + { + PrtGruposProtocolo key = allGrupos.getKeyForValue( grupo ); + grupos.addRow( key, grupo); + } + } + } + LeafOptionDialog option = new LeafOptionDialog( grupos, null, null, "Marcar falta para:", "Faltou >>" ); List selected = option.getSelected(); if( selected != null ) diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/OrderedMap.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/OrderedMap.java index 00ce257a..77004417 100644 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/OrderedMap.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/OrderedMap.java @@ -9,9 +9,11 @@ import java.util.List; import java.util.Set; import java.util.Vector; +import siprp.database.cayenne.objects.PrtGruposProtocolo; + import com.evolute.utils.sql.expression.Or; -public class OrderedMap +public class OrderedMap implements Iterable { private static final long serialVersionUID = 1L; @@ -74,6 +76,27 @@ public class OrderedMap } return result; } + + public List getColumn(int i) + { + List result = new ArrayList(); + if(order != null && order.size() > 0) + { + for(KeyClass key : order) + { + List row = map.get( key ); + if(row != null && row.size() > 0) + { + result.add(row.get( 0 )); + } + else + { + row.add( null ); + } + } + } + return result; + } public KeyClass getFirst() { @@ -150,4 +173,13 @@ public class OrderedMap } } + public void addRow( KeyClass key, List grupo ) + { + if(key != null && grupo != null) + { + order.add( key ); + map.put( key, grupo ); + } + } + } diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java index bd0bf6f5..7c3036d2 100755 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ui/ProcessoDadosPanel.java @@ -472,23 +472,24 @@ public class ProcessoDadosPanel extends JPanel Date date = calendar.getDate(); marcacao.setData( date ); - OrderedMap grupos = marcacao.getToTrabalhadoresEcds().getGruposExamesForPerfil(); + OrderedMap allGrupos = marcacao.getToTrabalhadoresEcds().getGruposExamesForPerfil(); + OrderedMap grupos = new OrderedMap(); Map gruposSelected = new HashMap(); - Map gruposEnabled = new HashMap(); - for(int row = 0; row < grupos.rows(); ++row) + for(int row = 0; row < allGrupos.rows(); ++row) { - List grupo = grupos.getValuesAt( row ); + List grupo = allGrupos.getValuesAt( row ); if( grupo != null && grupo.size() > 1) { String estado = grupo.get( 1 ).toString(); if(MedicinaConstants.ESTADOS_EXAME_STR[MedicinaConstants.ESTADO_POR_MARCAR].equals( estado )) { - gruposSelected.put( grupos.getKeyForValue( grupo ), true ); - gruposEnabled.put( grupos.getKeyForValue( grupo ), true ); + PrtGruposProtocolo key = allGrupos.getKeyForValue( grupo ); + gruposSelected.put( key , true ); + grupos.addRow( key, grupo); } } } - LeafOptionDialog gruposChosen = new LeafOptionDialog( grupos, gruposSelected, gruposEnabled, "Escolha os ECDs para esta marca" +ccedil + atilde + "o" , "Marcar >>" ); + LeafOptionDialog gruposChosen = new LeafOptionDialog( grupos, gruposSelected, null, "Escolha os ECDs para esta marca" +ccedil + atilde + "o" , "Marcar >>" ); for( PrtGruposProtocolo grupo : gruposChosen.getSelected() ) { marcacao.marcarGrupoExames( grupo );