no message

git-svn-id: https://svn.coded.pt/svn/SIPRP@23 bb69d46d-e84e-40c8-a05a-06db0d633741
lxbfYeaa
Frederico Palma 22 years ago
parent 341d61df2b
commit 143752dfdc

@ -70,6 +70,7 @@ public class FichaDataProvider extends MetaProvider implements SearchExecuter {
public static final String LOCAL_TRABALHO = "local_trabalho";
public static final String FUNCAO_PROPOSTA = "funcao_proposta";
public static final String DATA_ADMISSAO_FUNCAO = "data_admissao_funcao";
public static final String OBSERVACOES = "observacoes";
public static final String ESTABELECIMENTO_ID = "estabelecimento_id";
// INACTIVO
@ -79,13 +80,12 @@ public class FichaDataProvider extends MetaProvider implements SearchExecuter {
NACIONALIDADE, NUMERO_MECANOGRAFICO,
DATA_ADMISSAO, CATEGORIA, LOCAL_TRABALHO,
FUNCAO_PROPOSTA, DATA_ADMISSAO_FUNCAO,
ESTABELECIMENTO_ID },
OBSERVACOES, ESTABELECIMENTO_ID, INACTIVO },
ID );
// exames
public static final String T_EXAMES = "exames";
// ID
public static final String OBSERVACOES = "observacoes";
public static final String DATA = "data";
public static final String TIPO = "tipo";
public static final String OCASIONAL = "ocasional";
@ -126,6 +126,7 @@ public class FichaDataProvider extends MetaProvider implements SearchExecuter {
"R_ESTABELECIMENTOS_EMPRESAS" );
EMPRESAS.disableSave( INACTIVO );
ESTABELECIMENTOS.disableSave( INACTIVO );
TRABALHADORES.disableSave( INACTIVO );
}
catch( Exception e )
{

@ -16,7 +16,7 @@ public class Main
throws Exception
{
Insert.setDefaultKeyRetriever( JDBCAutoKeyRetriever.DEFAULT );
String server = "192.168.0.12";
String server = "localhost";
String dbase = "test";
String user = "admin";
String passwd = "";

@ -170,6 +170,8 @@ public class EmpresaPanel extends JPanel
public void fill(Object value)
{
clear();
empresa = null;
estabelecimento = null;
if( value != null )
{
Integer empresaID = (Integer)((Object[])value)[0];
@ -259,8 +261,6 @@ public class EmpresaPanel extends JPanel
estabelecimento.setProperty( name, hash.get( name ) );
}
estabelecimento.setProperty( provider.R_ESTABELECIMENTO_EMPRESA, empresa );
empresa.save();
estabelecimento.save();
return estabelecimento;
}
catch( Exception ex )

@ -134,9 +134,9 @@ public class FichaAptidaoEditorManager extends EditorManager
else if( state == STATE_EDIT )
{
editor.reload( index );
editor.enableComponents( index, false );
editor.enableComponents( index, true );
// new, edit, cancel, save, delete, select
editor.actions( index, true, true, false, false, true, true );
editor.actions( index, true, true, true, true, true, true );
state = STATE_EDIT;
}
}
@ -148,8 +148,9 @@ public class FichaAptidaoEditorManager extends EditorManager
{
return;
}
editor.enableComponents( index, false );
// new, edit, cancel, save, delete, select
editor.actions( index, true, true, false, true, true, true );
editor.actions( index, true, true, false, false, true, true );
state = STATE_EDIT;
}
@ -193,7 +194,7 @@ public class FichaAptidaoEditorManager extends EditorManager
public void editItem()
{
throw new RuntimeException( "editItem cannot be called on FichaAptidaoEditorManager" );
state = STATE_EDIT;
}
public void lock(boolean direction)

