git-svn-id: https://svn.coded.pt/svn/SIPRP@663 bb69d46d-e84e-40c8-a05a-06db0d633741

lxbfYeaa
Tiago Simão 18 years ago
parent 537b207264
commit 88c2d49371

@ -314,6 +314,7 @@
</db-key-generator>
</db-entity>
<db-entity name="prt_grupos_protocolo" schema="public">
<db-attribute name="analisador_id" type="INTEGER" length="10"/>
<db-attribute name="descricao" type="VARCHAR" isMandatory="true" length="255"/>
<db-attribute name="descricao_plain" type="VARCHAR" isMandatory="true" length="255"/>
<db-attribute name="grupo_real" type="CHAR" length="1"/>
@ -979,6 +980,9 @@
<db-relationship name="prestadoresGruposProtocoloArray" source="prestadores" target="prestadores_grupos_protocolo" toMany="true">
<db-attribute-pair source="id" target="prestador_id"/>
</db-relationship>
<db-relationship name="prtGruposProtocoloArray" source="prestadores" target="prt_grupos_protocolo" toMany="true">
<db-attribute-pair source="id" target="analisador_id"/>
</db-relationship>
<db-relationship name="toContactos" source="prestadores" target="contactos" toMany="false">
<db-attribute-pair source="contacto_id" target="id"/>
</db-relationship>
@ -1015,6 +1019,9 @@
<db-relationship name="prtTiposElementosProtocoloArray" source="prt_grupos_protocolo" target="prt_tipos_elementos_protocolo" toMany="true">
<db-attribute-pair source="id" target="grupo_protocolo_id"/>
</db-relationship>
<db-relationship name="toAnalisador" source="prt_grupos_protocolo" target="prestadores" toMany="false">
<db-attribute-pair source="analisador_id" target="id"/>
</db-relationship>
<db-relationship name="prtElementosProtocoloArray" source="prt_tipos_elementos_protocolo" target="prt_elementos_protocolo" toMany="true">
<db-attribute-pair source="id" target="tipo_elemento_protocolo_id"/>
</db-relationship>
@ -1192,6 +1199,7 @@
<obj-relationship name="marcacoesTrabalhadorArray" source="Prestadores" target="MarcacoesTrabalhador" db-relationship-path="marcacoesTrabalhadorArray"/>
<obj-relationship name="marcacoesTrabalhadorEstadosArray" source="Prestadores" target="MarcacoesTrabalhadorEstados" db-relationship-path="marcacoesTrabalhadorEstadosArray"/>
<obj-relationship name="prestadoresGruposProtocoloArray" source="Prestadores" target="PrestadoresGruposProtocolo" db-relationship-path="prestadoresGruposProtocoloArray"/>
<obj-relationship name="prtGruposProtocoloArray" source="Prestadores" target="PrtGruposProtocolo" db-relationship-path="prtGruposProtocoloArray"/>
<obj-relationship name="toContactos" source="Prestadores" target="Contactos" db-relationship-path="toContactos"/>
<obj-relationship name="trabalhadoresConsultasArray" source="Prestadores" target="TrabalhadoresConsultas" db-relationship-path="trabalhadoresConsultasArray"/>
<obj-relationship name="trabalhadoresConsultasDatasArray" source="Prestadores" target="TrabalhadoresConsultasDatas" db-relationship-path="trabalhadoresConsultasDatasArray"/>
@ -1204,6 +1212,7 @@
<obj-relationship name="marcacoesGruposRealizadosArray" source="PrtGruposProtocolo" target="MarcacoesGruposRealizados" db-relationship-path="marcacoesGruposRealizadosArray"/>
<obj-relationship name="prestadoresGruposProtocoloArray" source="PrtGruposProtocolo" target="PrestadoresGruposProtocolo" db-relationship-path="prestadoresGruposProtocoloArray"/>
<obj-relationship name="prtTiposElementosProtocoloArray" source="PrtGruposProtocolo" target="PrtTiposElementosProtocolo" db-relationship-path="prtTiposElementosProtocoloArray"/>
<obj-relationship name="toAnalisador" source="PrtGruposProtocolo" target="Prestadores" db-relationship-path="toAnalisador"/>
<obj-relationship name="prtElementosProtocoloArray" source="PrtTiposElementosProtocolo" target="PrtElementosProtocolo" db-relationship-path="prtElementosProtocoloArray"/>
<obj-relationship name="toPrtGruposProtocolo" source="PrtTiposElementosProtocolo" target="PrtGruposProtocolo" db-relationship-path="toPrtGruposProtocolo"/>
<obj-relationship name="trabalhadoresEcdArray" source="PrtTiposElementosProtocolo" target="TrabalhadoresEcd" db-relationship-path="trabalhadoresEcdArray"/>

