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.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<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.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<CorridaCtrl, Integer>
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<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())) {
return null;
} else {
return lsCorridaCtrl.get(0);
}
}
List<CorridaCtrl> 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();
}
}

View File

@ -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;
/**
*

View File

@ -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 + "]";
}
}

View File

@ -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);
}

View File

@ -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);
}
}