/* * FichaDataProvider.java * * Created on 30 de Março de 2004, 11:31 */ package siprp; import com.evolute.utils.db.keyretrievers.*; import com.evolute.utils.metadb.*; /** * * @author pars */ public class FichaDataProvider extends MetaProvider { private static final Object LOCK = new Object(); private static FichaDataProvider instance = null; // empresas public static final String T_EMPRESAS = "empresas"; public static final String ID = "id"; public static final String DESIGNACAO_SOCIAL = "designacao_social"; public static final String SERVICO_SAUDE_TIPO = "servico_saude_tipo"; public static final String SERVICO_SAUDE_DESIGNACAO = "servico_saude_designacao"; public static final String SERVICO_HIGIENE_TIPO = "servico_higiene_tipo"; public static final String SERVICO_HIGIENE_DESIGNACAO = "servico_higiene_designacao"; public static final String INACTIVO = "inactivo"; public static final DBTable EMPRESAS = new DBTable( T_EMPRESAS, new String[]{ DESIGNACAO_SOCIAL, SERVICO_SAUDE_TIPO, SERVICO_SAUDE_DESIGNACAO, SERVICO_HIGIENE_TIPO, SERVICO_HIGIENE_DESIGNACAO, INACTIVO }, ID ); // estabelecimentos public static final String T_ESTABELECIMENTOS = "estabelecimentos"; // ID public static final String LOCALIDADE = "localidade"; public static final String EMPRESA_ID = "empresa_id"; // INACTIVO public static final DBTable ESTABELECIMENTOS = new DBTable( T_ESTABELECIMENTOS, new String[]{ LOCALIDADE, EMPRESA_ID, INACTIVO }, ID ); // trabalhadores public static final String T_TRABALHADORES = "trabalhadores"; // ID public static final String NOME = "nome"; public static final String SEXO = "sexo"; public static final String DATA_NASCIMENTO = "data_nascimento"; public static final String NACIONALIDADE = "nacionalidade"; public static final String NUMERO_MECANOGRAFICO = "numero_mecanografico"; public static final String DATA_ADMISSAO = "data_admissao"; public static final String CATEGORIA = "categoria"; 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 ESTABELECIMENTO_ID = "estabelecimento_id"; // INACTIVO public static final DBTable TRABALHADORES = new DBTable( T_TRABALHADORES, new String[]{ NOME, SEXO, DATA_NASCIMENTO, NACIONALIDADE, NUMERO_MECANOGRAFICO, DATA_ADMISSAO, CATEGORIA, LOCAL_TRABALHO, FUNCAO_PROPOSTA, DATA_ADMISSAO_FUNCAO, 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"; public static final String OUTRO_TIPO = "outro_tipo"; public static final String RESULTADO = "resultado"; public static final String OUTRA_FUNCAO_1 = "outra_funcao_1"; public static final String OUTRA_FUNCAO_2 = "outra_funcao_2"; public static final String OUTRA_FUNCAO_3 = "outra_funcao_3"; public static final String OUTRA_FUNCAO_4 = "outra_funcao_4"; public static final String PROXIMO_EXAME = "proximo_exame"; public static final String OUTRAS_RECOMENDACOES = "outras_recomendacoes"; public static final String TRABALHADOR_ID = "trabalhador_id"; public static final DBTable EXAMES = new DBTable( T_EXAMES, new String[]{ OBSERVACOES, DATA, TIPO, OCASIONAL, OUTRO_TIPO, RESULTADO, OUTRA_FUNCAO_1, OUTRA_FUNCAO_2, OUTRA_FUNCAO_3, OUTRA_FUNCAO_4, PROXIMO_EXAME, OUTRAS_RECOMENDACOES, TRABALHADOR_ID }, ID ); // public static DBReference static { try { EXAMES.addRelation( TRABALHADORES, new DBField[]{ EXAMES.getFieldByName( TRABALHADOR_ID ) }, "R_EXAMES_TRABALHADORES" ); TRABALHADORES.addRelation( ESTABELECIMENTOS, new DBField[]{ TRABALHADORES.getFieldByName( ESTABELECIMENTO_ID ) }, "R_TRABALHADORES_ESTABELECIMENTOS" ); ESTABELECIMENTOS.addRelation( EMPRESAS, new DBField[]{ ESTABELECIMENTOS.getFieldByName( EMPRESA_ID ) }, "R_ESTABELECIMENTOS_EMPRESAS" ); } catch( Exception e ) { throw new RuntimeException( e ); } } /** Creates a new instance of FichaDataProvider */ public FichaDataProvider() throws Exception { setDBTable( EXAMES ); setKeyRetriever( new JDBCAutoKeyRetriever() ); } public static MetaProvider getProvider() throws Exception { synchronized( LOCK ) { if( instance == null ) { instance = new FichaDataProvider(); } } return instance; } }