package siprp.database.cayenne.providers; import java.util.List; import org.apache.cayenne.DataObjectUtils; import org.apache.cayenne.PersistenceState; import org.apache.cayenne.exp.ExpressionFactory; 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 Prestadores defaultPrestador = null; public Trabalhadores getTrabalhadorByID( Integer id ) { return (Trabalhadores) DataObjectUtils.objectForPK( context, Trabalhadores.class, id ); } public List getAllEmpresas() { SelectQuery query = new SelectQuery( Empresas.class ); query.andQualifier( ExpressionFactory.noMatchExp( Empresas.INACTIVO_PROPERTY, "y" ) ); query.addOrdering( Empresas.DESIGNACAO_SOCIAL_PLAIN_PROPERTY, true ); List allEmpresas = context.performQuery( query ); return allEmpresas; } public List getAllPrestadores() { SelectQuery query = new SelectQuery( Prestadores.class ); query.andQualifier( ExpressionFactory.matchExp( Prestadores.ACTIVO_PROPERTY, "y" ) ); query.addOrdering( Prestadores.NOME_PROPERTY, true ); List allPrestadores = context.performQuery( query ); return allPrestadores; } public List getAllPrtGruposProtocolo() { SelectQuery query = new SelectQuery( PrtGruposProtocolo.class ); query.addOrdering( PrtGruposProtocolo.DESCRICAO_PLAIN_PROPERTY, true ); List allPrtGruposProtocolo= context.performQuery( query ); return allPrtGruposProtocolo; } public BaseObject saveObject( BaseObject object ) { if( object != null ) { if( object.getPersistenceState() == PersistenceState.NEW ) { context.registerNewObject( object ); } context.commitChanges(); } return object; } public void rollback() { context.rollbackChanges(); context.unregisterObjects( context.uncommittedObjects() ); context.deleteObjects( context.newObjects() ); } public void fecharProcesso( TrabalhadoresProcesso currentProcesso ) { currentProcesso.setEstado( ProcessoConstants.PROCESSO_FECHADO_CODE ); context.commitChanges(); } public Prestadores getDefaultPrestador() { if(defaultPrestador == null) { getAllPrestadores(); } return defaultPrestador; } }