rodrigo 2013-06-21 21:55:28 +00:00
parent fc2f3e7d1c
commit 9bdb8f6700
6 changed files with 251 additions and 206 deletions

View File

@ -7,14 +7,17 @@ package com.rjconsultores.ventaboletos.dao;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; import com.rjconsultores.ventaboletos.entidad.CorridaCtrl;
import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import java.util.Date; import java.util.Date;
/** /**
* *
* @author Administrador * @author Administrador
*/ */
public interface CorridaCtrlDAO extends GenericDAO<CorridaCtrl, Integer> { public interface CorridaCtrlDAO extends GenericDAO<CorridaCtrl, Integer> {
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);
} }

View File

@ -8,10 +8,12 @@ import com.rjconsultores.ventaboletos.dao.CorridaCtrlDAO;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; import com.rjconsultores.ventaboletos.entidad.CorridaCtrl;
import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.hibernate.Criteria; import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions; import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -19,41 +21,67 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
/** /**
* *
* @author Administrador * @author Administrador
*/ */
@Repository("corridaCtrlDAO") @Repository("corridaCtrlDAO")
public class CorridaCtrlHibernateDAO extends GenericHibernateDAO<CorridaCtrl, Integer> public class CorridaCtrlHibernateDAO extends GenericHibernateDAO<CorridaCtrl, Integer>
implements CorridaCtrlDAO { implements CorridaCtrlDAO {
@Autowired @Autowired
public CorridaCtrlHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { public CorridaCtrlHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory); setSessionFactory(factory);
} }
public CorridaCtrl buscar(Ruta ruta, ClaseServicio claseServicio, Marca marca, public CorridaCtrl buscar(Ruta ruta, ClaseServicio claseServicio, Marca marca,
Date horario, boolean isPisoExtra) { Date horario, boolean isPisoExtra) {
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("marca", marca)); c.add(Restrictions.eq("marca", marca));
c.add(Restrictions.eq("claseServicio", claseServicio)); c.add(Restrictions.eq("claseServicio", claseServicio));
c.add(Restrictions.eq("ruta", ruta)); c.add(Restrictions.eq("ruta", ruta));
c.add(Restrictions.eq("horario", horario)); 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")));
}
List<CorridaCtrl> 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())) { List<CorridaCtrl> lsCorridaCtrl = c.list();
return null;
} else { if ((lsCorridaCtrl == null) || (lsCorridaCtrl.isEmpty())) {
return lsCorridaCtrl.get(0); 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();
}
} }

View File

