no message

git-svn-id: https://svn.coded.pt/svn/SIPRP@16 bb69d46d-e84e-40c8-a05a-06db0d633741
lxbfYeaa
P Santos 22 years ago
parent e9d6d3fd03
commit 2534926208

@ -6,17 +6,23 @@
package siprp; package siprp;
import com.evolute.utils.*;
import com.evolute.utils.arrays.*;
import com.evolute.utils.db.*;
import com.evolute.utils.db.keyretrievers.*; import com.evolute.utils.db.keyretrievers.*;
import com.evolute.utils.metadb.*; import com.evolute.utils.metadb.*;
import com.evolute.utils.ui.search.*;
import com.evolute.utils.sql.*;
/** /**
* *
* @author pars * @author pars
*/ */
public class FichaDataProvider extends MetaProvider { public class FichaDataProvider extends MetaProvider implements SearchExecuter {
private static final Object LOCK = new Object(); private static final Object LOCK = new Object();
private static FichaDataProvider instance = null; private static FichaDataProvider instance = null;
private final Executer executer;
// empresas // empresas
public static final String T_EMPRESAS = "empresas"; public static final String T_EMPRESAS = "empresas";
@ -41,19 +47,20 @@ public class FichaDataProvider extends MetaProvider {
// estabelecimentos // estabelecimentos
public static final String T_ESTABELECIMENTOS = "estabelecimentos"; public static final String T_ESTABELECIMENTOS = "estabelecimentos";
// ID // ID
public static final String NOME = "nome";
public static final String LOCALIDADE = "localidade"; public static final String LOCALIDADE = "localidade";
public static final String EMPRESA_ID = "empresa_id"; public static final String EMPRESA_ID = "empresa_id";
// INACTIVO // INACTIVO
public static final DBTable ESTABELECIMENTOS = public static final DBTable ESTABELECIMENTOS =
new DBTable( T_ESTABELECIMENTOS, new DBTable( T_ESTABELECIMENTOS,
new String[]{ LOCALIDADE, EMPRESA_ID, INACTIVO }, new String[]{ NOME, LOCALIDADE, EMPRESA_ID, INACTIVO },
ID ); ID );
// trabalhadores // trabalhadores
public static final String T_TRABALHADORES = "trabalhadores"; public static final String T_TRABALHADORES = "trabalhadores";
// ID // ID
public static final String NOME = "nome"; // public static final String NOME = "nome";
public static final String SEXO = "sexo"; public static final String SEXO = "sexo";
public static final String DATA_NASCIMENTO = "data_nascimento"; public static final String DATA_NASCIMENTO = "data_nascimento";
public static final String NACIONALIDADE = "nacionalidade"; public static final String NACIONALIDADE = "nacionalidade";
@ -121,13 +128,27 @@ public class FichaDataProvider extends MetaProvider {
throw new RuntimeException( e ); throw new RuntimeException( e );
} }
} }
public static final int SEARCH_EMPRESAS = 0;
public static final int SEARCH_ESTABELECIMENTOS = 1;
public static final int SEARCH_TRABALHADORES = 2;
public static final int SEARCH_EXAMES = 3;
private int SEARCH = 0;
private int SEARCH_EMPRESAS_ID = -1;
private int SEARCH_ESTABELECIMENTOS_ID = -1;
private int SEARCH_TRABALHADORES_ID = -1;
private int SEARCH_EXAMES_ID = -1;
/** Creates a new instance of FichaDataProvider */ /** Creates a new instance of FichaDataProvider */
public FichaDataProvider() public FichaDataProvider()
throws Exception throws Exception
{ {
DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER /*SingletonConstants.DBMANAGER*/ );
executer = dbm.getSharedExecuter( this );
setDBTable( EXAMES ); setDBTable( EXAMES );
setKeyRetriever( new JDBCAutoKeyRetriever() ); setKeyRetriever( JDBCAutoKeyRetriever.DEFAULT );
} }
public static MetaProvider getProvider() public static MetaProvider getProvider()
@ -142,4 +163,98 @@ public class FichaDataProvider extends MetaProvider {
} }
return instance; return instance;
} }
public String[] getColumnNames() {
return new String[]{ "Nome" };
}
public String getSearchTitle() {
switch( SEARCH )
{
case SEARCH_EMPRESAS:
return "Procurar empresa";
case SEARCH_ESTABELECIMENTOS:
return "Procurar estabelecimento";
case SEARCH_TRABALHADORES:
return "Procurar trabalhador";
case SEARCH_EXAMES:
return "Procurar exame";
}
return "";
}
public boolean hasDetails() {
return false;
}
public void setSearch( int what )
{
switch( what )
{
case SEARCH_EMPRESAS:
case SEARCH_ESTABELECIMENTOS:
case SEARCH_TRABALHADORES:
case SEARCH_EXAMES:
SEARCH = what;
break;
}
}
public void setSearchID( int what, int id )
{
switch( what )
{
case SEARCH_EMPRESAS:
SEARCH_EMPRESAS_ID = id;
break;
case SEARCH_ESTABELECIMENTOS:
SEARCH_ESTABELECIMENTOS_ID = id;
break;
case SEARCH_TRABALHADORES:
SEARCH_TRABALHADORES_ID = id;
break;
case SEARCH_EXAMES:
SEARCH_EXAMES_ID = id;
break;
}
}
public Virtual2DArray search( String pattern ) throws Exception {
switch( SEARCH )
{
case SEARCH_EMPRESAS:
return searchEmpresas( pattern );
case SEARCH_ESTABELECIMENTOS:
return searchEstabelecimentos( pattern );
case SEARCH_TRABALHADORES:
return searchTrabalhadores( pattern );
case SEARCH_EXAMES:
return searchExames( pattern );
}
return null;
}
public Virtual2DArray searchEmpresas( String pattern ) throws Exception {
Select select = new Select( "SELECT e.id, e.designacao_social FROM empresas e;" );
return executer.executeQuery( select );
}
public Virtual2DArray searchEstabelecimentos( String pattern ) throws Exception {
Select select = new Select( "SELECT e.id, e.nome FROM estabelecimentos e;" );
return executer.executeQuery( select );
}
public Virtual2DArray searchTrabalhadores( String pattern ) throws Exception {
Select select = new Select( "SELECT t.id, t.nome FROM trabalhadores t;" );
return executer.executeQuery( select );
}
public Virtual2DArray searchExames( String pattern ) throws Exception {
Select select = new Select( "SELECT e.id, e.data FROM exames e;" );
return executer.executeQuery( select );
}
public void showDetails(SearchDialog dialog, Object o) throws Exception {
}
} }

