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-87c2c4800839
master
valdir 2018-04-27 12:57:45 +00:00
parent 67e6bb068e
commit 65e7ade40c
1 changed files with 36 additions and 38 deletions

View File

@ -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();
fecinicio.setTime(reservacionCtrlt.getFecinicio());
Calendar fecinicio = Calendar.getInstance();
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();
} }
} }