From 50f97f53ca38fcd5e5f6f06613792ac3bcd2db79 Mon Sep 17 00:00:00 2001 From: Frederico Palma Date: Thu, 13 Sep 2007 13:03:54 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@569 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../processo/ProcessoDataProvider.java | 2 +- .../processo/detalhes/ConsultaInfoPanel.java | 108 ++++++++++++++++++ ...sultaPanel.java => DataConsultaPanel.java} | 4 +- .../detalhes/DetalhesProcessoPanel.java | 4 +- 4 files changed, 113 insertions(+), 5 deletions(-) create mode 100644 trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ConsultaInfoPanel.java rename trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/{ConsultaPanel.java => DataConsultaPanel.java} (99%) diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoDataProvider.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoDataProvider.java index 75eafc8d..ef577005 100644 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoDataProvider.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/ProcessoDataProvider.java @@ -185,7 +185,7 @@ public class ProcessoDataProvider new Select2( new String[]{ "trabalhadores_consultas_datas" }, new Integer[]{}, new Expression[]{}, - new String[]{ "id", "data", "estado" }, + new String[]{ "id", "data", "prestador_id", "estado" }, new Field( "trabalhadores_consultas_id" ).isEqual( consultaID ), new String[]{ "data DESC" }, null, diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ConsultaInfoPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ConsultaInfoPanel.java new file mode 100644 index 00000000..1399c10b --- /dev/null +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ConsultaInfoPanel.java @@ -0,0 +1,108 @@ +package siprp.medicina.processo.detalhes; + +import info.clearthought.layout.TableLayout; +import info.clearthought.layout.TableLayoutConstraints; + +import java.util.Vector; + +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.ProcessoDataProvider; +import siprp.medicina.processo.data.TrabalhadoresConsultasData; + +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 ConsultaInfoPanel + extends JPanel + implements ControllableComponent +{ + protected JFrame owner; + protected JTextField estadoText; + protected BaseTable datasTable; + protected VectorTableModel datasModel; + + protected ProcessoDataProvider processoProvider; + + public ConsultaInfoPanel( JFrame owner ) + throws Exception + { + this.owner = owner; + processoProvider = ProcessoDataProvider.getProvider(); + setupComponents(); + } + + private void setupComponents() + { + 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[]{ TableLayoutConstraints.FILL }; + double rows[] = new double[]{ TableLayoutConstraints.MINIMUM, TableLayoutConstraints.FILL }; + TableLayout layout = new TableLayout( cols, rows ); + layout.setHGap( 5 ); + layout.setVGap( 5 ); + setLayout( layout ); + add( estadoText, new TableLayoutConstraints( 0, 0 ) ); + add( datasScroll, new TableLayoutConstraints( 0, 1 ) ); + } + + 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 ) + { + } +} diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ConsultaPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DataConsultaPanel.java similarity index 99% rename from trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ConsultaPanel.java rename to trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DataConsultaPanel.java index 87a6b492..9fc6e4c4 100644 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/ConsultaPanel.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DataConsultaPanel.java @@ -36,7 +36,7 @@ import siprp.medicina.processo.data.TrabalhadoresConsultasDatasData; * * @author fpalma */ -public class ConsultaPanel extends JPanel +public class DataConsultaPanel extends JPanel implements ActionListener, MedicinaConstants, ChangeListener { protected JFrame owner; @@ -56,7 +56,7 @@ public class ConsultaPanel extends JPanel protected TrabalhadoresConsultasDatasData consultaData; /** Creates a new instance of ConsultaPanel */ - public ConsultaPanel( JFrame owner ) + public DataConsultaPanel( JFrame owner ) throws Exception { this.owner = owner; diff --git a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesProcessoPanel.java b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesProcessoPanel.java index 2170f4f9..d6a7abfc 100644 --- a/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesProcessoPanel.java +++ b/trunk/SIPRPSoft/src/siprp/medicina/processo/detalhes/DetalhesProcessoPanel.java @@ -30,7 +30,7 @@ public class DetalhesProcessoPanel extends JPanel protected JFrame owner; protected JPanel blankPanel; - protected ConsultaPanel consultaPanel; + protected DataConsultaPanel consultaPanel; protected ECDsPanel ecdsPanel; protected CardLayout cardLayout; @@ -49,7 +49,7 @@ public class DetalhesProcessoPanel extends JPanel throws Exception { blankPanel = new JPanel(); - consultaPanel = new ConsultaPanel( owner ); + consultaPanel = new DataConsultaPanel( owner ); ecdsPanel = new ECDsPanel( owner ); cardLayout = new CardLayout();