@ -11,6 +11,8 @@ import siprp.*;
import java.awt.*;
import javax.swing.*;
import com.evolute.utils.metadb.*;
import com.evolute.utils.ui.*;
import com.evolute.utils.ui.search.*;
import com.evolute.utils.ui.window.*;
@ -104,7 +106,20 @@ public class FichaWindow extends TabbedWindow
new Runnable(){
public void run()
{
empresaPanel.save();
MetaObject estabelecimento = (MetaObject)empresaPanel.save();
try
{
estabelecimento.save();
MetaObject trabalhador = (MetaObject)trabalhadorPanel.save();
trabalhador.setProperty( fdpProvider.R_TRABALHADOR_ESTABELECIMENTO, estabelecimento );
trabalhador.setProperty( fdpProvider.OBSERVACOES, observacoesPanel.save() );
trabalhador.save();
}
catch( Exception ex )
{
DialogException.showExceptionMessage( ex, "Erro a guardar", true );
}
}
});
return true;
@ -128,7 +143,7 @@ public class FichaWindow extends TabbedWindow
return false;
}
}
fdpProvider.setSearch( FichaDataProvider.SEARCH_ESTABELECIMENTOS );
fdpProvider.setSearchID( FichaDataProvider.SEARCH_EMPRESAS, empresaID.intValue() );
search = new SearchDialog( fdpProvider, null, true, null, true );
@ -156,7 +171,6 @@ public class FichaWindow extends TabbedWindow
{
if( search.getIsNew() )
{
System.out.println( "FichaWindow: newItem: CRIAR TRABALHADOR" );
reload(0);
return true;
}
@ -178,15 +192,21 @@ System.out.println( "FichaWindow: newItem: CRIAR TRABALHADOR" );
{
Object empresaData[] = new Object[]{ empresaID, estabelecimentoID };
empresaPanel.fill( empresaData );
trabalhadorPanel.fill( trabalhadorID );
observacoesPanel.fill( trabalhadorID );
}
public void enableComponents( int index, boolean enable )
{
empresaPanel.setEnabled( enable );
trabalhadorPanel.setEnabled( enable );
observacoesPanel.setEnabled( enable );
}
public void clear( int index )
{
empresaPanel.clear();
trabalhadorPanel.clear();
observacoesPanel.clear();
}
}

@ -10,19 +10,25 @@ import java.awt.*;
import javax.swing.*;
import com.evolute.utils.dataui.*;
import com.evolute.utils.metadb.*;
import siprp.*;
/**
*
* @author fpalma
*/
public class ObservacoesPanel extends JPanel
implements FillerSaverWrapper
implements ControllableComponent
{
private JTextArea observacoesText;
private FichaDataProvider provider;
/** Creates a new instance of ObservacoesPanel */
public ObservacoesPanel()
throws Exception
{
provider = (FichaDataProvider)FichaDataProvider.getProvider();
setupComponents();
}
@ -46,10 +52,39 @@ public class ObservacoesPanel extends JPanel
public void fill(Object value)
{
clear();
Integer trabalhadorID = (Integer)value;
if( trabalhadorID != null )
{
try
{
MetaObject trabalhador = provider.load( provider.TRABALHADORES, new DBKey( trabalhadorID ) );
String observacoes = (String) trabalhador.getProperty( provider.OBSERVACOES );
if( observacoes != null )
{
observacoesText.setText( observacoes );
}
}
catch( Exception ex )
{
ex.printStackTrace();
}
}
}
public Object save()
{
return null;
return observacoesText.getText();
}
public void clear()
{
observacoesText.setText( "" );
}
public void setEnabled( boolean enable )
{
observacoesText.setEnabled( enable );
}
}

