diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ReservacionCtrlHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ReservacionCtrlHibernateDAO.java index 59670a4f5..ced580499 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ReservacionCtrlHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ReservacionCtrlHibernateDAO.java @@ -25,51 +25,51 @@ import com.rjconsultores.ventaboletos.entidad.ReservacionCtrl; */ @Repository("reservacionCtrlDAO") public class ReservacionCtrlHibernateDAO - extends GenericHibernateDAO - implements ReservacionCtrlDAO { + extends GenericHibernateDAO + implements ReservacionCtrlDAO { - @Autowired - public ReservacionCtrlHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { - setSessionFactory(factory); - } + @Autowired + public ReservacionCtrlHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } - @Override - public List obtenerTodos() { - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("activo", Boolean.TRUE)); + @Override + public List obtenerTodos() { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); - return c.list(); - } + return c.list(); + } - @Override - public List buscar(ReservacionCtrl reservacionCtrl) { - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("activo", Boolean.TRUE)); - c.add(Restrictions.eq("descConfig", reservacionCtrl.getDescConfig())); + @Override + public List buscar(ReservacionCtrl reservacionCtrl) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("descConfig", reservacionCtrl.getDescConfig())); - return c.list(); - } + return c.list(); + } - @Override - public List buscarFechaTraslapa(ReservacionCtrl reservacionCtrlt) { + @Override + public List buscarFechaTraslapa(ReservacionCtrl reservacionCtrlt) { + + Calendar fecinicio = Calendar.getInstance(); + fecinicio.setTime(reservacionCtrlt.getFecinicio()); - Calendar fecinicio = Calendar.getInstance(); - fecinicio.setTime(reservacionCtrlt.getFecinicio()); - Calendar fecfinal = Calendar.getInstance(); fecfinal.setTime(reservacionCtrlt.getFecfinal()); - String ids = ""; - for(ReservacionCategoria r : reservacionCtrlt.getReservacionCategoriaList() ){ - ids = ids + r.getCategoria().getCategoriaId() +" ,"; + String ids = ""; + for (ReservacionCategoria r : reservacionCtrlt.getReservacionCategoriaList()) { + ids = ids + r.getCategoria().getCategoriaId() + " ,"; } - ids = ids.substring(0, ids.length()-1); - + ids = ids.substring(0, ids.length() - 1); + StringBuilder hql = new StringBuilder(); - hql.append(" select rc from ReservacionCtrl rc "); + hql.append(" select distinct rc from ReservacionCtrl rc "); hql.append(" inner join rc.reservacionCategoriaList lsCat "); - hql.append(" where lsCat.categoria.categoriaId in ("+ ids +") "); + hql.append(" where lsCat.categoria.categoriaId in (" + ids + ") "); hql.append(" and rc.activo = TRUE "); - //vigencia + // vigencia hql.append(" AND (( rc.fecfinal between :fecfinal and :fecinicio "); hql.append(" OR rc.fecinicio between :fecfinal and :fecinicio ) "); hql.append(" OR ( :fecfinal between rc.fecfinal and rc.fecinicio "); @@ -78,15 +78,13 @@ public class ReservacionCtrlHibernateDAO hql.append(" OR ( :fecinicio <= rc.fecinicio and :fecfinal >= rc.fecfinal ) "); hql.append(" OR ( rc.fecinicio >= :fecinicio and rc.fecfinal <= :fecfinal ) "); hql.append(" OR ( :fecinicio >= rc.fecinicio and :fecfinal <= rc.fecfinal )) "); - //vigencia - - + // vigencia + Query query = getSession().createQuery(hql.toString()); query.setDate("fecfinal", fecfinal.getTime()); query.setDate("fecinicio", fecinicio.getTime()); - return query.list(); - - } + + } }