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

lxbfYeaa
Diogo Neves 16 years ago
parent a56aa1f7aa
commit 7c26aa59b8

@ -74,8 +74,11 @@ public class ORMInitializer
conn.setPassword( password );
ProviderRegistry.registerDefaultConnection( conn );
ProviderInterface provider = ProviderRegistry.getDefaultProvider( conn );
//FIXME : remover pelo menos o JDO ... (daqui e do resto do codigo)
Singleton.setInstance( Singleton.DEFAULT_OBJECT_PROVIDER, provider );
Singleton.setInstance( Singleton.DEFAULT_JDO_PROVIDER, provider );
Singleton.setInstance( Singleton.DEFAULT_EVO_DATA_PROVIDER, provider );
}

@ -0,0 +1,209 @@
package siprp.database.cayenne.providers;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import siprp.MedicinaConstants;
import siprp.ProcessoConstants;
import siprp.data.outer.EmpresasData;
import siprp.data.outer.ExamesData;
import siprp.data.outer.LembretesTiposData;
import siprp.data.outer.PrestadoresData;
import siprp.data.outer.PrtGruposProtocoloData;
import siprp.data.outer.TrabalhadoresConsultasDatasData;
import siprp.data.outer.TrabalhadoresData;
import siprp.data.outer.TrabalhadoresEcdData;
import siprp.data.outer.TrabalhadoresEcdsDatasData;
import siprp.data.outer.TrabalhadoresProcessoData;
import siprp.database.cayenne.objects.Prestadores;
import com.evolute.entity.ProviderInterface;
import com.evolute.utils.Singleton;
import com.evolute.utils.dataedition.persistence.Persistent;
import com.evolute.utils.db.DBManager;
import com.evolute.utils.db.Executer;
import com.evolute.utils.error.ErrorLogger;
public class MedicinaDataProvider
{
private static MedicinaDataProvider INSTANCE = null;
private ProviderInterface< Persistent< ? >, Exception > ENTITY_PROVIDER;
private Executer executer;
private MedicinaDataProvider() throws Exception
{
DBManager manager = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER );
executer = manager.getSharedExecuter( this );
ENTITY_PROVIDER = ( ProviderInterface< Persistent< ? >, Exception > ) Singleton.getInstance( Singleton.DEFAULT_EVO_DATA_PROVIDER );
}
public static synchronized MedicinaDataProvider getInstance() throws Exception
{
if ( INSTANCE == null )
{
INSTANCE = new MedicinaDataProvider();
}
return INSTANCE;
}
public TrabalhadoresData getTrabalhadorByID( Integer id )
{
TrabalhadoresData result = null;
try
{
result = ENTITY_PROVIDER.load( TrabalhadoresData.class, id );
}
catch (Exception e)
{
ErrorLogger.logException( e );
}
return result;
}
public TrabalhadoresConsultasDatasData getConsultaMarcacaoByID( Integer id )
{
TrabalhadoresConsultasDatasData result = null;
try
{
result = ENTITY_PROVIDER.load( TrabalhadoresConsultasDatasData.class, id );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public ExamesData getExameForExameID( Integer currentFichaExameID )
{
ExamesData result = null;
try
{
result = ENTITY_PROVIDER.load( ExamesData.class, currentFichaExameID );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public LembretesTiposData getTipoLembretesCustomizavel()
{
LembretesTiposData result = null;
try
{
result = ENTITY_PROVIDER.load( LembretesTiposData.class, 1 );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< EmpresasData > getAllEmpresas()
{
List< EmpresasData > result = null;
try
{
result = ENTITY_PROVIDER.listLoad( EmpresasData.class,
new Object[] { "y" },
new String[] { EmpresasData.INACTIVO },
new String[] { EmpresasData.DESIGNACAO_SOCIAL_PLAIN } );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< PrestadoresData > getAllPrestadores()
{
List< PrestadoresData > result = null;
try
{
result = ENTITY_PROVIDER.listLoad( PrestadoresData.class,
new Object[] { "y" }, new String[] { PrestadoresData.ACTIVO },
new String[] { PrestadoresData.NOME } );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< PrtGruposProtocoloData > getAllPrtGruposProtocolo()
{
List< PrtGruposProtocoloData > result = null;
try
{
result = ENTITY_PROVIDER.listLoad( PrtGruposProtocoloData.class,
new String[] { PrtGruposProtocoloData.DESCRICAO_PLAIN } );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public void fecharProcesso( TrabalhadoresProcessoData currentProcesso )
{
try
{
currentProcesso.setEstado( ProcessoConstants.PROCESSO_FECHADO_CODE );
currentProcesso.save();
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
}
//FIXME : substituir por PrestadoresData.prestadorNulo -> fazer alteracoes aqui
public PrestadoresData getDefaultPrestador()
{
PrestadoresData prestadorNulo = new PrestadoresData();
prestadorNulo.setNome( "SIPRP" );
return prestadorNulo;
}
public Collection< TrabalhadoresEcdData > getPendingExamesForAnalisador( Prestadores currentAnalisador )
{
Map< TrabalhadoresEcdData, TrabalhadoresEcdData > resultMap = new HashMap< TrabalhadoresEcdData, TrabalhadoresEcdData >();
try
{
List< TrabalhadoresEcdData > all = ENTITY_PROVIDER.listLoad( TrabalhadoresEcdData.class,
new Object[] { null }, new String[] { TrabalhadoresEcdData.DATA_RECEPCAO }, null );
for ( TrabalhadoresEcdData ecd : all )
{
TrabalhadoresEcdsDatasData data = ecd.toTrabalhadores_ecds_datas_id();
if ( new Integer( MedicinaConstants.ESTADO_REALIZADO ).equals( data.getEstado() ) )
{
if ( currentAnalisador.equals( ecd.toAnalisador_id() ) )
{
resultMap.put( ecd ,ecd );
}
else if ( Prestadores.prestadorNulo.equals( currentAnalisador ) && ecd.toAnalisador_id() == null )
{
resultMap.put( ecd, ecd );
}
}
}
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return resultMap.values();
}
}

@ -0,0 +1,351 @@
package siprp.database.cayenne.providers;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import siprp.data.outer.EmailPlanoDeActuacaoData;
import siprp.data.outer.EstabelecimentosData;
import siprp.data.outer.HsEmailEstabelecimentoData;
import siprp.data.outer.HsEquipamentoData;
import siprp.data.outer.HsLegislacaoCategoriaData;
import siprp.data.outer.HsLegislacaoData;
import siprp.data.outer.HsNormalizacaoData;
import siprp.data.outer.HsPostoData;
import siprp.data.outer.HsPostoRiscoData;
import siprp.data.outer.HsRelatorioData;
import siprp.data.outer.HsRelatorioRiscoData;
import siprp.data.outer.HsRelatorioRiscoValorQualitativoData;
import siprp.data.outer.HsRiscoData;
import siprp.data.outer.HsRiscoTemaData;
import siprp.data.outer.MarcacoesEstabelecimentoData;
import com.evolute.entity.ProviderInterface;
import com.evolute.utils.Singleton;
import com.evolute.utils.arrays.Virtual2DArray;
import com.evolute.utils.dataedition.persistence.Persistent;
import com.evolute.utils.db.DBManager;
import com.evolute.utils.db.Executer;
import com.evolute.utils.error.ErrorLogger;
import com.evolute.utils.sql.Expression;
import com.evolute.utils.sql.Field;
import com.evolute.utils.sql.Select2;
public class PlanoActuacaoDataProvider
{
private static PlanoActuacaoDataProvider INSTANCE = null;
private ProviderInterface< Persistent< ? >, Exception > ENTITY_PROVIDER;
private Executer executer;
private static final Integer ID_COMPANHIA_HIPERMERCADOS = 32;
private PlanoActuacaoDataProvider() throws Exception
{
DBManager manager = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER );
executer = manager.getSharedExecuter( this );
ENTITY_PROVIDER = ( ProviderInterface< Persistent< ? >, Exception > ) Singleton.getInstance( Singleton.DEFAULT_EVO_DATA_PROVIDER );
}
public static synchronized PlanoActuacaoDataProvider getInstance() throws Exception
{
if ( INSTANCE == null )
{
INSTANCE = new PlanoActuacaoDataProvider();
}
return INSTANCE;
}
public EstabelecimentosData getEstabelecimentoByID( Integer id )
{
EstabelecimentosData result = null;
try
{
result = ENTITY_PROVIDER.load( EstabelecimentosData.class, id );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public void addEmailToEstabelecimento( String email, EstabelecimentosData estabelecimento )
{
try
{
EmailPlanoDeActuacaoData emailObject = new EmailPlanoDeActuacaoData();
emailObject.setDescription( email );
emailObject.setToEstabelecimento_id( estabelecimento );
emailObject.save();
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
}
public List< HsRiscoTemaData > getAllRiscoTemas()
{
List< HsRiscoTemaData > result = null;
try
{
result = ENTITY_PROVIDER.listLoad( HsRiscoTemaData.class,
new Object[] { null }, new String[] { HsRiscoTemaData.DELETED_DATE },
new String[] { HsRiscoTemaData.DESCRIPTION } );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public HsRelatorioData criarRelatorioForVisita( MarcacoesEstabelecimentoData visita )
{
HsRelatorioData result = null;
try
{
if( visita != null )
{
result = new HsRelatorioData();
result.setToMarcacao_id( visita );
result.setData( new Date() );
result.save();
}
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public HsPostoRiscoData createValoresFor( HsRiscoData risco, HsPostoData posto )
{
HsPostoRiscoData result = null;
try
{
if( risco != null && posto != null )
{
result = new HsPostoRiscoData();
result.setToPosto_id( posto );
result.setToRisco_id( risco );
result.setIs_plano_actuacao( "n" );
result.save();
}
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< HsRelatorioRiscoValorQualitativoData > getAllValoresQualitativos()
{
List< HsRelatorioRiscoValorQualitativoData > result = null;
try
{
result = ENTITY_PROVIDER.listLoad( HsRelatorioRiscoValorQualitativoData.class );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
/**
* Get
* @param dates
* @param estabelecimentoID
* @return
*/
public List< HsRelatorioData > getRelatoriosNotIn( List< Date > dates, Integer estabelecimentoID )
{
List< HsRelatorioData > result = new LinkedList< HsRelatorioData >();
dates = dates != null ? dates : new LinkedList< Date >();
try
{
Expression where = new Field( HsRelatorioData.IS_SUBMETIDO ).isDifferent( null ).and(
new Field( HsRelatorioData.DELETED_DATE ).isEqual( null )
);
List< HsRelatorioData > all = ENTITY_PROVIDER.listLoad( HsRelatorioData.class, where, null, null );
for( HsRelatorioData relatorio : all )
{
MarcacoesEstabelecimentoData visita = relatorio.toMarcacao_id();
if( visita != null )
{
if ( visita.toEstabelecimento_id() != null && visita.toEstabelecimento_id().toEmpresa_id().getId().equals( ID_COMPANHIA_HIPERMERCADOS ) )
{
if( estabelecimentoID == null || estabelecimentoID != null && estabelecimentoID.equals( visita.getEstabelecimento_id() ) )
{
Date dateVisita = visita.getData();
if( dateVisita != null && !dates.contains( dateVisita ) )
{
result.add( relatorio );
}
}
}
}
}
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< HsRelatorioData > getRelatoriosNotIn( List< Integer > knownEstabelecimentosIDs )
{
List< HsRelatorioData > result = new LinkedList< HsRelatorioData >();
knownEstabelecimentosIDs = knownEstabelecimentosIDs != null ? knownEstabelecimentosIDs : new LinkedList< Integer >();
try
{
Expression where = new Field( HsRelatorioData.IS_SUBMETIDO ).isDifferent( null ).and(
new Field( HsRelatorioData.DELETED_DATE ).isEqual( null )
);
List< HsRelatorioData > all = ENTITY_PROVIDER.listLoad( HsRelatorioData.class, where, null, null );
for( HsRelatorioData relatorio : all )
{
MarcacoesEstabelecimentoData visita = relatorio.toMarcacao_id();
if( visita != null )
{
if( visita.toEstabelecimento_id() != null && visita.toEstabelecimento_id().toEmpresa_id().getId().equals( ID_COMPANHIA_HIPERMERCADOS ) )
{
Integer estabelecimentoID = visita.toEstabelecimento_id().getId();
if( ! knownEstabelecimentosIDs.contains( estabelecimentoID ) )
{
result.add( relatorio );
}
}
}
}
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< HsLegislacaoData > getAllLegislacaoGeral()
{
List< HsLegislacaoData > result = null;
try
{
result = ENTITY_PROVIDER.listLoad( HsLegislacaoData.class,
new Object[] { null, null }, new String[] { HsLegislacaoData.DELETED_DATE, HsLegislacaoData.CATEGORIA_ID },
new String[] { HsLegislacaoData.DESCRIPTION } );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< HsLegislacaoCategoriaData > getAllLegislacaoCategorias()
{
List< HsLegislacaoCategoriaData > result = null;
try
{
result = ENTITY_PROVIDER.listLoad( HsLegislacaoCategoriaData.class,
new Object[] { null }, new String[] { HsLegislacaoCategoriaData.DELETED_DATE },
new String[] { HsLegislacaoCategoriaData.DESCRIPTION } );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< HsNormalizacaoData > getNormalizacao( boolean portuguesa )
{
List< HsNormalizacaoData > result = null;
try
{
result = ENTITY_PROVIDER.listLoad( HsNormalizacaoData.class,
new Object[] { null, portuguesa }, new String[] { HsNormalizacaoData.DELETED_DATE, HsNormalizacaoData.PORTUGUESA },
new String[] {} );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< HsEquipamentoData > getAllEquipamentos()
{
List< HsEquipamentoData > result = null;
try
{
result = ENTITY_PROVIDER.listLoad( HsEquipamentoData.class,
new Object[] { null }, new String[] { HsEquipamentoData.DELETED_DATE },
new String[] { HsEquipamentoData.TIPO } );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< HsEmailEstabelecimentoData > getEmailsForEstabelecimento( EstabelecimentosData estabelecimento )
{
List< HsEmailEstabelecimentoData > result = null;
try
{
result = ENTITY_PROVIDER.listLoad( HsEmailEstabelecimentoData.class,
new Object[] { estabelecimento.getId() }, new String[] { HsEmailEstabelecimentoData.ESTABELECIMENTO_ID },
null );
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public List< HsRiscoData > findHsRiscosFor( HsRelatorioRiscoData relatorioRisco )
{
List< HsRiscoData > result = null;
try
{
Select2 query = new Select2(
new String[] { HsRiscoData.TABLENAME },
new Integer[] { },
new Expression[] { },
new String[] { HsRiscoData.ID_FULL },
new Field( HsRiscoData.DESCRIPTION_FULL ).isILike( relatorioRisco.getDescription() ),
null, null, null, null
);
Virtual2DArray array = executer.executeQuery( query );
result = new ArrayList< HsRiscoData >();
for ( int i = 0; i < array.columnLength(); i++ )
{
Integer id = array.get( i, 0 );
result.add( loadHsRiscoDataByID( id ) );
}
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
return result;
}
public HsRiscoData loadHsRiscoDataByID( Integer id ) throws Exception
{
return ENTITY_PROVIDER.load( HsRiscoData.class, id );
}
}
Loading…
Cancel
Save