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

157 lines
6.0 KiB
Java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.Calendar;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.ConexionRutaLocalidadeRemovidaDAO;
import com.rjconsultores.ventaboletos.entidad.ConexionRutaLocalidadeRemovida;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
/**
*
* @author valdevirsp
*/
@Repository("conexionRutaLocalidadeRemovidaDAO")
public class ConexionRutaLocalidadeRemovidaHibernateDAO extends GenericHibernateDAO<ConexionRutaLocalidadeRemovida, Integer> implements ConexionRutaLocalidadeRemovidaDAO {
private static Logger log = LoggerFactory.getLogger(ConexionRutaLocalidadeRemovidaHibernateDAO.class);
@Autowired
public ConexionRutaLocalidadeRemovidaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public void removerPorParada(Parada parada) {
try {
Criteria c = this.makeCriteria();
c.add(Restrictions.eq("paradaId", parada.getParadaId().longValue()));
c.add(Restrictions.eq("activo", Boolean.TRUE));
ConexionRutaLocalidadeRemovida conexionRutaLocalidadeRemovida = (ConexionRutaLocalidadeRemovida) c.uniqueResult();
borrar(conexionRutaLocalidadeRemovida);
} catch (Exception e) {
log.error("Erro ao remover por por paradaId", e);
}
}
@Override
public void removerPorConexionrutaconfIdePorParada(Integer conexionrutaconfId,Parada parada) {
try {
Criteria c = this.makeCriteria();
c.add(Restrictions.eq("conexionrutaconfId", conexionrutaconfId));
c.add(Restrictions.eq("paradaId", parada.getParadaId().longValue()));
c.add(Restrictions.eq("activo", Boolean.TRUE));
List<ConexionRutaLocalidadeRemovida> conexionRutaLocalidadeRemovidaList = c.list();
ConexionRutaLocalidadeRemovida conexionRutaLocalidadeRemovida =conexionRutaLocalidadeRemovidaList != null && conexionRutaLocalidadeRemovidaList.size() > 0 ? conexionRutaLocalidadeRemovidaList.get(0) : null;
if(conexionRutaLocalidadeRemovida != null) {
borrar(conexionRutaLocalidadeRemovida);
}
} catch (Exception e) {
log.error("Erro ao remover por por paradaId", e);
}
}
@Transactional
public void borrar(ConexionRutaLocalidadeRemovida entidad) {
try {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.FALSE);
actualizacion(entidad);
} catch (Exception e) {
log.error("Erro ao borrar conexionRutaLocalidadeRemovida ", e);
}
}
@SuppressWarnings("unchecked")
public ConexionRutaLocalidadeRemovida obtenerPorParadaId(Integer paradaId) {
try {
Criteria c = this.makeCriteria();
c.add(Restrictions.eq("paradaId", paradaId));
c.add(Restrictions.eq("activo", Boolean.TRUE));
List<ConexionRutaLocalidadeRemovida> conexionRutaLocalidadeRemovidaList = c.list();
return conexionRutaLocalidadeRemovidaList != null && conexionRutaLocalidadeRemovidaList.size() > 0 ? conexionRutaLocalidadeRemovidaList.get(0) : null;
} catch (Exception e) {
log.error("Erro ao obter paradas por por paradaId", e);
return null;
}
}
@SuppressWarnings("unchecked")
public List<ConexionRutaLocalidadeRemovida> obtenerPorParadaIdList(List<Long> paradaIdList) {
try {
Criteria c = this.makeCriteria();
c.add(Restrictions.in("paradaId", paradaIdList));
c.add(Restrictions.eq("activo", Boolean.TRUE));
List<ConexionRutaLocalidadeRemovida> conexionRutaLocalidadeRemovidaList = c.list();
return conexionRutaLocalidadeRemovidaList;
} catch (Exception e) {
log.error("Erro ao obter paradas por por paradaIdList", e);
return null;
}
}
@Override
public ConexionRutaLocalidadeRemovida obtenerPorParadaIdEConexionrutaconfId(Integer conexionRutaConfId,
Integer paradaId) {
// TODO Auto-generated method stub
try {
Criteria c = this.makeCriteria();
c.add(Restrictions.eq("conexionRutaConfId", conexionRutaConfId));
c.add(Restrictions.eq("paradaId", paradaId));
c.add(Restrictions.eq("activo", Boolean.TRUE));
List<ConexionRutaLocalidadeRemovida> conexionRutaLocalidadeRemovidaList = c.list();
return conexionRutaLocalidadeRemovidaList != null && conexionRutaLocalidadeRemovidaList.size() > 0 ? conexionRutaLocalidadeRemovidaList.get(0) : null;
} catch (Exception e) {
log.error("Erro ao obter paradas por conexionRutaConfId e por paradaId", e);
return null;
}
}
@Override
public List<ConexionRutaLocalidadeRemovida> obtenerPorConexionrutaconfIdEParadaIdList(Integer conexionRutaConfId,List<Long> paradaIdList) {
try {
Criteria c = this.makeCriteria();
c.add(Restrictions.eq("conexionRutaConfId", conexionRutaConfId));
c.add(Restrictions.in("paradaId", paradaIdList));
c.add(Restrictions.eq("activo", Boolean.TRUE));
List<ConexionRutaLocalidadeRemovida> conexionRutaLocalidadeRemovidaList = c.list();
return conexionRutaLocalidadeRemovidaList;
} catch (Exception e) {
log.error("Erro ao obter paradas por conexionRutaConfId e paradaIdList", e);
return null;
}
}
@Override
public void removerTodosPorConexionrutaconfId(Integer conexionRutaConfId) {
StringBuilder hql = new StringBuilder();
hql.append("delete CONEXION_RUTA_LOC_REMOVIDA ");
hql.append("where CONEXIONRUTACONF_ID=:conexionRutaConfId ");
Query query = getSession().createSQLQuery(hql.toString());
query.setInteger("conexionRutaConfId", conexionRutaConfId);
query.executeUpdate();
}
}