You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
2.6 KiB

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<Empresas> getAllEmpresas()
{
SelectQuery query = new SelectQuery( Empresas.class );
query.andQualifier( ExpressionFactory.noMatchExp( Empresas.INACTIVO_PROPERTY, "y" ) );
query.addOrdering( Empresas.DESIGNACAO_SOCIAL_PLAIN_PROPERTY, true );
List<Empresas> allEmpresas = context.performQuery( query );
return allEmpresas;
}
public List<Prestadores> getAllPrestadores()
{
SelectQuery query = new SelectQuery( Prestadores.class );
query.andQualifier( ExpressionFactory.matchExp( Prestadores.ACTIVO_PROPERTY, "y" ) );
query.addOrdering( Prestadores.NOME_PROPERTY, true );
List<Prestadores> allPrestadores = context.performQuery( query );
return allPrestadores;
}
public List<PrtGruposProtocolo> getAllPrtGruposProtocolo()
{
SelectQuery query = new SelectQuery( PrtGruposProtocolo.class );
query.addOrdering( PrtGruposProtocolo.DESCRICAO_PLAIN_PROPERTY, true );
List<PrtGruposProtocolo> 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;
}
}