From 9bdb8f6700b7f285d7a6ae87b3cb273d0a8f19ba Mon Sep 17 00:00:00 2001 From: rodrigo Date: Fri, 21 Jun 2013 21:55:28 +0000 Subject: [PATCH] git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@28119 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/CorridaCtrlDAO.java | 7 +- .../hibernate/CorridaCtrlHibernateDAO.java | 86 +++-- .../ventaboletos/entidad/CorridaCtrl.java | 4 +- .../entidad/PricingEspecifico.java | 350 +++++++++--------- .../service/CorridaCtrlService.java | 3 + .../service/impl/CorridaCtrlServiceImpl.java | 7 +- 6 files changed, 251 insertions(+), 206 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/CorridaCtrlDAO.java b/src/com/rjconsultores/ventaboletos/dao/CorridaCtrlDAO.java index cc711a5f7..00236d4d2 100644 --- a/src/com/rjconsultores/ventaboletos/dao/CorridaCtrlDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/CorridaCtrlDAO.java @@ -7,14 +7,17 @@ package com.rjconsultores.ventaboletos.dao; import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; import com.rjconsultores.ventaboletos.entidad.Marca; +import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Ruta; import java.util.Date; /** - * + * * @author Administrador */ public interface CorridaCtrlDAO extends GenericDAO { - public CorridaCtrl buscar(Ruta ruta, ClaseServicio claseServicio, Marca marca, Date horario, boolean pisoExtra); + public CorridaCtrl buscar(Ruta ruta, ClaseServicio claseServicio, Marca marca, Date horario, boolean pisoExtra); + + public CorridaCtrl buscar(Integer corridaId, Parada origem, Parada destino, ClaseServicio claseServicio, Marca marca); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaCtrlHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaCtrlHibernateDAO.java index a1be403a2..d8997da84 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaCtrlHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaCtrlHibernateDAO.java @@ -8,10 +8,12 @@ import com.rjconsultores.ventaboletos.dao.CorridaCtrlDAO; import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; import com.rjconsultores.ventaboletos.entidad.Marca; +import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Ruta; import java.util.Date; import java.util.List; import org.hibernate.Criteria; +import org.hibernate.Query; import org.hibernate.SessionFactory; import org.hibernate.criterion.Restrictions; import org.springframework.beans.factory.annotation.Autowired; @@ -19,41 +21,67 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; /** - * + * * @author Administrador */ @Repository("corridaCtrlDAO") public class CorridaCtrlHibernateDAO extends GenericHibernateDAO - implements CorridaCtrlDAO { + implements CorridaCtrlDAO { - @Autowired - public CorridaCtrlHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { - setSessionFactory(factory); - } + @Autowired + public CorridaCtrlHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } - public CorridaCtrl buscar(Ruta ruta, ClaseServicio claseServicio, Marca marca, - Date horario, boolean isPisoExtra) { - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("activo", Boolean.TRUE)); - c.add(Restrictions.eq("marca", marca)); - c.add(Restrictions.eq("claseServicio", claseServicio)); - c.add(Restrictions.eq("ruta", ruta)); - c.add(Restrictions.eq("horario", horario)); - - if (isPisoExtra) { - //CorridaCtrl para Piso Extra - c.add(Restrictions.eq("pisoExtra", true)); - } else { - //num piso == null ou false - c.add(Restrictions.or(Restrictions.not(Restrictions.eq("pisoExtra", true)), Restrictions.isNull("pisoExtra"))); - } + public CorridaCtrl buscar(Ruta ruta, ClaseServicio claseServicio, Marca marca, + Date horario, boolean isPisoExtra) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("marca", marca)); + c.add(Restrictions.eq("claseServicio", claseServicio)); + c.add(Restrictions.eq("ruta", ruta)); + c.add(Restrictions.eq("horario", horario)); - List lsCorridaCtrl = c.list(); + if (isPisoExtra) { + // CorridaCtrl para Piso Extra + c.add(Restrictions.eq("pisoExtra", true)); + } else { + // num piso == null ou false + c.add(Restrictions.or(Restrictions.not(Restrictions.eq("pisoExtra", true)), Restrictions.isNull("pisoExtra"))); + } - if ((lsCorridaCtrl == null) || (lsCorridaCtrl.isEmpty())) { - return null; - } else { - return lsCorridaCtrl.get(0); - } - } + List lsCorridaCtrl = c.list(); + + if ((lsCorridaCtrl == null) || (lsCorridaCtrl.isEmpty())) { + return null; + } else { + return lsCorridaCtrl.get(0); + } + } + + @Override + public CorridaCtrl buscar(Integer corridaId, Parada origem, Parada destino, ClaseServicio claseServicio, Marca marca) { + StringBuilder hql = new StringBuilder(); + hql.append(" SELECT cc "); + hql.append(" FROM CorridaCtrl cc "); + hql.append(" INNER JOIN cc.ruta.rutaCombinacionList AS rutaCombinacionList "); + hql.append(" INNER JOIN rutaCombinacionList.tramo AS tramo"); + hql.append(" WHERE cc.activo = true "); + hql.append(" AND cc.corridaId = :corridaId "); + hql.append(" AND cc.marca.marcaId = :marcaId "); + hql.append(" AND cc.claseServicio = :claseservicioId "); + hql.append(" AND tramo.activo = true "); + hql.append(" AND tramo.origem.paradaId = :paradaOrigemId "); + hql.append(" AND tramo.destino.paradaId = :paradaDestinoId "); + hql.append(" AND rutaCombinacionList.activo = true "); + + Query sq = getSession().createQuery(hql.toString()); + sq.setInteger("corridaId", corridaId); + sq.setInteger("marcaId", marca.getMarcaId()); + sq.setInteger("claseservicioId", claseServicio.getClaseservicioId()); + sq.setInteger("paradaOrigemId", origem.getParadaId()); + sq.setInteger("paradaDestinoId", destino.getParadaId()); + + return (CorridaCtrl) sq.uniqueResult(); + } } diff --git a/src/com/rjconsultores/ventaboletos/entidad/CorridaCtrl.java b/src/com/rjconsultores/ventaboletos/entidad/CorridaCtrl.java index 8901d409e..a45f30c47 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/CorridaCtrl.java +++ b/src/com/rjconsultores/ventaboletos/entidad/CorridaCtrl.java @@ -6,11 +6,10 @@ package com.rjconsultores.ventaboletos.entidad; import java.io.Serializable; import java.util.Date; + import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; @@ -18,7 +17,6 @@ import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; -import javax.persistence.SequenceGenerator; /** * diff --git a/src/com/rjconsultores/ventaboletos/entidad/PricingEspecifico.java b/src/com/rjconsultores/ventaboletos/entidad/PricingEspecifico.java index 0043241d2..c9e87c351 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/PricingEspecifico.java +++ b/src/com/rjconsultores/ventaboletos/entidad/PricingEspecifico.java @@ -21,7 +21,7 @@ import javax.persistence.Temporal; import javax.persistence.TemporalType; /** - * + * * @author Rafius */ @Entity @@ -29,210 +29,220 @@ import javax.persistence.TemporalType; @Table(name = "PRICING_ESPECIFICO") public class PricingEspecifico implements Serializable { - private static final long serialVersionUID = 1L; - @Id - @Basic(optional = false) - @GeneratedValue(strategy = GenerationType.AUTO, generator = "PRICING_ESPECIFICO_SEQ") - @Column(name = "PRICINGESPECIFICO_ID") - private Long pricingespecificoId; - @Column(name = "NOMBPRICING") - private String nombPricing; - @Column(name = "FECHORINICIO") - @Temporal(TemporalType.TIMESTAMP) - private Date fechorinicio; - @Column(name = "FECHORFIN") - @Temporal(TemporalType.TIMESTAMP) - private Date fechorfin; - @Column(name = "TARIFA") - private BigDecimal tarifa; - @Column(name = "TARIFAREDABIERTO") - private BigDecimal tarifaredabierto; - @Column(name = "ACTIVO") - private Boolean activo; - @Column(name = "FECMODIF") - @Temporal(TemporalType.TIMESTAMP) - private Date fecmodif; - @Column(name = "USUARIO_ID") - private Integer usuarioId; - @JoinColumn(name = "TIPOPTOVTA_ID", referencedColumnName = "TIPOPTOVTA_ID") - @ManyToOne - private TipoPuntoVenta tipoPtovta; - @JoinColumn(name = "ORIGEN_ID", referencedColumnName = "PARADA_ID") - @ManyToOne - private Parada parada; - @JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID") - @ManyToOne - private Parada parada1; - @JoinColumn(name = "MONEDA_ID", referencedColumnName = "MONEDA_ID") - @ManyToOne - private Moneda moneda; - @JoinColumn(name = "MARCA_ID", referencedColumnName = "MARCA_ID") - @ManyToOne - private Marca marca; - @JoinColumn(name = "CLASESERVICIO_ID", referencedColumnName = "CLASESERVICIO_ID") - @ManyToOne - private ClaseServicio claseServicio; - @JoinColumn(name = "CATEGORIA_ID", referencedColumnName = "CATEGORIA_ID") - @ManyToOne - private Categoria categoria; + private static final long serialVersionUID = 1L; + @Id + @Basic(optional = false) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "PRICING_ESPECIFICO_SEQ") + @Column(name = "PRICINGESPECIFICO_ID") + private Long pricingespecificoId; + @Column(name = "NOMBPRICING") + private String nombPricing; + @Column(name = "FECHORINICIO") + @Temporal(TemporalType.TIMESTAMP) + private Date fechorinicio; + @Column(name = "FECHORFIN") + @Temporal(TemporalType.TIMESTAMP) + private Date fechorfin; + @Column(name = "TARIFA") + private BigDecimal tarifa; + @Column(name = "TARIFAREDABIERTO") + private BigDecimal tarifaredabierto; + @Column(name = "ACTIVO") + private Boolean activo; + @Column(name = "FECMODIF") + @Temporal(TemporalType.TIMESTAMP) + private Date fecmodif; + @Column(name = "USUARIO_ID") + private Integer usuarioId; + @JoinColumn(name = "TIPOPTOVTA_ID", referencedColumnName = "TIPOPTOVTA_ID") + @ManyToOne + private TipoPuntoVenta tipoPtovta; + @JoinColumn(name = "ORIGEN_ID", referencedColumnName = "PARADA_ID") + @ManyToOne + private Parada parada; + @JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID") + @ManyToOne + private Parada parada1; + @JoinColumn(name = "MONEDA_ID", referencedColumnName = "MONEDA_ID") + @ManyToOne + private Moneda moneda; + @JoinColumn(name = "MARCA_ID", referencedColumnName = "MARCA_ID") + @ManyToOne + private Marca marca; + @JoinColumn(name = "CLASESERVICIO_ID", referencedColumnName = "CLASESERVICIO_ID") + @ManyToOne + private ClaseServicio claseServicio; + @JoinColumn(name = "CATEGORIA_ID", referencedColumnName = "CATEGORIA_ID") + @ManyToOne + private Categoria categoria; + @Column(name = "CORRIDA_ID") + private Integer corridaId; - public PricingEspecifico() { - } + public PricingEspecifico() { + } - public PricingEspecifico(Long pricingespecificoId) { - this.pricingespecificoId = pricingespecificoId; - } + public PricingEspecifico(Long pricingespecificoId) { + this.pricingespecificoId = pricingespecificoId; + } - public Long getPricingespecificoId() { - return pricingespecificoId; - } + public Long getPricingespecificoId() { + return pricingespecificoId; + } - public void setPricingespecificoId(Long pricingespecificoId) { - this.pricingespecificoId = pricingespecificoId; - } + public void setPricingespecificoId(Long pricingespecificoId) { + this.pricingespecificoId = pricingespecificoId; + } - public Date getFechorinicio() { - return fechorinicio; - } + public Date getFechorinicio() { + return fechorinicio; + } - public void setFechorinicio(Date fechorinicio) { - this.fechorinicio = fechorinicio; - } + public void setFechorinicio(Date fechorinicio) { + this.fechorinicio = fechorinicio; + } - public Date getFechorfin() { - return fechorfin; - } + public Date getFechorfin() { + return fechorfin; + } - public void setFechorfin(Date fechorfin) { - this.fechorfin = fechorfin; - } + public void setFechorfin(Date fechorfin) { + this.fechorfin = fechorfin; + } - public BigDecimal getTarifa() { - return tarifa; - } + public BigDecimal getTarifa() { + return tarifa; + } - public void setTarifa(BigDecimal tarifa) { - this.tarifa = tarifa; - } + public void setTarifa(BigDecimal tarifa) { + this.tarifa = tarifa; + } - public BigDecimal getTarifaredabierto() { - return tarifaredabierto; - } + public BigDecimal getTarifaredabierto() { + return tarifaredabierto; + } - public void setTarifaredabierto(BigDecimal tarifaredabierto) { - this.tarifaredabierto = tarifaredabierto; - } + public void setTarifaredabierto(BigDecimal tarifaredabierto) { + this.tarifaredabierto = tarifaredabierto; + } - public Boolean getActivo() { - return activo; - } + public Boolean getActivo() { + return activo; + } - public void setActivo(Boolean activo) { - this.activo = activo; - } + public void setActivo(Boolean activo) { + this.activo = activo; + } - public Date getFecmodif() { - return fecmodif; - } + public Date getFecmodif() { + return fecmodif; + } - public void setFecmodif(Date fecmodif) { - this.fecmodif = fecmodif; - } + public void setFecmodif(Date fecmodif) { + this.fecmodif = fecmodif; + } - public Integer getUsuarioId() { - return usuarioId; - } + public Integer getUsuarioId() { + return usuarioId; + } - public void setUsuarioId(Integer usuarioId) { - this.usuarioId = usuarioId; - } + public void setUsuarioId(Integer usuarioId) { + this.usuarioId = usuarioId; + } - public TipoPuntoVenta getTipoPtovta() { - return tipoPtovta; - } + public TipoPuntoVenta getTipoPtovta() { + return tipoPtovta; + } - public void setTipoPtovta(TipoPuntoVenta tipoPtovta) { - this.tipoPtovta = tipoPtovta; - } + public void setTipoPtovta(TipoPuntoVenta tipoPtovta) { + this.tipoPtovta = tipoPtovta; + } - public Parada getParada() { - return parada; - } + public Parada getParada() { + return parada; + } - public void setParada(Parada parada) { - this.parada = parada; - } + public void setParada(Parada parada) { + this.parada = parada; + } - public Parada getParada1() { - return parada1; - } + public Parada getParada1() { + return parada1; + } - public void setParada1(Parada parada1) { - this.parada1 = parada1; - } + public void setParada1(Parada parada1) { + this.parada1 = parada1; + } - public Moneda getMoneda() { - return moneda; - } + public Moneda getMoneda() { + return moneda; + } - public void setMoneda(Moneda moneda) { - this.moneda = moneda; - } + public void setMoneda(Moneda moneda) { + this.moneda = moneda; + } - public Marca getMarca() { - return marca; - } + public Marca getMarca() { + return marca; + } - public void setMarca(Marca marca) { - this.marca = marca; - } + public void setMarca(Marca marca) { + this.marca = marca; + } - public ClaseServicio getClaseServicio() { - return claseServicio; - } + public ClaseServicio getClaseServicio() { + return claseServicio; + } - public void setClaseServicio(ClaseServicio claseServicio) { - this.claseServicio = claseServicio; - } + public void setClaseServicio(ClaseServicio claseServicio) { + this.claseServicio = claseServicio; + } - public Categoria getCategoria() { - return categoria; - } + public Categoria getCategoria() { + return categoria; + } - public void setCategoria(Categoria categoria) { - this.categoria = categoria; - } + public void setCategoria(Categoria categoria) { + this.categoria = categoria; + } - public String getNombPricing() { - return nombPricing; - } + public String getNombPricing() { + return nombPricing; + } - public void setNombPricing(String nombPricing) { - this.nombPricing = nombPricing; - } + public void setNombPricing(String nombPricing) { + this.nombPricing = nombPricing; + } - @Override - public int hashCode() { - int hash = 0; - hash += (pricingespecificoId != null ? pricingespecificoId.hashCode() : 0); - return hash; - } + public Integer getCorridaId() { + return corridaId; + } - @Override - public boolean equals(Object object) { - // TODO: Warning - this method won't work in the case the id fields are not set - if (!(object instanceof PricingEspecifico)) { - return false; - } - PricingEspecifico other = (PricingEspecifico) object; - if ((this.pricingespecificoId == null && other.pricingespecificoId != null) || (this.pricingespecificoId != null && !this.pricingespecificoId.equals(other.pricingespecificoId))) { - return false; - } - return true; - } + public void setCorridaId(Integer corridaId) { + this.corridaId = corridaId; + } - @Override - public String toString() { - return "entidad.test.PricingEspecifico[pricingespecificoId=" + pricingespecificoId + "]"; - } + @Override + public int hashCode() { + int hash = 0; + hash += (pricingespecificoId != null ? pricingespecificoId.hashCode() : 0); + return hash; + } + + @Override + public boolean equals(Object object) { + // TODO: Warning - this method won't work in the case the id fields are not set + if (!(object instanceof PricingEspecifico)) { + return false; + } + PricingEspecifico other = (PricingEspecifico) object; + if ((this.pricingespecificoId == null && other.pricingespecificoId != null) || (this.pricingespecificoId != null && !this.pricingespecificoId.equals(other.pricingespecificoId))) { + return false; + } + return true; + } + + @Override + public String toString() { + return "entidad.test.PricingEspecifico[pricingespecificoId=" + pricingespecificoId + "]"; + } } diff --git a/src/com/rjconsultores/ventaboletos/service/CorridaCtrlService.java b/src/com/rjconsultores/ventaboletos/service/CorridaCtrlService.java index 8b6e547ab..6e42cb231 100644 --- a/src/com/rjconsultores/ventaboletos/service/CorridaCtrlService.java +++ b/src/com/rjconsultores/ventaboletos/service/CorridaCtrlService.java @@ -9,6 +9,7 @@ import java.util.Date; import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; import com.rjconsultores.ventaboletos.entidad.Marca; +import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Ruta; /** @@ -24,4 +25,6 @@ public interface CorridaCtrlService { public CorridaCtrl actualizacion(CorridaCtrl entidad); public CorridaCtrl buscar(Ruta ruta, ClaseServicio claseServicio, Marca marca, Date horario, boolean pisoExtra); + + public CorridaCtrl buscar(Integer corridaId, Parada origem, Parada destino, ClaseServicio claseServicio, Marca marca); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaCtrlServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaCtrlServiceImpl.java index c75cdbcac..65ef4a1de 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaCtrlServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaCtrlServiceImpl.java @@ -7,7 +7,6 @@ package com.rjconsultores.ventaboletos.service.impl; import java.util.Calendar; import java.util.Date; -import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -16,6 +15,7 @@ import com.rjconsultores.ventaboletos.dao.CorridaCtrlDAO; import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; import com.rjconsultores.ventaboletos.entidad.Marca; +import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.service.CorridaCtrlService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @@ -29,7 +29,6 @@ public class CorridaCtrlServiceImpl implements CorridaCtrlService { @Autowired private CorridaCtrlDAO corridaCtrlDAO; - private static Logger log = Logger.getLogger(CorridaCtrlServiceImpl.class); public CorridaCtrl obtenerID(Integer id) { return corridaCtrlDAO.obtenerID(id); @@ -65,4 +64,8 @@ public class CorridaCtrlServiceImpl implements CorridaCtrlService { return corridaCtrlDAO.buscar(ruta, claseServicio, marca, horario, pisoExtra); } + @Override + public CorridaCtrl buscar(Integer corridaId, Parada origem, Parada destino, ClaseServicio claseServicio, Marca marca) { + return corridaCtrlDAO.buscar(corridaId, origem, destino, claseServicio, marca); + } }