@ -2,13 +2,34 @@ package siprp;
import siprp.ficha.*; import siprp.ficha.*;
import com.evolute.utils.*;
import com.evolute.utils.db.*;
import com.evolute.utils.jdbc.*;
import com.evolute.utils.sql.*;
public class Main public class Main
{ {
public static void main( String args[] ) public static void main( String args[] )
throws Exception throws Exception
{ {
String server = "192.168.0.12";
String dbase = "test";
String user = "admin";
String passwd = "";
DBManager dbm = new JDBCManager( "jdbc:mysql://" + server + "/" + dbase,
user, passwd , 10, 8, 8, null );
Singleton.setInstance( Singleton.DEFAULT_DBMANAGER, dbm );
StatementExecuterFactory.initialize(
new DBStatementExecuter( dbm.getSharedExecuter() ) );
FichaWindow window = new FichaWindow(); FichaWindow window = new FichaWindow();
window.show(); window.show();
} }
} }

@ -6,10 +6,14 @@
package siprp.ficha; package siprp.ficha;
import siprp.*;
import java.awt.*; import java.awt.*;
import javax.swing.*; import javax.swing.*;
import com.evolute.utils.ui.search.*;
import com.evolute.utils.ui.window.*; import com.evolute.utils.ui.window.*;
/** /**
* *
* @author fpalma * @author fpalma
@ -21,7 +25,9 @@ public class FichaWindow extends TabbedWindow
private TrabalhadorPanel trabalhadorPanel; private TrabalhadorPanel trabalhadorPanel;
private ObservacoesPanel observacoesPanel; private ObservacoesPanel observacoesPanel;
private ExamePanel examePanel; private ExamePanel examePanel;
private FichaDataProvider fdpProvider;
private static int permissions[][] = private static int permissions[][] =
new int[][]{ { NEW_INDEX, CANCEL_INDEX, SAVE_INDEX, DELETE_INDEX } }; new int[][]{ { NEW_INDEX, CANCEL_INDEX, SAVE_INDEX, DELETE_INDEX } };
@ -33,6 +39,7 @@ public class FichaWindow extends TabbedWindow
createPermissions( permissions ) ); createPermissions( permissions ) );
setEditorManagerFactory( FichaAptidaoEditorManager.getEditorManagerFactory() ); setEditorManagerFactory( FichaAptidaoEditorManager.getEditorManagerFactory() );
upperPanel = (UpperPanel) getUpperPanel(); upperPanel = (UpperPanel) getUpperPanel();
fdpProvider = ( FichaDataProvider ) FichaDataProvider.getProvider();
setupComponents(); setupComponents();
} }
@ -105,6 +112,30 @@ public class FichaWindow extends TabbedWindow
public boolean newItem( int index ) public boolean newItem( int index )
{ {
switch( index )
{
case 0:
fdpProvider.setSearch( FichaDataProvider.SEARCH_EMPRESAS );
SearchDialog search = new SearchDialog( fdpProvider, null, true, null, false );
Integer empresaID = ( Integer )search.getSelected();
if( empresaID == null )
{
return false;
}
fdpProvider.setSearch( FichaDataProvider.SEARCH_ESTABELECIMENTOS );
fdpProvider.setSearchID( FichaDataProvider.SEARCH_EMPRESAS, empresaID.intValue() );
search = new SearchDialog( fdpProvider, null, true, null, false );
Integer estabelecimentoID = ( Integer )search.getSelected();
if( estabelecimentoID == null )
{
return false;
}
break;
}
return true; return true;
} }

Loading…
Cancel
Save