@ -6,11 +6,10 @@ package com.rjconsultores.ventaboletos.entidad;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import javax.persistence.Basic; import javax.persistence.Basic;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.JoinColumn; import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne; import javax.persistence.ManyToOne;
@ -18,7 +17,6 @@ import javax.persistence.OneToOne;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Temporal; import javax.persistence.Temporal;
import javax.persistence.TemporalType; import javax.persistence.TemporalType;
import javax.persistence.SequenceGenerator;
/** /**
* *

View File

@ -21,7 +21,7 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType; import javax.persistence.TemporalType;
/** /**
* *
* @author Rafius * @author Rafius
*/ */
@Entity @Entity
@ -29,210 +29,220 @@ import javax.persistence.TemporalType;
@Table(name = "PRICING_ESPECIFICO") @Table(name = "PRICING_ESPECIFICO")
public class PricingEspecifico implements Serializable { public class PricingEspecifico implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@Basic(optional = false) @Basic(optional = false)
@GeneratedValue(strategy = GenerationType.AUTO, generator = "PRICING_ESPECIFICO_SEQ") @GeneratedValue(strategy = GenerationType.AUTO, generator = "PRICING_ESPECIFICO_SEQ")
@Column(name = "PRICINGESPECIFICO_ID") @Column(name = "PRICINGESPECIFICO_ID")
private Long pricingespecificoId; private Long pricingespecificoId;
@Column(name = "NOMBPRICING") @Column(name = "NOMBPRICING")
private String nombPricing; private String nombPricing;
@Column(name = "FECHORINICIO") @Column(name = "FECHORINICIO")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
private Date fechorinicio; private Date fechorinicio;
@Column(name = "FECHORFIN") @Column(name = "FECHORFIN")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
private Date fechorfin; private Date fechorfin;
@Column(name = "TARIFA") @Column(name = "TARIFA")
private BigDecimal tarifa; private BigDecimal tarifa;
@Column(name = "TARIFAREDABIERTO") @Column(name = "TARIFAREDABIERTO")
private BigDecimal tarifaredabierto; private BigDecimal tarifaredabierto;
@Column(name = "ACTIVO") @Column(name = "ACTIVO")
private Boolean activo; private Boolean activo;
@Column(name = "FECMODIF") @Column(name = "FECMODIF")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
private Date fecmodif; private Date fecmodif;
@Column(name = "USUARIO_ID") @Column(name = "USUARIO_ID")
private Integer usuarioId; private Integer usuarioId;
@JoinColumn(name = "TIPOPTOVTA_ID", referencedColumnName = "TIPOPTOVTA_ID") @JoinColumn(name = "TIPOPTOVTA_ID", referencedColumnName = "TIPOPTOVTA_ID")
@ManyToOne @ManyToOne
private TipoPuntoVenta tipoPtovta; private TipoPuntoVenta tipoPtovta;
@JoinColumn(name = "ORIGEN_ID", referencedColumnName = "PARADA_ID") @JoinColumn(name = "ORIGEN_ID", referencedColumnName = "PARADA_ID")
@ManyToOne @ManyToOne
private Parada parada; private Parada parada;
@JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID") @JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID")
@ManyToOne @ManyToOne
private Parada parada1; private Parada parada1;
@JoinColumn(name = "MONEDA_ID", referencedColumnName = "MONEDA_ID") @JoinColumn(name = "MONEDA_ID", referencedColumnName = "MONEDA_ID")
@ManyToOne @ManyToOne
private Moneda moneda; private Moneda moneda;
@JoinColumn(name = "MARCA_ID", referencedColumnName = "MARCA_ID") @JoinColumn(name = "MARCA_ID", referencedColumnName = "MARCA_ID")
@ManyToOne @ManyToOne
private Marca marca; private Marca marca;
@JoinColumn(name = "CLASESERVICIO_ID", referencedColumnName = "CLASESERVICIO_ID") @JoinColumn(name = "CLASESERVICIO_ID", referencedColumnName = "CLASESERVICIO_ID")
@ManyToOne @ManyToOne
private ClaseServicio claseServicio; private ClaseServicio claseServicio;
@JoinColumn(name = "CATEGORIA_ID", referencedColumnName = "CATEGORIA_ID") @JoinColumn(name = "CATEGORIA_ID", referencedColumnName = "CATEGORIA_ID")
@ManyToOne @ManyToOne
private Categoria categoria; private Categoria categoria;
@Column(name = "CORRIDA_ID")
private Integer corridaId;
public PricingEspecifico() { public PricingEspecifico() {
} }
public PricingEspecifico(Long pricingespecificoId) { public PricingEspecifico(Long pricingespecificoId) {
this.pricingespecificoId = pricingespecificoId; this.pricingespecificoId = pricingespecificoId;
} }
public Long getPricingespecificoId() { public Long getPricingespecificoId() {
return pricingespecificoId; return pricingespecificoId;
} }
public void setPricingespecificoId(Long pricingespecificoId) { public void setPricingespecificoId(Long pricingespecificoId) {
this.pricingespecificoId = pricingespecificoId; this.pricingespecificoId = pricingespecificoId;
} }
public Date getFechorinicio() { public Date getFechorinicio() {
return fechorinicio; return fechorinicio;
} }
public void setFechorinicio(Date fechorinicio) { public void setFechorinicio(Date fechorinicio) {
this.fechorinicio = fechorinicio; this.fechorinicio = fechorinicio;
} }
public Date getFechorfin() { public Date getFechorfin() {
return fechorfin; return fechorfin;
} }
public void setFechorfin(Date fechorfin) { public void setFechorfin(Date fechorfin) {
this.fechorfin = fechorfin; this.fechorfin = fechorfin;
} }
public BigDecimal getTarifa() { public BigDecimal getTarifa() {
return tarifa; return tarifa;
} }
public void setTarifa(BigDecimal tarifa) { public void setTarifa(BigDecimal tarifa) {
this.tarifa = tarifa; this.tarifa = tarifa;
} }
public BigDecimal getTarifaredabierto() { public BigDecimal getTarifaredabierto() {
return tarifaredabierto; return tarifaredabierto;
} }
public void setTarifaredabierto(BigDecimal tarifaredabierto) { public void setTarifaredabierto(BigDecimal tarifaredabierto) {
this.tarifaredabierto = tarifaredabierto; this.tarifaredabierto = tarifaredabierto;
} }
public Boolean getActivo() { public Boolean getActivo() {
return activo; return activo;
} }
public void setActivo(Boolean activo) { public void setActivo(Boolean activo) {
this.activo = activo; this.activo = activo;
} }
public Date getFecmodif() { public Date getFecmodif() {
return fecmodif; return fecmodif;
} }
public void setFecmodif(Date fecmodif) { public void setFecmodif(Date fecmodif) {
this.fecmodif = fecmodif; this.fecmodif = fecmodif;
} }
public Integer getUsuarioId() { public Integer getUsuarioId() {
return usuarioId; return usuarioId;
} }
public void setUsuarioId(Integer usuarioId) { public void setUsuarioId(Integer usuarioId) {
this.usuarioId = usuarioId; this.usuarioId = usuarioId;
} }
public TipoPuntoVenta getTipoPtovta() { public TipoPuntoVenta getTipoPtovta() {
return tipoPtovta; return tipoPtovta;
} }
public void setTipoPtovta(TipoPuntoVenta tipoPtovta) { public void setTipoPtovta(TipoPuntoVenta tipoPtovta) {
this.tipoPtovta = tipoPtovta; this.tipoPtovta = tipoPtovta;
} }
public Parada getParada() { public Parada getParada() {
return parada; return parada;
} }
public void setParada(Parada parada) { public void setParada(Parada parada) {
this.parada = parada; this.parada = parada;
} }
public Parada getParada1() { public Parada getParada1() {
return parada1; return parada1;
} }
public void setParada1(Parada parada1) { public void setParada1(Parada parada1) {
this.parada1 = parada1; this.parada1 = parada1;
} }
public Moneda getMoneda() { public Moneda getMoneda() {
return moneda; return moneda;
} }
public void setMoneda(Moneda moneda) { public void setMoneda(Moneda moneda) {
this.moneda = moneda; this.moneda = moneda;
} }
public Marca getMarca() { public Marca getMarca() {
return marca; return marca;
} }
public void setMarca(Marca marca) { public void setMarca(Marca marca) {
this.marca = marca; this.marca = marca;
} }
public ClaseServicio getClaseServicio() { public ClaseServicio getClaseServicio() {
return claseServicio; return claseServicio;
} }
public void setClaseServicio(ClaseServicio claseServicio) { public void setClaseServicio(ClaseServicio claseServicio) {
this.claseServicio = claseServicio; this.claseServicio = claseServicio;
} }
public Categoria getCategoria() { public Categoria getCategoria() {
return categoria; return categoria;
} }
public void setCategoria(Categoria categoria) { public void setCategoria(Categoria categoria) {
this.categoria = categoria; this.categoria = categoria;
} }
public String getNombPricing() { public String getNombPricing() {
return nombPricing; return nombPricing;
} }
public void setNombPricing(String nombPricing) { public void setNombPricing(String nombPricing) {
this.nombPricing = nombPricing; this.nombPricing = nombPricing;
} }
@Override public Integer getCorridaId() {
public int hashCode() { return corridaId;
int hash = 0; }
hash += (pricingespecificoId != null ? pricingespecificoId.hashCode() : 0);
return hash;
}
@Override public void setCorridaId(Integer corridaId) {
public boolean equals(Object object) { this.corridaId = corridaId;
// 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 @Override
public String toString() { public int hashCode() {
return "entidad.test.PricingEspecifico[pricingespecificoId=" + pricingespecificoId + "]"; 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 + "]";
}
} }

View File

@ -9,6 +9,7 @@ import java.util.Date;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; import com.rjconsultores.ventaboletos.entidad.CorridaCtrl;
import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
/** /**
@ -24,4 +25,6 @@ public interface CorridaCtrlService {
public CorridaCtrl actualizacion(CorridaCtrl entidad); public CorridaCtrl actualizacion(CorridaCtrl entidad);
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);
} }

View File

@ -7,7 +7,6 @@ package com.rjconsultores.ventaboletos.service.impl;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; 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.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; import com.rjconsultores.ventaboletos.entidad.CorridaCtrl;
import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.service.CorridaCtrlService; import com.rjconsultores.ventaboletos.service.CorridaCtrlService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@ -29,7 +29,6 @@ public class CorridaCtrlServiceImpl implements CorridaCtrlService {
@Autowired @Autowired
private CorridaCtrlDAO corridaCtrlDAO; private CorridaCtrlDAO corridaCtrlDAO;
private static Logger log = Logger.getLogger(CorridaCtrlServiceImpl.class);
public CorridaCtrl obtenerID(Integer id) { public CorridaCtrl obtenerID(Integer id) {
return corridaCtrlDAO.obtenerID(id); return corridaCtrlDAO.obtenerID(id);
@ -65,4 +64,8 @@ public class CorridaCtrlServiceImpl implements CorridaCtrlService {
return corridaCtrlDAO.buscar(ruta, claseServicio, marca, horario, pisoExtra); 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);
}
} }