@ -1,11 +1,48 @@
package siprp.database.cayenne.objects;
import com.evolute.utils.strings.UnicodeChecker;
import siprp.database.cayenne.objects.auto._PrtGruposProtocolo;
public class PrtGruposProtocolo extends _PrtGruposProtocolo {
private static final long serialVersionUID = 1L;
private String name = null;
private String convertedName = null;
@Override
public String getDescricao()
{
String currentName = super.getDescricao();
if( name == null || !name.equals( currentName ))
{
name = currentName;
convertedName = null;
}
return convertName();
}
@Override
public void setDescricao( String nome )
{
super.setDescricao( UnicodeChecker.parseToUnicode( name ) );
getDescricao();
}
private String convertName()
{
if( name == null )
{
convertedName = null;
}
else
{
convertedName = UnicodeChecker.parseFromUnicode( name );
}
return convertedName;
}
@Override
public String toString()

@ -23,6 +23,7 @@ public abstract class _Prestadores extends siprp.database.cayenne.objects.BaseOb
public static final String MARCACOES_TRABALHADOR_ARRAY_PROPERTY = "marcacoesTrabalhadorArray";
public static final String MARCACOES_TRABALHADOR_ESTADOS_ARRAY_PROPERTY = "marcacoesTrabalhadorEstadosArray";
public static final String PRESTADORES_GRUPOS_PROTOCOLO_ARRAY_PROPERTY = "prestadoresGruposProtocoloArray";
public static final String PRT_GRUPOS_PROTOCOLO_ARRAY_PROPERTY = "prtGruposProtocoloArray";
public static final String TO_CONTACTOS_PROPERTY = "toContactos";
public static final String TRABALHADORES_CONSULTAS_ARRAY_PROPERTY = "trabalhadoresConsultasArray";
public static final String TRABALHADORES_CONSULTAS_DATAS_ARRAY_PROPERTY = "trabalhadoresConsultasDatasArray";
@ -174,6 +175,17 @@ public abstract class _Prestadores extends siprp.database.cayenne.objects.BaseOb
}
public void addToPrtGruposProtocoloArray(siprp.database.cayenne.objects.PrtGruposProtocolo obj) {
addToManyTarget("prtGruposProtocoloArray", obj, true);
}
public void removeFromPrtGruposProtocoloArray(siprp.database.cayenne.objects.PrtGruposProtocolo obj) {
removeToManyTarget("prtGruposProtocoloArray", obj, true);
}
public java.util.List getPrtGruposProtocoloArray() {
return (java.util.List)readProperty("prtGruposProtocoloArray");
}
public void setToContactos(siprp.database.cayenne.objects.Contactos toContactos) {
setToOneTarget("toContactos", toContactos, true);
}

@ -15,6 +15,7 @@ public abstract class _PrtGruposProtocolo extends siprp.database.cayenne.objects
public static final String MARCACOES_GRUPOS_REALIZADOS_ARRAY_PROPERTY = "marcacoesGruposRealizadosArray";
public static final String PRESTADORES_GRUPOS_PROTOCOLO_ARRAY_PROPERTY = "prestadoresGruposProtocoloArray";
public static final String PRT_TIPOS_ELEMENTOS_PROTOCOLO_ARRAY_PROPERTY = "prtTiposElementosProtocoloArray";
public static final String TO_ANALISADOR_PROPERTY = "toAnalisador";
public static final String ID_PK_COLUMN = "id";
@ -91,4 +92,13 @@ public abstract class _PrtGruposProtocolo extends siprp.database.cayenne.objects
}
public void setToAnalisador(siprp.database.cayenne.objects.Prestadores toAnalisador) {
setToOneTarget("toAnalisador", toAnalisador, true);
}
public siprp.database.cayenne.objects.Prestadores getToAnalisador() {
return (siprp.database.cayenne.objects.Prestadores)readProperty("toAnalisador");
}
}

