0010970: 007 – Configuração de reserva
fixed bug#10970 dev:daniel qua:bruno git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@81394 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
67e6bb068e
commit
65e7ade40c
|
@ -25,51 +25,51 @@ import com.rjconsultores.ventaboletos.entidad.ReservacionCtrl;
|
||||||
*/
|
*/
|
||||||
@Repository("reservacionCtrlDAO")
|
@Repository("reservacionCtrlDAO")
|
||||||
public class ReservacionCtrlHibernateDAO
|
public class ReservacionCtrlHibernateDAO
|
||||||
extends GenericHibernateDAO<ReservacionCtrl, Integer>
|
extends GenericHibernateDAO<ReservacionCtrl, Integer>
|
||||||
implements ReservacionCtrlDAO {
|
implements ReservacionCtrlDAO {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public ReservacionCtrlHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
public ReservacionCtrlHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
||||||
setSessionFactory(factory);
|
setSessionFactory(factory);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ReservacionCtrl> obtenerTodos() {
|
public List<ReservacionCtrl> obtenerTodos() {
|
||||||
Criteria c = getSession().createCriteria(getPersistentClass());
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||||
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||||
|
|
||||||
return c.list();
|
return c.list();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ReservacionCtrl> buscar(ReservacionCtrl reservacionCtrl) {
|
public List<ReservacionCtrl> buscar(ReservacionCtrl reservacionCtrl) {
|
||||||
Criteria c = getSession().createCriteria(getPersistentClass());
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||||
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||||
c.add(Restrictions.eq("descConfig", reservacionCtrl.getDescConfig()));
|
c.add(Restrictions.eq("descConfig", reservacionCtrl.getDescConfig()));
|
||||||
|
|
||||||
return c.list();
|
return c.list();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ReservacionCtrl> buscarFechaTraslapa(ReservacionCtrl reservacionCtrlt) {
|
public List<ReservacionCtrl> buscarFechaTraslapa(ReservacionCtrl reservacionCtrlt) {
|
||||||
|
|
||||||
Calendar fecinicio = Calendar.getInstance();
|
Calendar fecinicio = Calendar.getInstance();
|
||||||
fecinicio.setTime(reservacionCtrlt.getFecinicio());
|
fecinicio.setTime(reservacionCtrlt.getFecinicio());
|
||||||
|
|
||||||
Calendar fecfinal = Calendar.getInstance();
|
Calendar fecfinal = Calendar.getInstance();
|
||||||
fecfinal.setTime(reservacionCtrlt.getFecfinal());
|
fecfinal.setTime(reservacionCtrlt.getFecfinal());
|
||||||
String ids = "";
|
String ids = "";
|
||||||
for(ReservacionCategoria r : reservacionCtrlt.getReservacionCategoriaList() ){
|
for (ReservacionCategoria r : reservacionCtrlt.getReservacionCategoriaList()) {
|
||||||
ids = ids + r.getCategoria().getCategoriaId() +" ,";
|
ids = ids + r.getCategoria().getCategoriaId() + " ,";
|
||||||
}
|
}
|
||||||
ids = ids.substring(0, ids.length()-1);
|
ids = ids.substring(0, ids.length() - 1);
|
||||||
|
|
||||||
StringBuilder hql = new StringBuilder();
|
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(" 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 ");
|
hql.append(" and rc.activo = TRUE ");
|
||||||
//vigencia
|
// vigencia
|
||||||
hql.append(" AND (( rc.fecfinal between :fecfinal and :fecinicio ");
|
hql.append(" AND (( rc.fecfinal between :fecfinal and :fecinicio ");
|
||||||
hql.append(" OR rc.fecinicio between :fecfinal and :fecinicio ) ");
|
hql.append(" OR rc.fecinicio between :fecfinal and :fecinicio ) ");
|
||||||
hql.append(" OR ( :fecfinal between rc.fecfinal and rc.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 ( :fecinicio <= rc.fecinicio and :fecfinal >= rc.fecfinal ) ");
|
||||||
hql.append(" OR ( rc.fecinicio >= :fecinicio and rc.fecfinal <= :fecfinal ) ");
|
hql.append(" OR ( rc.fecinicio >= :fecinicio and rc.fecfinal <= :fecfinal ) ");
|
||||||
hql.append(" OR ( :fecinicio >= rc.fecinicio and :fecfinal <= rc.fecfinal )) ");
|
hql.append(" OR ( :fecinicio >= rc.fecinicio and :fecfinal <= rc.fecfinal )) ");
|
||||||
//vigencia
|
// vigencia
|
||||||
|
|
||||||
|
|
||||||
Query query = getSession().createQuery(hql.toString());
|
Query query = getSession().createQuery(hql.toString());
|
||||||
query.setDate("fecfinal", fecfinal.getTime());
|
query.setDate("fecfinal", fecfinal.getTime());
|
||||||
query.setDate("fecinicio", fecinicio.getTime());
|
query.setDate("fecinicio", fecinicio.getTime());
|
||||||
|
|
||||||
|
|
||||||
return query.list();
|
return query.list();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue