AdmMono/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaHibernateD...

96 lines
3.7 KiB
Java

package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.List;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.SQLQuery;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.hibernate.transform.AliasToBeanResultTransformer;
import org.hibernate.type.IntegerType;
import org.hibernate.type.StringType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaDAO;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
import com.rjconsultores.ventaboletos.entidad.PuntoVentaVO;
@Repository("operadorEmbarcadaDAO")
@SuppressWarnings("unchecked")
public class OperadorEmbarcadaHibernateDAO extends GenericHibernateDAO<OperadorEmbarcada, Long> implements OperadorEmbarcadaDAO {
private static Logger log = LogManager.getLogger(OperadorEmbarcadaHibernateDAO.class);
@Autowired
public OperadorEmbarcadaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public List<OperadorEmbarcada> buscarTodosOperadores() {
start = System.currentTimeMillis();
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
List<OperadorEmbarcada> retorno = c.list();
log.debug( printInfo("buscarOperadorEmbarcadaPorUsuario", start));
return retorno;
}
@Override
public OperadorEmbarcada burcarOperadorPorId(Long operadorEmbarcadaID) {
start = System.currentTimeMillis();
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("operadorEmbarcadaId", operadorEmbarcadaID));
OperadorEmbarcada retorno = (OperadorEmbarcada) c.uniqueResult();
log.debug( printInfo("burcarOperadorPorId", start));
return retorno;
}
@Override
public OperadorEmbarcada buscarOperadorEmbarcadaPorUsuario(Integer idUsuario) {
start = System.currentTimeMillis();
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("usuario.usuarioId", idUsuario));
OperadorEmbarcada op = (OperadorEmbarcada) c.uniqueResult();
log.debug( printInfo("buscarOperadorEmbarcadaPorUsuario", start));
return op;
}
@Override
public PuntoVentaVO getPuntoVentaVO(Integer operador) {
start = System.currentTimeMillis();
StringBuilder sb = new StringBuilder();
sb.append(" SELECT ");
sb.append(" PV.PUNTOVENTA_ID AS puntoventaId, ");
sb.append(" PV.NOMBPUNTOVENTA AS nombpuntoventa ");
sb.append(" FROM ");
sb.append(" USUARIO_UBICACION USU ");
sb.append(" INNER JOIN PUNTO_VENTA PV ON USU.PUNTOVENTA_ID = PV.PUNTOVENTA_ID ");
sb.append(" WHERE ");
sb.append(" USU.USUARIO_ID = :usuario_id ");
// sb.append(" AND PV.EMPRESA_ID = :empresa_id ");
sb.append(" AND USU.ACTIVO = 1 AND PV.ACTIVO = 1 ");
sb.append( " AND USU.padrao=1 ");
SQLQuery sql = getSession().createSQLQuery(sb.toString())
.addScalar("puntoventaId", IntegerType.INSTANCE)
.addScalar("nombpuntoventa", StringType.INSTANCE);
sql.setInteger("usuario_id", operador);
// sql.setInteger("empresa_id", empresa);
sql.setResultTransformer(new AliasToBeanResultTransformer(PuntoVentaVO.class));
PuntoVentaVO puntoVentaVO = (PuntoVentaVO) sql.uniqueResult();
log.debug( printInfo("getPuntoVentaVO", start));
return puntoVentaVO;
}
}