diff --git a/src/com/rjconsultores/ventaboletos/constantes/Constantes.java b/src/com/rjconsultores/ventaboletos/constantes/Constantes.java index 2f76db3de..934f2b1cc 100644 --- a/src/com/rjconsultores/ventaboletos/constantes/Constantes.java +++ b/src/com/rjconsultores/ventaboletos/constantes/Constantes.java @@ -22,6 +22,7 @@ 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 baf0d2e83..38752ad79 100644 --- a/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/CorridaDAO.java @@ -87,6 +87,4 @@ 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 d8d4bb167..fcbad22b7 100644 --- a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java @@ -23,15 +23,13 @@ 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 4d0a60340..bd4998adb 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaHibernateDAO.java @@ -12,7 +12,6 @@ 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; @@ -547,20 +546,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 bf6c47686..0207f215d 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java @@ -7,7 +7,6 @@ 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; @@ -49,14 +48,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(); } @@ -78,7 +77,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/dao/hibernate/RutaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java index 2bbd68954..50607adeb 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java @@ -196,9 +196,9 @@ public class RutaHibernateDAO extends GenericHibernateDAO impleme public List buscaRutasFromOrgao(OrgaoConcedente orgao){ StringBuffer hql = new StringBuffer(); hql.append("select distinct r FROM Ruta r inner join r.rutaSecuenciaList rSeqList "); - hql.append(" inner join rSeqList.lsCasetaPeaje casPeajList "); - hql.append(" WHERE r.orgaoConcedente.orgaoConcedenteId = :orgaoId and r.activo = 1 "); - + hql.append(" inner join rSeqList.lsRutaCase casRutaList "); + hql.append(" WHERE r.orgaoConcedente.orgaoConcedenteId = :orgaoId and r.activo = 1 "); + Query sq = getSession().createQuery(hql.toString()); sq.setParameter("orgaoId", orgao.getOrgaoConcedenteId()); diff --git a/src/com/rjconsultores/ventaboletos/entidad/Ruta.java b/src/com/rjconsultores/ventaboletos/entidad/Ruta.java index f1367d739..78c806096 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Ruta.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Ruta.java @@ -37,99 +37,72 @@ 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; @@ -145,12 +118,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()); @@ -161,64 +134,65 @@ 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; } @@ -407,7 +381,7 @@ public class Ruta implements Serializable, Comparable { public void setIndNombreObligatorio(Boolean indNombreObligatorio) { this.indNombreObligatorio = indNombreObligatorio; } - + public Integer getCantEixos() { return cantEixos; } @@ -423,14 +397,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; @@ -439,7 +413,7 @@ public class Ruta implements Serializable, Comparable { public void setNumRioCard(String numRioCard) { this.numRioCard = numRioCard; } - + public Boolean getIndBloqueoVtaAbierta() { return indBloqueoVtaAbierta; } @@ -448,21 +422,13 @@ 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)) { @@ -479,10 +445,9 @@ 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() { @@ -491,5 +456,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 325bebfe6..4a840c4cf 100644 --- a/src/com/rjconsultores/ventaboletos/service/CorridaService.java +++ b/src/com/rjconsultores/ventaboletos/service/CorridaService.java @@ -15,7 +15,6 @@ 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; /** @@ -75,6 +74,4 @@ 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 1e3332924..dbbbf4896 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,8 +38,6 @@ 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 ffda413bc..4be28daf1 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java @@ -534,12 +534,6 @@ public class CorridaServiceImpl implements CorridaService { corrida.setCantParados(cantparados.shortValue()); } - Parada destino = rutaService.getDestino(ruta); - if (destino == null) { - return null; - } - corrida.setDestino(destino); - corrida.setEsquemaAgrupacionId(esquemaCorrida.getEsquemaAgrupacionId()); corrida.setEmpresa(esquemaCorrida.getEmpresa()); @@ -560,12 +554,6 @@ public class CorridaServiceImpl implements CorridaService { corrida.setNodo(corridaCtrl.getNodo()); corrida.setDivision(esquemaCorrida.getDivision()); - Parada origem = rutaService.getOrigem(ruta); - if (origem == null) { - return null; - } - corrida.setOrigem(origem); - corrida.setRuta(esquemaCorrida.getRuta()); corrida.setRolOperativo(esquemaCorrida.getRolOperativo()); corrida.setZona(null); @@ -584,10 +572,28 @@ public class CorridaServiceImpl implements CorridaService { Date husoHorVeranoLlegadaAnterior = null; + if (lsEsquemaTramo == null) { + return null; + } + + EsquemaTramo primeiro = lsEsquemaTramo.get(0); + Parada origem = primeiro.getTramo().getOrigem(); + if (origem == null) { + return null; + } + corrida.setOrigem(origem); + + EsquemaTramo ultimo = lsEsquemaTramo.get(lsEsquemaTramo.size() - 1); + Parada destino = ultimo.getTramo().getDestino(); + if (destino == null) { + return null; + } + corrida.setDestino(destino); + for (EsquemaTramo esquemaTramo : lsEsquemaTramo) { CorridaTramo corridaTramo = new CorridaTramo(); - if(esquemaTramo.getNumsecuencia() == 22){ + if (esquemaTramo.getNumsecuencia() == 22) { System.out.println(""); } corridaTramo.setAutobus(null); @@ -1353,9 +1359,4 @@ 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 bcbaba291..a891b547f 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,9 +199,4 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService { public EsquemaCorrida obtenerByEsquemaCorrida(Integer id) { return esquemaCorridaDAO.obtenerByEsquemaCorrida(id); } - - @Override - public EsquemaCorrida buscaEsquemaPorRuta(Ruta ruta) { - return esquemaCorridaDAO.buscaEsquemaPorRuta(ruta); - } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java index e3e14cf5d..34b56066f 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/RutaServiceImpl.java @@ -205,6 +205,10 @@ public class RutaServiceImpl implements RutaService { StringBuilder sb = new StringBuilder(); Boolean gerou = true; + if (ruta.getRutaId() != null) { + ruta.setRutaCombinacionList(rutaCombinacionService.obtenerPorRuta(ruta)); + } + for (int i = 0; i < lsRutaSecuencia.size(); i++) { Tramo tramoSecuencia1 = lsRutaSecuencia.get(i).getTramo(); Parada origem = tramoSecuencia1.getOrigem(); @@ -245,6 +249,8 @@ public class RutaServiceImpl implements RutaService { log.debug("Tramo:" + trBuscaOrigemDestino.getDesctramo()); + + RutaCombinacion rc = new RutaCombinacion(); rc.setActivo(Boolean.TRUE); rc.setFecmodif(Calendar.getInstance().getTime());