@ -12,15 +12,17 @@ import java.util.*;
import com.evolute.utils.data.*;
import com.evolute.utils.dataui.*;
import com.evolute.utils.metadb.*;
import com.evolute.utils.ui.*;
import com.evolute.utils.ui.panel.*;
import siprp.*;
/**
*
* @author fpalma
*/
public class TrabalhadorPanel extends JPanel
implements FillerSaverWrapper
implements ControllableComponent
{
private JTextField nomeText;
private RadioButtonFixedPanel sexoPanel;
@ -33,12 +35,20 @@ public class TrabalhadorPanel extends JPanel
private JTextField funcaoText;
private JCalendarPanel dataAdmissaoFuncaoPanel;
private ComponentsHashtable components;
private FichaDataProvider provider;
private MetaObject trabalhador;
/** Creates a new instance of TrabalhadorPanel */
public TrabalhadorPanel()
throws Exception
{
provider = (FichaDataProvider)FichaDataProvider.getProvider();
setupComponents();
setupComponentsHashtable();
}
private void setupComponents()
{
@ -99,12 +109,6 @@ public class TrabalhadorPanel extends JPanel
gridbag.setConstraints( sexoPanel, constraints );
add( sexoPanel );
// constraints.weightx = 1;
// constraints.gridwidth = GridBagConstraints.REMAINDER;
// JPanel pad = new JPanel();
// gridbag.setConstraints( pad, constraints );
// add( pad );
constraints.weightx = 0;
constraints.gridwidth = 2;
gridbag.setConstraints( nacionalidadeLabel, constraints );
@ -185,12 +189,132 @@ public class TrabalhadorPanel extends JPanel
add( dataAdmissaoFuncaoPanel );
}
private void setupComponentsHashtable()
{
components = new ComponentsHashtable();
components.putComponent( provider.T_TRABALHADORES + "." + provider.NOME, nomeText );
components.putComponent( provider.T_TRABALHADORES + "." + provider.DATA_NASCIMENTO, dataNascimentoPanel );
components.putComponent( provider.T_TRABALHADORES + "." + provider.NACIONALIDADE, nacionalidadeText );
components.putComponent( provider.T_TRABALHADORES + "." + provider.NUMERO_MECANOGRAFICO, numeroMecanograficoText );
components.putComponent( provider.T_TRABALHADORES + "." + provider.DATA_ADMISSAO, dataAdmissaoPanel );
components.putComponent( provider.T_TRABALHADORES + "." + provider.CATEGORIA, categoriaText );
components.putComponent( provider.T_TRABALHADORES + "." + provider.LOCAL_TRABALHO, localText );
components.putComponent( provider.T_TRABALHADORES + "." + provider.FUNCAO_PROPOSTA, funcaoText );
components.putComponent( provider.T_TRABALHADORES + "." + provider.DATA_ADMISSAO_FUNCAO, dataAdmissaoFuncaoPanel );
components.putDummy( provider.T_TRABALHADORES + "." + provider.ESTABELECIMENTO_ID );
components.putDummy( provider.T_TRABALHADORES + "." + provider.OBSERVACOES );
components.putComponent( provider.T_TRABALHADORES + "." + provider.SEXO,
new ControllableComponent()
{
public void fill( Object value )
{
if( value != null && value.equals( "f" ) )
{
sexoPanel.fill( new Integer(2) );
}
else
{
sexoPanel.fill( new Integer(1) );
}
}
public Object save()
{
Integer id = (Integer)sexoPanel.save();
if( id != null && id.intValue() == 2 )
{
return "m";
}
return "f";
}
public void clear()
{
sexoPanel.clear();
}
public void setEnabled( boolean enable )
{
sexoPanel.setEnabled( enable );
}
} );
}
public void fill(Object value)
{
clear();
trabalhador = null;
if( value != null )
{
Integer trabalhadorID = (Integer)value;
if( trabalhadorID != null )
{
try
{
trabalhador = provider.load( provider.TRABALHADORES, new DBKey( trabalhadorID ) );
DBField fields[] = provider.TRABALHADORES.getInsertFields();
String trabalhadorFields[] = new String[ fields.length ];
Hashtable data = new Hashtable();
for( int i = 0; i < trabalhadorFields.length; ++i )
{
trabalhadorFields[ i ] = fields[ i ].FULL_NAME;
Object fieldValue = trabalhador.getProperty( trabalhadorFields[ i ] );
if( fieldValue != null )
{
data.put( trabalhadorFields[ i ], fieldValue );
}
}
ComponentController.fill( trabalhadorFields, data, components );
}
catch( Exception ex )
{
DialogException.showExceptionMessage( ex, "Erro a carregar os dados do trabalhador", true );
}
}
}
}
public Object save()
{
try
{
if( trabalhador == null )
{
trabalhador = provider.createObject( provider.TRABALHADORES );
}
DBField fields[] = provider.TRABALHADORES.getInsertFields();
String trabalhadorFields[] = new String[ fields.length ];
for( int i = 0; i < trabalhadorFields.length; ++i )
{
trabalhadorFields[ i ] = fields[ i ].FULL_NAME;
}
Hashtable hash = new Hashtable();
ComponentController.save( trabalhadorFields, hash, components );
Enumeration enum = hash.keys();
while( enum.hasMoreElements() )
{
String name = ( String )enum.nextElement();
trabalhador.setProperty( name, hash.get( name ) );
}
return trabalhador;
}
catch( Exception ex )
{
ex.printStackTrace();
}
return null;
}
public void clear()
{
String names[] = (String[])components.keySet().toArray( new String[0] );
ComponentController.clear( names, components );
}
public void setEnabled( boolean enable )
{
String names[] = (String[])components.keySet().toArray( new String[0] );
ComponentController.setEnabled( names, enable, components );
}
}

Loading…
Cancel
Save