@ -10,13 +10,14 @@ import org.apache.cayenne.query.SelectQuery;
import siprp.database.cayenne.objects.BaseObject;
import siprp.database.cayenne.objects.Empresas;
import siprp.database.cayenne.objects.Prestadores;
import siprp.database.cayenne.objects.PrtGruposProtocolo;
import siprp.database.cayenne.objects.Trabalhadores;
import siprp.database.cayenne.objects.TrabalhadoresProcesso;
import siprp.medicina.processo.ProcessoConstants;
public class MedicinaDAO extends MainDAO
{
private static final String defaultPrestadorName = "SIPRP";
// private static final String defaultPrestadorName = "SIPRP";
private Prestadores defaultPrestador = null;
public Trabalhadores getTrabalhadorByID( Integer id )
@ -39,20 +40,17 @@ public class MedicinaDAO extends MainDAO
query.andQualifier( ExpressionFactory.matchExp( Prestadores.ACTIVO_PROPERTY, "y" ) );
query.addOrdering( Prestadores.NOME_PROPERTY, true );
List<Prestadores> allPrestadores = context.performQuery( query );
if( defaultPrestador == null )
{
for(Prestadores current : allPrestadores)
{
if(defaultPrestadorName.equals( current.getNomePlain() ))
{
defaultPrestador = current;
break;
}
}
}
return allPrestadores;
}
public List<PrtGruposProtocolo> getAllPrtGruposProtocolo()
{
SelectQuery query = new SelectQuery( PrtGruposProtocolo.class );
query.addOrdering( PrtGruposProtocolo.DESCRICAO_PLAIN_PROPERTY, true );
List<PrtGruposProtocolo> allPrtGruposProtocolo= context.performQuery( query );
return allPrtGruposProtocolo;
}
public BaseObject saveObject( BaseObject object )
{
if( object != null )

@ -22,20 +22,34 @@ import com.evolute.utils.ui.search.SearchDialog;
import com.evolute.utils.ui.window.EditorWindow;
import info.clearthought.layout.TableLayout;
import info.clearthought.layout.TableLayoutConstraints;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import siprp.clientes.ClientesDataProvider;
import siprp.clientes.ContactoPanel;
import siprp.data.ContactoData;
import siprp.database.cayenne.objects.Prestadores;
import siprp.database.cayenne.objects.PrtGruposProtocolo;
import siprp.database.cayenne.providers.MedicinaDAO;
import siprp.medicina.prestadores.data.PrestadoresData;
/**
@ -44,6 +58,8 @@ import siprp.medicina.prestadores.data.PrestadoresData;
*/
public class PrestadoresWindow extends EditorWindow
{
private static final long serialVersionUID = 1L;
public static final String TITLE = "Prestadores";
protected JTextField nomeText;
@ -58,7 +74,6 @@ public class PrestadoresWindow extends EditorWindow
protected ContactoPanel contactoPanel;
protected JTextField contribuinteText;
protected PrestadoresDataProvider provider;
protected ClientesDataProvider clientesProvider;
@ -67,22 +82,44 @@ public class PrestadoresWindow extends EditorWindow
protected PrestadoresData prestador;
protected Integer gruposProtocolo[];
private final JTabbedPane tabbedPane = new JTabbedPane();
private final JPanel prestadoresPanel = new JPanel();
private final JPanel analisadoresPanel = new JPanel();
private final JLabel labelGrupos = new JLabel( "Grupos:" );
private final JLabel labelAnalisador = new JLabel( "Analisador:" );
private final JLabel labelMessage = new JLabel( " " );
private final Map<PrtGruposProtocolo, JLabel> mapLabel = new HashMap<PrtGruposProtocolo, JLabel>();
private final Map<PrtGruposProtocolo, JComboBox> mapComboBox = new HashMap<PrtGruposProtocolo, JComboBox>();
private final List<Prestadores> listAnalisadores = new ArrayList<Prestadores>();
private final List<PrtGruposProtocolo> listGrupos = new ArrayList<PrtGruposProtocolo>();
private final MedicinaDAO medicinaCayenneDAO = new MedicinaDAO();
/** Creates a new instance of PrestadoresWindow */
public PrestadoresWindow()
throws Exception
public PrestadoresWindow() throws Exception
{
super( new int[][]{{ NEW_INDEX, EDIT_INDEX, CANCEL_INDEX, SAVE_INDEX, DELETE_INDEX,
SELECT_BYNAME_INDEX }} );
super( new int[][] {
{
NEW_INDEX, EDIT_INDEX, CANCEL_INDEX, SAVE_INDEX, DELETE_INDEX, SELECT_BYNAME_INDEX
}
} );
provider = PrestadoresDataProvider.getProvider();
clientesProvider = ( ClientesDataProvider ) ClientesDataProvider.getProvider();
clientesProvider = (ClientesDataProvider) ClientesDataProvider.getProvider();
setupComponents();
setupComponentsHashtable();
}
private void setupComponents()
throws Exception
private void setupComponents() throws Exception
{
setTitle( TITLE );
tabbedPane.addTab( "Prestadores", prestadoresPanel );
tabbedPane.addTab( "Analisadores", analisadoresPanel );
setupAnalisadoresTab();
JLabel nomeLabel = new JLabel( "Designa\u00e7\u00e3o" );
nomeText = new JTextField();
nomeText.setPreferredSize( new Dimension( 500, 20 ) );
@ -100,7 +137,7 @@ public class PrestadoresWindow extends EditorWindow
{
gruposProtocolo.addAll( Arrays.asList( gruposProtocoloFalsos ) );
}
ecdsPanel = new CheckBoxPanel( gruposProtocolo.toArray( new IDObject[ gruposProtocolo.size() ] ) );
ecdsPanel = new CheckBoxPanel( gruposProtocolo.toArray( new IDObject[gruposProtocolo.size()] ) );
JLabel contactoLabel = new JLabel( "Contacto" );
contactoPanel = new ContactoPanel();
contactoPanel.setPreferredSize( new Dimension( 350, 120 ) );
@ -109,8 +146,7 @@ public class PrestadoresWindow extends EditorWindow
moradaText = new JTextArea();
moradaText.setLineWrap( true );
moradaText.setWrapStyleWord( true );
JScrollPane moradaScroll = new JScrollPane( moradaText, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
JScrollPane moradaScroll = new JScrollPane( moradaText, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
moradaScroll.setPreferredSize( new Dimension( 500, 50 ) );
JLabel codigoPostalLabel = new JLabel( "C\u00f3digo Postal" );
codigoPostalText = new JTextField();
@ -123,32 +159,40 @@ public class PrestadoresWindow extends EditorWindow
contribuinteText = new JTextField();
contribuinteText.setPreferredSize( new Dimension( 100, 50 ) );
double cols[] =
new double[]{ TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL };
double rows[] =
new double[]{ TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM,
TableLayout.FILL, TableLayout.PREFERRED, TableLayout.PREFERRED,
TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM };
TableLayout tableLayout = new TableLayout( cols,rows );
double cols[] = new double[] {
TableLayout.MINIMUM, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.FILL
};
double rows[] = new double[] {
TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.FILL, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.MINIMUM, TableLayout.MINIMUM, TableLayout.MINIMUM
};
TableLayout tableLayout = new TableLayout( cols, rows );
prestadoresPanel.setLayout( tableLayout );
tableLayout = new TableLayout( new double[] {
TableLayout.FILL
}, new double[] {
TableLayout.FILL
} );
getContentPane().setLayout( tableLayout );
getContentPane().add( tabbedPane, new TableLayoutConstraints( 0, 0 ) );
getContentPane().add( nomeLabel, new TableLayoutConstraints( 0, 0 ) );
getContentPane().add( nomeText, new TableLayoutConstraints( 1, 0, 3, 0 ) );
getContentPane().add( activoCheck, new TableLayoutConstraints( 0, 1, 2, 1 ) );
getContentPane().add( consultasCheck, new TableLayoutConstraints( 0, 2 ) );
getContentPane().add( ecdsCheck, new TableLayoutConstraints( 0, 3 ) );
getContentPane().add( ecdsPanel, new TableLayoutConstraints( 1, 3, 2, 3 ) );
getContentPane().add( contactoLabel, new TableLayoutConstraints( 0, 4 ) );
getContentPane().add( contactoPanel, new TableLayoutConstraints( 1, 4, 2, 4 ) );
getContentPane().add( moradaLabel, new TableLayoutConstraints( 0, 5 ) );
getContentPane().add( moradaScroll, new TableLayoutConstraints( 1, 5, 3, 5 ) );
getContentPane().add( codigoPostalLabel, new TableLayoutConstraints( 0, 6 ) );
getContentPane().add( codigoPostalText, new TableLayoutConstraints( 1, 6 ) );
getContentPane().add( localidadeCodigoPostalText, new TableLayoutConstraints( 2, 6, 3, 6 ) );
getContentPane().add( localidadeLabel, new TableLayoutConstraints( 0, 7 ) );
getContentPane().add( localidadeText, new TableLayoutConstraints( 1, 7, 3, 7 ) );
getContentPane().add( contribuinteLabel, new TableLayoutConstraints( 0, 8 ) );
getContentPane().add( contribuinteText, new TableLayoutConstraints( 1, 8 ) );
prestadoresPanel.add( nomeLabel, new TableLayoutConstraints( 0, 0 ) );
prestadoresPanel.add( nomeText, new TableLayoutConstraints( 1, 0, 3, 0 ) );
prestadoresPanel.add( activoCheck, new TableLayoutConstraints( 0, 1, 2, 1 ) );
prestadoresPanel.add( consultasCheck, new TableLayoutConstraints( 0, 2 ) );
prestadoresPanel.add( ecdsCheck, new TableLayoutConstraints( 0, 3 ) );
prestadoresPanel.add( ecdsPanel, new TableLayoutConstraints( 1, 3, 2, 3 ) );
prestadoresPanel.add( contactoLabel, new TableLayoutConstraints( 0, 4 ) );
prestadoresPanel.add( contactoPanel, new TableLayoutConstraints( 1, 4, 2, 4 ) );
prestadoresPanel.add( moradaLabel, new TableLayoutConstraints( 0, 5 ) );
prestadoresPanel.add( moradaScroll, new TableLayoutConstraints( 1, 5, 3, 5 ) );
prestadoresPanel.add( codigoPostalLabel, new TableLayoutConstraints( 0, 6 ) );
prestadoresPanel.add( codigoPostalText, new TableLayoutConstraints( 1, 6 ) );
prestadoresPanel.add( localidadeCodigoPostalText, new TableLayoutConstraints( 2, 6, 3, 6 ) );
prestadoresPanel.add( localidadeLabel, new TableLayoutConstraints( 0, 7 ) );
prestadoresPanel.add( localidadeText, new TableLayoutConstraints( 1, 7, 3, 7 ) );
prestadoresPanel.add( contribuinteLabel, new TableLayoutConstraints( 0, 8 ) );
prestadoresPanel.add( contribuinteText, new TableLayoutConstraints( 1, 8 ) );
pack();
}
@ -165,17 +209,15 @@ public class PrestadoresWindow extends EditorWindow
components.putComponent( PrestadoresData.ACTIVO, activoCheck );
components.putComponent( PrestadoresData.FAZ_CONSULTAS, consultasCheck );
components.putComponent( PrestadoresData.FAZ_ECDS, ecdsCheck );
components.putComponent( PrestadoresData.CONTACTO_ID,
new JDOControllable( ( JDOProvider )Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER ),
ContactoData.class, new String[]{ ContactoData.ID },
contactoPanel ) );
components.putComponent( PrestadoresData.CONTACTO_ID, new JDOControllable( (JDOProvider) Singleton.getInstance( Singleton.DEFAULT_JDO_PROVIDER ), ContactoData.class, new String[] {
ContactoData.ID
}, contactoPanel ) );
}
public boolean searchByName()
{
SearchDialog search = new SearchDialog( provider );
Integer id = ( Integer )search.getSelected();
Integer id = (Integer) search.getSelected();
if( id == null )
{
return false;
@ -186,8 +228,7 @@ public class PrestadoresWindow extends EditorWindow
prestador = provider.getPrestadorByID( id );
gruposProtocolo = provider.getGruposProtocoloIDByPrestadorID( id );
reload( 0 );
}
catch( Exception ex )
} catch( Exception ex )
{
DialogException.showExceptionMessage( ex, "Ocorreu um erro a carregar o prestador.", true );
return false;
@ -198,7 +239,7 @@ public class PrestadoresWindow extends EditorWindow
public void enableComponents( int index, boolean enable )
{
String names[] = (String[])components.keySet().toArray( new String[0] );
String names[] = (String[]) components.keySet().toArray( new String[0] );
ComponentController.setEnabled( names, enable, components );
ecdsPanel.setEnabled( enable );
}
@ -207,11 +248,10 @@ public class PrestadoresWindow extends EditorWindow
{
try
{
String names[] = (String[])components.keySet().toArray( new String[0] );
String names[] = (String[]) components.keySet().toArray( new String[0] );
ComponentController.fill( names, prestador.getHashData(), components );
ecdsPanel.setSelected( gruposProtocolo );
}
catch( Exception ex )
} catch( Exception ex )
{
DialogException.showExceptionMessage( ex, "Erro a carregar dados", true );
@ -220,7 +260,7 @@ public class PrestadoresWindow extends EditorWindow
public void clear( int index )
{
String names[] = (String[])components.keySet().toArray( new String[0] );
String names[] = (String[]) components.keySet().toArray( new String[0] );
ComponentController.clear( names, components );
ecdsPanel.clear();
prestador = null;
@ -238,7 +278,7 @@ public class PrestadoresWindow extends EditorWindow
{
prestador = new PrestadoresData();
}
String names[] = (String[])components.keySet().toArray( new String[0] );
String names[] = (String[]) components.keySet().toArray( new String[0] );
Hashtable data = prestador.getHashData();
ComponentController.save( names, data, components );
prestador.setHashData( data );
@ -246,14 +286,128 @@ public class PrestadoresWindow extends EditorWindow
try
{
provider.savePrestador( prestador );
provider.setGruposProtocoloForPrestador( ( Integer ) prestador.get( PrestadoresData.ID ),
gruposProtocolo );
}
catch( Exception ex )
provider.setGruposProtocoloForPrestador( (Integer) prestador.get( PrestadoresData.ID ), gruposProtocolo );
} catch( Exception ex )
{
DialogException.showExceptionMessage( ex, "Erro a guardar dados", true );
return false;
}
return true;
}
private void setupAnalisadoresTab()
{
loadAnalisadoresTabData();
setupAnalisadoresTabLayout();
setupAnalisadoresTabComponents();
placeAnalisadoresTabComponents();
setupAnalisadoresTabListeners();
}
private void loadAnalisadoresTabData()
{
clearAnalisadoresTabData();
listGrupos.addAll( medicinaCayenneDAO.getAllPrtGruposProtocolo() );
listAnalisadores.addAll( medicinaCayenneDAO.getAllPrestadores() );
}
private void clearAnalisadoresTabData()
{
mapComboBox.clear();
mapLabel.clear();
listGrupos.clear();
listAnalisadores.clear();
shout(null);
}
private void setupAnalisadoresTabLayout()
{
double[] cols = new double[] {
TableLayout.FILL, TableLayout.FILL
};
double[] rows = new double[1 + listGrupos.size() + 2 ];
for( int i = 0; i < rows.length; ++i )
{
rows[i] = TableLayout.MINIMUM;
}
TableLayout layout = new TableLayout( cols, rows );
layout.setHGap( 5 );
layout.setVGap( 5 );
analisadoresPanel.setLayout( layout );
}
private void setupAnalisadoresTabComponents()
{
Object[] analisadores = listAnalisadores.toArray();
for( PrtGruposProtocolo grupo : listGrupos )
{
JLabel label = new JLabel( grupo.getDescricao() );
mapLabel.put( grupo, label );
JComboBox combo = new JComboBox( analisadores );
Prestadores analisador = grupo.getToAnalisador();
combo.setSelectedItem( analisador == null ? Prestadores.prestadorNulo : analisador );
mapComboBox.put( grupo, combo );
}
labelMessage.setForeground( Color.RED.darker().darker() );
}
private void placeAnalisadoresTabComponents()
{
analisadoresPanel.add( labelGrupos, new TableLayoutConstraints( 0, 0 ) );
analisadoresPanel.add( labelAnalisador, new TableLayoutConstraints( 1, 0 ) );
for( int i = 0; i < listGrupos.size(); ++i )
{
PrtGruposProtocolo grupo = listGrupos.get( i );
JLabel label = mapLabel.get( grupo );
analisadoresPanel.add( label, new TableLayoutConstraints( 0, i + 1 ) );
JComboBox combo = mapComboBox.get( grupo );
analisadoresPanel.add( combo, new TableLayoutConstraints( 1, i + 1 ) );
}
int line = listGrupos.size() + 1;
analisadoresPanel.add( new JSeparator(), new TableLayoutConstraints( 0, line,1,line ) );
++line;
analisadoresPanel.add( labelMessage, new TableLayoutConstraints( 0, line,1,line ) );
}
private void setupAnalisadoresTabListeners()
{
for( PrtGruposProtocolo grupo : listGrupos )
{
JComboBox combo = mapComboBox.get( grupo );
setupListenersFor( combo );
}
}
private void setupListenersFor( JComboBox combo )
{
combo.addItemListener( new ItemListener()
{
@Override
public void itemStateChanged( ItemEvent itemEvent )
{
if( ItemEvent.SELECTED == itemEvent.getStateChange() )
{
JComboBox combo = (JComboBox) itemEvent.getSource();
for( PrtGruposProtocolo grupo : mapComboBox.keySet() )
{
if( mapComboBox.get( grupo ).equals( combo ) )
{
Prestadores analisador = (Prestadores) combo.getSelectedItem();
grupo.setToAnalisador( Prestadores.prestadorNulo.equals( analisador ) ? null : analisador );
medicinaCayenneDAO.saveObject( grupo );
shout( "Grupo: " + grupo.getDescricao() + " -> Analisador: " + analisador.getNome() + " (guardado)" );
}
}
}
}
} );
}
private void shout( String message )
{
labelMessage.setText( message == null ? " " : message );
}
}

@ -29,7 +29,8 @@ public class UpdateList
new siprp.update.updates.V7_5_To_V7_6(), new siprp.update.updates.V7_6_To_V7_7(),
new siprp.update.updates.V7_7_To_V7_8(), new siprp.update.updates.V7_8_To_V7_9(),
new siprp.update.updates.V7_9_To_V8_0(), new siprp.update.updates.V8_0_To_V8_1(),
new siprp.update.updates.V8_1_To_V8_2(), new siprp.update.updates.V8_2_To_V8_3(), new siprp.update.updates.V8_3_To_V8_4() };
new siprp.update.updates.V8_1_To_V8_2(), new siprp.update.updates.V8_2_To_V8_3(),
new siprp.update.updates.V8_3_To_V8_4(), new siprp.update.updates.V8_4_To_V8_5() };
protected static Executer EXECUTER;
protected static double version = -1;

