108 lines
4.5 KiB
Java
108 lines
4.5 KiB
Java
package com.rjconsultores.ventaboletos.dao.hibernate;
|
|
|
|
import java.util.List;
|
|
|
|
import org.apache.log4j.Logger;
|
|
|
|
import org.hibernate.Query;
|
|
import org.hibernate.SessionFactory;
|
|
import org.hibernate.transform.Transformers;
|
|
import org.hibernate.type.BooleanType;
|
|
import org.hibernate.type.LongType;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.stereotype.Repository;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import com.rjconsultores.ventaboletos.dao.EmbarcadaDispOperadorDAO;
|
|
import com.rjconsultores.ventaboletos.entidad.EmbarcadaDispOperador;
|
|
|
|
@Repository("embarcadaDispOperadorDAO")
|
|
public class EmbarcadaDispOperadorHibernateDAO extends GenericHibernateDAO<EmbarcadaDispOperador, Long>
|
|
implements EmbarcadaDispOperadorDAO {
|
|
private static final Logger log = Logger.getLogger(EmbarcadaDispOperadorHibernateDAO.class);
|
|
|
|
@Autowired
|
|
public EmbarcadaDispOperadorHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
|
setSessionFactory(factory);
|
|
}
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@Override
|
|
public List<EmbarcadaDispOperador> buscarEmbarcadaDispOperadorPorPuntoVenta(Long puntoVentaId) {
|
|
StringBuilder sQuery = new StringBuilder();
|
|
sQuery.append("select EMBARCADADISPOPERADOR_ID as embarcadaDispOperador, ")
|
|
.append(" DISPOSITIVOEMBARCADA_ID as dispositivoEmbarcadaId, ")
|
|
.append(" USUARIO_ID as usuarioId, ")
|
|
.append(" PUNTOVENTA_ID as puntoVentaId, ")
|
|
.append(" ACTIVO as activo ")
|
|
.append(" from embarcada_disp_operador embdispop ")
|
|
.append(" where ")
|
|
.append(" embdispop.puntoventa_id = :puntoVentaId ")
|
|
.append(" and embdispop.activo = 1 ");
|
|
Query qr = getSession().createSQLQuery(sQuery.toString())
|
|
.addScalar("embarcadaDispOperador", new LongType())
|
|
.addScalar("dispositivoEmbarcadaId", new LongType())
|
|
.addScalar("usuarioId", new LongType())
|
|
.addScalar("puntoVentaId", new LongType())
|
|
.addScalar("activo", new BooleanType())
|
|
.setResultTransformer(Transformers.aliasToBean(EmbarcadaDispOperador.class));
|
|
|
|
qr.setLong("puntoVentaId", puntoVentaId);
|
|
return (List<EmbarcadaDispOperador>) qr.list();
|
|
}
|
|
|
|
@Transactional
|
|
@Override
|
|
public boolean removerListEmbarcadaDispOperador(List<EmbarcadaDispOperador> embarcadaDisOperadorList) {
|
|
try {
|
|
for (EmbarcadaDispOperador embarcadaDispOperador : embarcadaDisOperadorList) {
|
|
StringBuilder sQuery = new StringBuilder();
|
|
sQuery.append("delete ")
|
|
.append(" from embarcada_disp_operador embdispop ")
|
|
.append(" where ")
|
|
.append(" embdispop.usuario_id = :usuarioId ")
|
|
.append(" and embdispop.dispositivoembarcada_id = :dispositivoEmbarcadaId ")
|
|
.append(" and embdispop.activo = 1 ");
|
|
Query qr = getSession().createSQLQuery(sQuery.toString());
|
|
qr.setLong("usuarioId", embarcadaDispOperador.getUsuarioId());
|
|
qr.setLong("dispositivoEmbarcadaId", embarcadaDispOperador.getDispositivoEmbarcadaId());
|
|
qr.executeUpdate();
|
|
|
|
}
|
|
} catch (Exception e) {
|
|
log.error("Erro ao deletar dispositivos usuários");
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@Override
|
|
public List<EmbarcadaDispOperador> buscarEmbarcadaDispOperadorPorDispositivo(Long dispositivoEmbarcadaId) {
|
|
StringBuilder sQuery = new StringBuilder();
|
|
sQuery.append("select embdispop.EMBARCADADISPOPERADOR_ID as embarcadaDispOperador, ")
|
|
.append(" embdispop.DISPOSITIVOEMBARCADA_ID as dispositivoEmbarcadaId, ")
|
|
.append(" embdispop.USUARIO_ID as usuarioId, ")
|
|
.append(" embdispop.PUNTOVENTA_ID as puntoVentaId, ")
|
|
.append(" embdispop.ACTIVO as activo ")
|
|
.append(" from embarcada_disp_operador embdispop ")
|
|
.append(" JOIN OPERADOR_EMBARCADA opeEmb ON (embdispop.USUARIO_ID = opeEmb.USUARIO_ID) ")
|
|
.append(" where ")
|
|
.append(" embdispop.dispositivoembarcada_id = :dispositivoEmbarcadaId ")
|
|
.append(" and embdispop.activo = 1 ")
|
|
.append(" and opeEmb.activo = 1 ");
|
|
Query qr = getSession().createSQLQuery(sQuery.toString())
|
|
.addScalar("embarcadaDispOperador", new LongType())
|
|
.addScalar("dispositivoEmbarcadaId", new LongType())
|
|
.addScalar("usuarioId", new LongType())
|
|
.addScalar("puntoVentaId", new LongType())
|
|
.addScalar("activo", new BooleanType())
|
|
.setResultTransformer(Transformers.aliasToBean(EmbarcadaDispOperador.class));
|
|
|
|
qr.setLong("dispositivoEmbarcadaId", dispositivoEmbarcadaId);
|
|
return (List<EmbarcadaDispOperador>) qr.list();
|
|
}
|
|
|
|
}
|