96 lines
3.7 KiB
Java
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;
|
|
}
|
|
|
|
}
|