@ -0,0 +1,59 @@
/*
* V8_12_To_V8_3.java
*
* Created on December 19, 2007, 3:12 PM
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package siprp.update.updates;
import com.evolute.utils.Singleton;
import com.evolute.utils.db.DBManager;
import com.evolute.utils.db.Executer;
import com.evolute.utils.sql.Assignment;
import com.evolute.utils.sql.Field;
/**
*
* @author tsimao
*
*/
public class V8_4_To_V8_5 implements siprp.update.Update
{
public V8_4_To_V8_5()
{
}
public String[] listChanges()
{
return new String[] {
"Adicionado analisador [prestador] por PrtGruposProtocolo"
};
}
public double getStartVersion()
{
return 8.4;
}
public double getEndVersion()
{
return 8.5;
}
public void doUpdate() throws Exception
{
DBManager dbm = (DBManager) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER );
Executer executer = dbm.getSharedExecuter();
com.evolute.utils.sql.Update update = new com.evolute.utils.sql.Update( "ALTER TABLE prt_grupos_protocolo ADD COLUMN analisador_id int4;"
+ "ALTER TABLE prt_grupos_protocolo ADD CONSTRAINT analisador_id_fkey FOREIGN KEY(analisador_id) REFERENCES prestadores(id);" );
executer.executeQuery( update );
}
public String toString()
{
return "v" + getStartVersion() + " para v" + getEndVersion();
}
}
Loading…
Cancel
Save