From e70451dc2478a2c8e6c0b01862f5d730e255a78e Mon Sep 17 00:00:00 2001 From: edgar Date: Fri, 29 Jul 2016 14:07:25 +0000 Subject: [PATCH] fixes bug #7460 - cancelar retomar ruta- merge git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@58519 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/constantes/Constantes.java | 1 - .../ventaboletos/dao/CorridaDAO.java | 2 + .../ventaboletos/dao/EsquemaCorridaDAO.java | 4 +- .../dao/hibernate/CorridaHibernateDAO.java | 23 +++- .../hibernate/EsquemaCorridaHibernateDAO.java | 26 +++- .../ventaboletos/entidad/Ruta.java | 121 +++++++++++------- .../ventaboletos/service/CorridaService.java | 3 + .../service/EsquemaCorridaService.java | 8 +- .../service/impl/CorridaServiceImpl.java | 5 + .../impl/EsquemaCorridaServiceImpl.java | 9 +- 10 files changed, 141 insertions(+), 61 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/constantes/Constantes.java b/src/com/rjconsultores/ventaboletos/constantes/Constantes.java index 934f2b1cc..2f76db3de 100644 --- a/src/com/rjconsultores/ventaboletos/constantes/Constantes.java +++ b/src/com/rjconsultores/ventaboletos/constantes/Constantes.java @@ -22,7 +22,6 @@ public class Constantes { public static final Long MVO_CANCEL_TRANSFERENCIA = new Long(23); public static final Long MVO_CANCEL_BOLETO_ENTREGADO = new Long(16); public static final Long MVO_CANCEL_BOLETO_AGRUPAMENTO = new Long(17); - public static final Long MVO_CANCEL_VENDA_PACOTE = new Long(33); public static Long TPV_DIRECTO_NORMAL = new Long(1); public static Long TPV_MANUAL = new Long(3); diff --git a/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java b/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java index 38752ad79..baf0d2e83 100644 --- a/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java @@ -87,4 +87,6 @@ public interface CorridaDAO extends GenericDAO { List buscarPorEstado(Estado estado, Date dataInicial, Integer corridaId); + public Corrida buscaCorrridaFutura(Ruta ruta, Date fecInicio); + } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java index fcbad22b7..d8d4bb167 100644 --- a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java @@ -23,13 +23,15 @@ import java.util.List; public interface EsquemaCorridaDAO extends GenericDAO { public List buscarPorEsquemaOperacional(EsquemaOperacional eo); - + public List buscarPorEmpresaCorrida(Empresa empresa); public List buscar(Marca marca, RolOperativo rolOperativo, Ruta ruta, ClaseServicio claseServicio); public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra); + public EsquemaCorrida buscaEsquemaPorRuta(Ruta ruta); + /** * Indica se el esquema corrida es hijo de un esquemCorrida. * diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java index bd4998adb..4d0a60340 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java @@ -12,6 +12,7 @@ import java.util.GregorianCalendar; import java.util.List; import org.apache.commons.lang.math.NumberUtils; +import org.apache.xmlbeans.impl.xb.xsdschema.RestrictionDocument.Restriction; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.SessionFactory; @@ -546,20 +547,20 @@ public class CorridaHibernateDAO extends GenericHibernateDAO lsCorrida = c.list(); + if (!lsCorrida.isEmpty()) { + return lsCorrida.get(0); + } + return null; + } } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java index 0207f215d..bf6c47686 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java @@ -7,6 +7,7 @@ package com.rjconsultores.ventaboletos.dao.hibernate; import java.util.Date; import java.util.List; +import org.apache.commons.collections.set.CompositeSet.SetMutator; import org.apache.commons.lang.math.NumberUtils; import org.hibernate.Criteria; import org.hibernate.Query; @@ -48,14 +49,14 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO buscarPorEmpresaCorrida(Empresa empresa){ + + public List buscarPorEmpresaCorrida(Empresa empresa) { StringBuilder sb = new StringBuilder(); - sb.append("from EsquemaCorrida ec where ec.empresa.empresaId= :empresaId and activo = 1" ); - + sb.append("from EsquemaCorrida ec where ec.empresa.empresaId= :empresaId and activo = 1"); + Query qry = getSession().createQuery(sb.toString()); qry.setInteger("empresaId", empresa.getEmpresaId()); - + return qry.list(); } @@ -77,7 +78,7 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO lsEsquemaCorrida; + Criteria c = makeCriteria(); + c.add(Restrictions.eq("ruta", ruta)); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.setFirstResult(0); + c.setMaxResults(1); + c.createCriteria("esquemaOperacional").add(Restrictions.ge("fecfinvigencia", new Date())); + + lsEsquemaCorrida = c.list(); + return lsEsquemaCorrida.isEmpty() ? null : lsEsquemaCorrida.get(0); + } + @Override public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra) { Criteria c = getSession().createCriteria(getPersistentClass()); diff --git a/src/com/rjconsultores/ventaboletos/entidad/Ruta.java b/src/com/rjconsultores/ventaboletos/entidad/Ruta.java index 78c806096..f1367d739 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Ruta.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Ruta.java @@ -37,72 +37,99 @@ import javax.persistence.Transient; public class Ruta implements Serializable, Comparable { private static final long serialVersionUID = 1L; + @Id @Basic(optional = false) @GeneratedValue(strategy = GenerationType.AUTO, generator = "RUTA_SEQ") @Column(name = "RUTA_ID") private Integer rutaId; + @Column(name = "DESCRUTA") private String descruta; + @Column(name = "ACTIVO") private Boolean activo; + @Column(name = "FECMODIF") @Temporal(TemporalType.TIMESTAMP) private Date fecmodif; + @Column(name = "USUARIO_ID") private Integer usuarioId; + @JoinColumn(name = "CLASESERVICIO_ID", referencedColumnName = "CLASESERVICIO_ID") @ManyToOne private ClaseServicio claseServicio; + @JoinColumn(name = "GRUPORUTA_ID", referencedColumnName = "GRUPORUTA_ID") @ManyToOne private GrupoRuta grupoRuta; - @OneToMany(mappedBy = "ruta", cascade=CascadeType.ALL) + + @OneToMany(mappedBy = "ruta", cascade = CascadeType.ALL) private List rutaSecuenciaList; + @OneToMany(mappedBy = "ruta") private List rutaCombinacionList; + @Column(name = "indnombreobligatorio") private Boolean indNombreObligatorio; + @OneToMany(mappedBy = "ruta", cascade = CascadeType.ALL) private List lsRutaEmpresa; + @Column(name = "INDVENTAOFFLINE") private Boolean ventaOffLine; + @Column(name = "PREFIXO") private String prefixo; + @Column(name = "PREFIXOAUXILIAR") private String prefixoAuxiliar; + @OneToOne @JoinColumn(name = "ORGAOCONCEDENTE_ID") private OrgaoConcedente orgaoConcedente; @Column(name = "INDSENTIDOIDA") private Boolean indSentidoIda; + @Column(name = "NUMRUTA") private String numRuta; - + @Column(name = "INDTRIBTARIFA") private Boolean indTribTarifa; + @Column(name = "INDTRIBPEDAGIO") private Boolean indTribPedagio; + @Column(name = "INDTRIBTAXAEMBARQUE") - private Boolean indTribTaxaEmbarque; + private Boolean indTribTaxaEmbarque; + @Column(name = "CANTEIXOS") private Integer cantEixos; + @Column(name = "CANTASIENTOS") private Integer cantAsientos; + @Column(name = "INDVENTARIOCARD") private Boolean indVentaRioCard; + @Column(name = "NUMRIOCARD") private String numRioCard; + @Column(name = "INDBLOQVTAABIERTA") private Boolean indBloqueoVtaAbierta; + + @Column(name = "INDRUTACENLADA") + private Boolean indRutaCancelada; + @Transient private Boolean isClone; - + public Ruta() { } - - public static Ruta clone(Ruta other){ + + public static Ruta clone(Ruta other) { Ruta ruta = new Ruta(); ruta.setIsClone(Boolean.TRUE); ruta.activo = other.activo; @@ -118,12 +145,12 @@ public class Ruta implements Serializable, Comparable { ruta.indTribTarifa = other.indTribTarifa; ruta.indTribTaxaEmbarque = other.indTribTaxaEmbarque; ruta.indVentaRioCard = other.indVentaRioCard; - + /******* ruta.lsRutaEmpresa *************/ - if (ruta.lsRutaEmpresa == null){ + if (ruta.lsRutaEmpresa == null) { ruta.lsRutaEmpresa = new ArrayList(); } - for (RutaEmpresa re : other.lsRutaEmpresa){ + for (RutaEmpresa re : other.lsRutaEmpresa) { RutaEmpresa r = new RutaEmpresa(); r.setActivo(re.getActivo()); r.setEmpresa(re.getEmpresa()); @@ -134,65 +161,64 @@ public class Ruta implements Serializable, Comparable { ruta.lsRutaEmpresa.add(r); } /*****************************************/ - + ruta.numRioCard = other.numRioCard; ruta.numRuta = other.numRuta; ruta.orgaoConcedente = other.orgaoConcedente; ruta.prefixo = other.prefixo; ruta.prefixoAuxiliar = other.prefixoAuxiliar; - + /************* ruta.rutaCombinacionList **************/ -// if (ruta.rutaCombinacionList == null){ -// ruta.rutaCombinacionList = new ArrayList(); -// } -// for (RutaCombinacion rc : other.rutaCombinacionList){ -// RutaCombinacion rcnew = RutaCombinacion.clone(rc); -// rcnew.setRuta(ruta); -// rcnew.setRutacombinacionId(null); -// ruta.rutaCombinacionList.add(rcnew); -// } + // if (ruta.rutaCombinacionList == null){ + // ruta.rutaCombinacionList = new ArrayList(); + // } + // for (RutaCombinacion rc : other.rutaCombinacionList){ + // RutaCombinacion rcnew = RutaCombinacion.clone(rc); + // rcnew.setRuta(ruta); + // rcnew.setRutacombinacionId(null); + // ruta.rutaCombinacionList.add(rcnew); + // } /*******************************************************/ - + ruta.rutaId = other.rutaId; - + /************ ruta.rutaSecuenciaList ************/ - if (ruta.rutaSecuenciaList == null){ + if (ruta.rutaSecuenciaList == null) { ruta.rutaSecuenciaList = new ArrayList(); } - for (RutaSecuencia rs : other.rutaSecuenciaList){ + for (RutaSecuencia rs : other.rutaSecuenciaList) { RutaSecuencia rsnew = RutaSecuencia.clone(rs); rsnew.setRuta(ruta); rsnew.setRutasecuenciaId(null); ruta.rutaSecuenciaList.add(rsnew); } /************************************************/ - + ruta.usuarioId = other.usuarioId; ruta.ventaOffLine = other.ventaOffLine; return ruta; } - - - public Integer numSecuenciaOrigen(Integer origenId){ + + public Integer numSecuenciaOrigen(Integer origenId) { Integer numSecuencia = -1; - for (RutaSecuencia rs : rutaSecuenciaList){ - if (rs.tieneOrigen(origenId)){ + for (RutaSecuencia rs : rutaSecuenciaList) { + if (rs.tieneOrigen(origenId)) { numSecuencia = rs.getNumsecuencia().intValue(); } } return numSecuencia; } - - public Integer numSecuenciaDestino(Integer destinoId){ + + public Integer numSecuenciaDestino(Integer destinoId) { Integer numSecuencia = -1; - for (RutaSecuencia rs : rutaSecuenciaList){ - if (rs.tieneDestino(destinoId)){ + for (RutaSecuencia rs : rutaSecuenciaList) { + if (rs.tieneDestino(destinoId)) { numSecuencia = rs.getNumsecuencia().intValue(); } } return numSecuencia; } - + public Ruta(Integer rutaId) { this.rutaId = rutaId; } @@ -381,7 +407,7 @@ public class Ruta implements Serializable, Comparable { public void setIndNombreObligatorio(Boolean indNombreObligatorio) { this.indNombreObligatorio = indNombreObligatorio; } - + public Integer getCantEixos() { return cantEixos; } @@ -397,14 +423,14 @@ public class Ruta implements Serializable, Comparable { public void setCantAsientos(Integer cantAsientos) { this.cantAsientos = cantAsientos; } - + public Boolean getIndVentaRioCard() { return indVentaRioCard; } public void setIndVentaRioCard(Boolean indVentaRioCard) { this.indVentaRioCard = indVentaRioCard; - } + } public String getNumRioCard() { return numRioCard; @@ -413,7 +439,7 @@ public class Ruta implements Serializable, Comparable { public void setNumRioCard(String numRioCard) { this.numRioCard = numRioCard; } - + public Boolean getIndBloqueoVtaAbierta() { return indBloqueoVtaAbierta; } @@ -422,13 +448,21 @@ public class Ruta implements Serializable, Comparable { this.indBloqueoVtaAbierta = indBloqueoVtaAbierta; } + public Boolean getIndRutaCancelada() { + return indRutaCancelada; + } + + public void setIndRutaCancelada(Boolean isRutaCancelada) { + this.indRutaCancelada = isRutaCancelada; + } + @Override public int hashCode() { int hash = 0; hash += (getRutaId() != null ? getRutaId().hashCode() : 0); return hash; } - + @Override public boolean equals(Object object) { if (!(object instanceof Ruta)) { @@ -445,9 +479,10 @@ public class Ruta implements Serializable, Comparable { public String toString() { return this.getDescruta() + " - " + this.getRutaId(); } + @Override - public int compareTo(Ruta ruta) { - return this.getRutaId().intValue() - ruta.getRutaId().intValue(); + public int compareTo(Ruta ruta) { + return this.getRutaId().intValue() - ruta.getRutaId().intValue(); } public Boolean getIsClone() { @@ -456,5 +491,5 @@ public class Ruta implements Serializable, Comparable { public void setIsClone(Boolean isClone) { this.isClone = isClone; - } + } } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/service/CorridaService.java b/src/com/rjconsultores/ventaboletos/service/CorridaService.java index 4a840c4cf..325bebfe6 100644 --- a/src/com/rjconsultores/ventaboletos/service/CorridaService.java +++ b/src/com/rjconsultores/ventaboletos/service/CorridaService.java @@ -15,6 +15,7 @@ import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus; import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.exception.BusinessException; /** @@ -74,4 +75,6 @@ public interface CorridaService extends GenericService { public List buscarCorridaRelatorio(Connection conexao, Parada origem, Parada destino, Date feccorrida, Integer corridaId); + public Corrida buscaCorrridaFutura(Ruta ruta, Date fecInicio); + } diff --git a/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java b/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java index dbbbf4896..1e3332924 100644 --- a/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java +++ b/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java @@ -25,10 +25,10 @@ import com.rjconsultores.ventaboletos.entidad.Tramo; public interface EsquemaCorridaService extends GenericService { public List buscarPorEsquemaOperacional(EsquemaOperacional eo); - + public List buscarPorEmpresaCorrida(Empresa empresa); - public List buscar(Marca marca, RolOperativo rolOperativo,Ruta ruta, ClaseServicio claseServicio); + public List buscar(Marca marca, RolOperativo rolOperativo, Ruta ruta, ClaseServicio claseServicio); public boolean buscarNumCorrida(Integer numCorrida, Integer numCorridaPisoExtra); @@ -38,6 +38,8 @@ public interface EsquemaCorridaService extends GenericService buscaDentroVigenciaQtdeDiasNull(Date dataGeracao); public List buscaDentroVigenciaQtdeDiasNotNull(Date dataDe); - + public EsquemaCorrida obtenerByEsquemaCorrida(Integer numCorrida); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java index 4be28daf1..42d7f432a 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java @@ -1359,4 +1359,9 @@ public class CorridaServiceImpl implements CorridaService { } + @Override + public Corrida buscaCorrridaFutura(Ruta ruta, Date fecInicio) { + return corridaDAO.buscaCorrridaFutura(ruta, fecInicio); + } + } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java index a891b547f..bcbaba291 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java @@ -55,10 +55,10 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService { } @Override - public List buscarPorEmpresaCorrida(Empresa empresa){ + public List buscarPorEmpresaCorrida(Empresa empresa) { return esquemaCorridaDAO.buscarPorEmpresaCorrida(empresa); } - + @Transactional public EsquemaCorrida suscribir(EsquemaCorrida entidad) { List asientos = new ArrayList(); @@ -199,4 +199,9 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService { public EsquemaCorrida obtenerByEsquemaCorrida(Integer id) { return esquemaCorridaDAO.obtenerByEsquemaCorrida(id); } + + @Override + public EsquemaCorrida buscaEsquemaPorRuta(Ruta ruta) { + return esquemaCorridaDAO.buscaEsquemaPorRuta(ruta); + } }