Red Hat Application Migration Toolkit
package mx.com.bcm.banamex.ae.persistencia.dao.impl;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
import mx.com.bcm.banamex.ae.persistencia.common.GlobalJpaDaoBean;
import mx.com.bcm.banamex.ae.persistencia.constantes.OperadorLogicoType;
import mx.com.bcm.banamex.ae.persistencia.dao.CatalogoUnidadDeNegocioDAOBeanLocal;
import mx.com.bcm.banamex.ae.persistencia.exception.EfectivoAplicacionDAOException;
import mx.com.bcm.banamex.ae.persistencia.helper.UtileriaHelper;
import mx.com.bcm.banamex.ae.persistencia.modelo.UnidadDeNegocio;
import mx.com.bcm.banamex.ae.persistencia.modelo.UnidadDeNegocioPK;
import mx.com.bcm.banamex.ae.persistencia.vo.CriteriaUnidadNegocioVO;
@Stateless
public class CatalogoUnidadNegocioDAOImpBeanLocal extends GlobalJpaDaoBean implements CatalogoUnidadDeNegocioDAOBeanLocal {
@PersistenceContext
private EntityManager em;
public UnidadDeNegocio consultaUnidadNegocioById(Short idUnidadNegocio) throws EfectivoAplicacionDAOException {
TypedQuery query = this.em.createNamedQuery("UnidadDeNegocio.findByUnegId", UnidadDeNegocio.class);
query.setParameter("unegId", idUnidadNegocio);
return (UnidadDeNegocio)query.getSingleResult();
}
public List consultaUnidadCriteriosDinamicos(CriteriaUnidadNegocioVO criterioVO) throws EfectivoAplicacionDAOException {
StringBuilder query = new StringBuilder();
String queryFormateado = UtileriaHelper.getFiltroDeAtributos(criterioVO.toString(), OperadorLogicoType.AND, 'u');
if(queryFormateado.equals("")) {
new StringBuilder();
new String();
return this.findAll();
} else {
query.append(" SELECT u FROM UnidadDeNegocio u ");
query.append(" WHERE " + queryFormateado);
TypedQuery criteria = this.em.createQuery(query.toString(), UnidadDeNegocio.class);
new StringBuilder();
return criteria.getResultList();
}
}
public UnidadDeNegocio consultaUnidadNegocioPk(UnidadDeNegocioPK unidadPK) throws EfectivoAplicacionDAOException {
StringBuilder query = new StringBuilder();
query.append(" SELECT u FROM UnidadDeNegocio u ");
query.append(" JOIN FETCH u.contrato JOIN FETCH u.cpaes ");
query.append(" WHERE u.unidadDeNegocioPK.cpaesEstructuraSirhIdn = :sirhIdn AND ");
query.append(" u.unidadDeNegocioPK.cntrtoNum=:contratoNum AND ");
query.append(" u.unidadDeNegocioPK.unegId = :unegId ");
TypedQuery criteria = this.em.createQuery(query.toString(), UnidadDeNegocio.class);
criteria.setParameter("unegId", Short.valueOf(unidadPK.getUnegId()));
criteria.setParameter("contratoNum", unidadPK.getCntrtoNum());
criteria.setParameter("sirhIdn", Integer.valueOf(unidadPK.getCpaesEstructuraSirhIdn()));
criteria.setMaxResults(1);
return (UnidadDeNegocio)criteria.getSingleResult();
}
public UnidadDeNegocio consultaUnidadNegocioDinamico(CriteriaUnidadNegocioVO criterioVO) throws EfectivoAplicacionDAOException {
StringBuilder query = new StringBuilder();
String queryFormateado = UtileriaHelper.getFiltroDeAtributos(criterioVO.toString(), OperadorLogicoType.AND, 'u');
query.append(" SELECT u FROM UnidadDeNegocio u ");
query.append(" WHERE " + queryFormateado);
TypedQuery criteria = this.em.createQuery(query.toString(), UnidadDeNegocio.class);
criteria.setMaxResults(1);
new StringBuilder();
return criteria.getSingleResult() != null?(UnidadDeNegocio)criteria.getSingleResult():null;
}
}