diff --git a/pom.xml b/pom.xml
index 528f29b2e..6f642e3ea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
br.com.rjconsultores
ModelWeb
- 1.40.0
+ 1.40.1
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/AsientoExclusivoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/AsientoExclusivoHibernateDAO.java
index 990e6fe53..06ea00bae 100644
--- a/src/com/rjconsultores/ventaboletos/dao/hibernate/AsientoExclusivoHibernateDAO.java
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/AsientoExclusivoHibernateDAO.java
@@ -41,8 +41,7 @@ public class AsientoExclusivoHibernateDAO extends GenericHibernateDAO, Auditavel {
-
- private static final long serialVersionUID = 1L;
- @Id
- @Basic(optional = false)
- @Column(name = "ESQUEMATRAMO_ID")
- @GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_TRAMO_SEQ")
- private Integer esquematramoId;
-
- @Column(name = "NUMSECUENCIA")
- private Short numsecuencia;
-
- @Column(name = "ACTIVO")
- private Boolean activo;
-
- @Column(name = "FECMODIF")
- @Temporal(TemporalType.TIMESTAMP)
- private Date fecmodif;
- @Column(name = "USUARIO_ID")
-
- private Integer usuarioId;
- @Column(name = "TIEMPOESTANCIA")
- @Temporal(javax.persistence.TemporalType.TIMESTAMP)
- private Date tiempoEstancia;
-
- @JoinColumn(name = "TRAMO_ID", referencedColumnName = "TRAMO_ID")
- @ManyToOne
- private Tramo tramo;
-
- @JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
- @ManyToOne
- @NaoAuditar
- private EsquemaCorrida esquemaCorrida;
-
- @Column(name = "PLATAFORMA")
- private String plataforma;
-
- @Column(name = "EXCEPCIONRECORRIDO")
- private Date excepcionRecorrido;
-
- @Column(name = "TIPO_PASSAGEM")
- private String tipoPassagem;
-
- @Transient
- @NaoAuditar
- private EsquemaTramo esquemaTramoClone;
-
- public Date getTiempoEstancia() {
- return tiempoEstancia;
- }
-
- public void setTiempoEstancia(Date tiempoEstancia) {
- this.tiempoEstancia = tiempoEstancia;
- }
-
- public EsquemaTramo() {
- }
-
- public EsquemaTramo(Integer esquematramoId) {
- this.esquematramoId = esquematramoId;
- }
-
- public Integer getEsquematramoId() {
- return esquematramoId;
- }
-
- public void setEsquematramoId(Integer esquematramoId) {
- this.esquematramoId = esquematramoId;
- }
-
- public Short getNumsecuencia() {
- return numsecuencia;
- }
-
- public void setNumsecuencia(Short numsecuencia) {
- this.numsecuencia = numsecuencia;
- }
-
- public Boolean getActivo() {
- return activo;
- }
-
- public void setActivo(Boolean activo) {
- this.activo = activo;
- }
-
- public Date getFecmodif() {
- return fecmodif;
- }
-
- public void setFecmodif(Date fecmodif) {
- this.fecmodif = fecmodif;
- }
-
- public Integer getUsuarioId() {
- return usuarioId;
- }
-
- public void setUsuarioId(Integer usuarioId) {
- this.usuarioId = usuarioId;
- }
-
- public Tramo getTramo() {
- return tramo;
- }
-
- public void setTramo(Tramo tramo) {
- this.tramo = tramo;
- }
-
- public EsquemaCorrida getEsquemaCorrida() {
- return esquemaCorrida;
- }
-
- public void setEsquemaCorrida(EsquemaCorrida esquemaCorrida) {
- this.esquemaCorrida = esquemaCorrida;
- }
-
- public String getPlataforma() {
- return plataforma;
- }
-
- public void setPlataforma(String plataforma) {
- this.plataforma = plataforma;
- }
-
- public Date getExcepcionRecorrido() {
- return excepcionRecorrido;
- }
-
- public void setExcepcionRecorrido(Date excepcionRecorrido) {
- this.excepcionRecorrido = excepcionRecorrido;
- }
-
- public String getTipoPassagem() {
- return tipoPassagem;
- }
-
- public void setTipoPassagem(String tipoPassagem) {
- this.tipoPassagem = tipoPassagem;
- }
-
- @Override
- public int hashCode() {
- int hash = 0;
- hash += (getEsquematramoId() != null ? getEsquematramoId().hashCode() : 0);
- return hash;
- }
-
- @Override
- public boolean equals(Object object) {
- if (!(object instanceof EsquemaTramo)) {
- return false;
- }
- EsquemaTramo other = (EsquemaTramo) object;
- if ((this.getEsquematramoId() == null && other.getEsquematramoId() != null) || (this.getEsquematramoId() != null && !this.getEsquematramoId().equals(other.getEsquematramoId()))) {
- return false;
- }
- return true;
- }
-
- @Override
- public String toString() {
- return "com.rjconsultores.ventaboletos.entidad.test.EsquemaTramo[esquematramoId=" + esquematramoId + "]";
- }
-
- @Override
- public int compareTo(EsquemaTramo o) {
- if (this.numsecuencia > o.getNumsecuencia()) {
- return 1;
- } else if (this.numsecuencia < o.getNumsecuencia()) {
- return -1;
- }
- return 0;
- }
-
- @Override
- public void clonar() throws CloneNotSupportedException {
- esquemaTramoClone = new EsquemaTramo();
- esquemaTramoClone = (EsquemaTramo) this.clone();
- Hibernate.initialize(esquemaTramoClone.getTramo());
- }
-
- @Override
- public EsquemaTramo getCloneObject() throws CloneNotSupportedException {
- return esquemaTramoClone;
- }
-
- @Override
- public String getTextoInclusaoExclusao() {
- return String.format("EsquemaTramo - Sequencia [%s] - Origem [%s] - Destino [%s]", getNumsecuencia(),
- getTramo() != null && getTramo().getOrigem() != null ? getTramo().getOrigem().getDescparada() : "",
- getTramo() != null && getTramo().getDestino() != null ? getTramo().getDestino().getDescparada() : "");
- }
-
-}
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+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;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+import org.hibernate.Hibernate;
+
+import br.com.rjconsultores.auditador.annotations.NaoAuditar;
+import br.com.rjconsultores.auditador.interfaces.Auditavel;
+
+/**
+ *
+ * @author Rafius
+ */
+@Entity
+@SequenceGenerator(name = "ESQUEMA_TRAMO_SEQ", sequenceName = "ESQUEMA_TRAMO_SEQ", allocationSize = 1)
+@Table(name = "ESQUEMA_TRAMO")
+public class EsquemaTramo implements Serializable, Comparable, Auditavel, Cloneable {
+
+ private static final long serialVersionUID = 1L;
+ @Id
+ @Basic(optional = false)
+ @Column(name = "ESQUEMATRAMO_ID")
+ @GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_TRAMO_SEQ")
+ private Integer esquematramoId;
+
+ @Column(name = "NUMSECUENCIA")
+ private Short numsecuencia;
+
+ @Column(name = "ACTIVO")
+ private Boolean activo;
+
+ @Column(name = "FECMODIF")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date fecmodif;
+ @Column(name = "USUARIO_ID")
+
+ private Integer usuarioId;
+ @Column(name = "TIEMPOESTANCIA")
+ @Temporal(javax.persistence.TemporalType.TIMESTAMP)
+ private Date tiempoEstancia;
+
+ @JoinColumn(name = "TRAMO_ID", referencedColumnName = "TRAMO_ID")
+ @ManyToOne
+ private Tramo tramo;
+
+ @JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID")
+ @ManyToOne
+ @NaoAuditar
+ private EsquemaCorrida esquemaCorrida;
+
+ @Column(name = "PLATAFORMA")
+ private String plataforma;
+
+ @Column(name = "EXCEPCIONRECORRIDO")
+ private Date excepcionRecorrido;
+
+ @Column(name = "TIPO_PASSAGEM")
+ private String tipoPassagem;
+
+ @Transient
+ @NaoAuditar
+ private EsquemaTramo esquemaTramoClone;
+
+ public Date getTiempoEstancia() {
+ return tiempoEstancia;
+ }
+
+ public void setTiempoEstancia(Date tiempoEstancia) {
+ this.tiempoEstancia = tiempoEstancia;
+ }
+
+ public EsquemaTramo() {
+ }
+
+ public EsquemaTramo(Integer esquematramoId) {
+ this.esquematramoId = esquematramoId;
+ }
+
+ public Integer getEsquematramoId() {
+ return esquematramoId;
+ }
+
+ public void setEsquematramoId(Integer esquematramoId) {
+ this.esquematramoId = esquematramoId;
+ }
+
+ public Short getNumsecuencia() {
+ return numsecuencia;
+ }
+
+ public void setNumsecuencia(Short numsecuencia) {
+ this.numsecuencia = numsecuencia;
+ }
+
+ public Boolean getActivo() {
+ return activo;
+ }
+
+ public void setActivo(Boolean activo) {
+ this.activo = activo;
+ }
+
+ public Date getFecmodif() {
+ return fecmodif;
+ }
+
+ public void setFecmodif(Date fecmodif) {
+ this.fecmodif = fecmodif;
+ }
+
+ public Integer getUsuarioId() {
+ return usuarioId;
+ }
+
+ public void setUsuarioId(Integer usuarioId) {
+ this.usuarioId = usuarioId;
+ }
+
+ public Tramo getTramo() {
+ return tramo;
+ }
+
+ public void setTramo(Tramo tramo) {
+ this.tramo = tramo;
+ }
+
+ public EsquemaCorrida getEsquemaCorrida() {
+ return esquemaCorrida;
+ }
+
+ public void setEsquemaCorrida(EsquemaCorrida esquemaCorrida) {
+ this.esquemaCorrida = esquemaCorrida;
+ }
+
+ public String getPlataforma() {
+ return plataforma;
+ }
+
+ public void setPlataforma(String plataforma) {
+ this.plataforma = plataforma;
+ }
+
+ public Date getExcepcionRecorrido() {
+ return excepcionRecorrido;
+ }
+
+ public void setExcepcionRecorrido(Date excepcionRecorrido) {
+ this.excepcionRecorrido = excepcionRecorrido;
+ }
+
+ public String getTipoPassagem() {
+ return tipoPassagem;
+ }
+
+ public void setTipoPassagem(String tipoPassagem) {
+ this.tipoPassagem = tipoPassagem;
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 0;
+ hash += (getEsquematramoId() != null ? getEsquematramoId().hashCode() : 0);
+ return hash;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ if (!(object instanceof EsquemaTramo)) {
+ return false;
+ }
+ EsquemaTramo other = (EsquemaTramo) object;
+ if ((this.getEsquematramoId() == null && other.getEsquematramoId() != null) || (this.getEsquematramoId() != null && !this.getEsquematramoId().equals(other.getEsquematramoId()))) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "com.rjconsultores.ventaboletos.entidad.test.EsquemaTramo[esquematramoId=" + esquematramoId + "]";
+ }
+
+ @Override
+ public int compareTo(EsquemaTramo o) {
+ if (this.numsecuencia > o.getNumsecuencia()) {
+ return 1;
+ } else if (this.numsecuencia < o.getNumsecuencia()) {
+ return -1;
+ }
+ return 0;
+ }
+
+ @Override
+ public void clonar() throws CloneNotSupportedException {
+ esquemaTramoClone = new EsquemaTramo();
+ esquemaTramoClone = (EsquemaTramo) this.clone();
+ Hibernate.initialize(esquemaTramoClone.getTramo());
+ }
+
+ @Override
+ public EsquemaTramo getCloneObject() throws CloneNotSupportedException {
+ return esquemaTramoClone;
+ }
+
+ @Override
+ public String getTextoInclusaoExclusao() {
+ return String.format("EsquemaTramo - Sequencia [%s] - Origem [%s] - Destino [%s]", getNumsecuencia(),
+ getTramo() != null && getTramo().getOrigem() != null ? getTramo().getOrigem().getDescparada() : "",
+ getTramo() != null && getTramo().getDestino() != null ? getTramo().getDestino().getDescparada() : "");
+ }
+
+ @Override
+ public EsquemaTramo clone() throws CloneNotSupportedException {
+ EsquemaTramo clone = null;
+ try {
+ clone = (EsquemaTramo) super.clone();
+ }
+ catch (CloneNotSupportedException e) {
+ throw new RuntimeException(e);
+ }
+ return clone;
+ }
+}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/ParadaEsquema.java b/src/com/rjconsultores/ventaboletos/entidad/ParadaEsquema.java
index 65553158b..bd61c00b7 100644
--- a/src/com/rjconsultores/ventaboletos/entidad/ParadaEsquema.java
+++ b/src/com/rjconsultores/ventaboletos/entidad/ParadaEsquema.java
@@ -10,7 +10,7 @@ import java.util.Date;
*
* @author Administrador
*/
-public class ParadaEsquema {
+public class ParadaEsquema implements Cloneable {
private Short numsecuencia;
private Date tiempoEstancia;
@@ -112,4 +112,16 @@ public class ParadaEsquema {
return false;
return true;
}
+
+ @Override
+ public ParadaEsquema clone() throws CloneNotSupportedException {
+ ParadaEsquema clone = null;
+ try {
+ clone = (ParadaEsquema) super.clone();
+ }
+ catch (CloneNotSupportedException e) {
+ throw new RuntimeException(e);
+ }
+ return clone;
+ }
}
diff --git a/src/com/rjconsultores/ventaboletos/service/CorridaService.java b/src/com/rjconsultores/ventaboletos/service/CorridaService.java
index fd3a60796..9d4f7f0b7 100644
--- a/src/com/rjconsultores/ventaboletos/service/CorridaService.java
+++ b/src/com/rjconsultores/ventaboletos/service/CorridaService.java
@@ -9,6 +9,7 @@ import java.util.List;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Corrida;
+import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.Estado;
@@ -82,7 +83,7 @@ public interface CorridaService extends GenericService {
public Integer buscarOcupacaoCorrida(Corrida corrida);
- public Boolean generarCorrida(Date dataGeracao, List lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida);
+ public Boolean generarCorrida(Date dataGeracao, List lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida, List corridaTramoList);
public Corrida buscarPorId(Corrida.Id id);
diff --git a/src/com/rjconsultores/ventaboletos/service/CorridaTramoService.java b/src/com/rjconsultores/ventaboletos/service/CorridaTramoService.java
index d1d5de62a..74ecf2938 100644
--- a/src/com/rjconsultores/ventaboletos/service/CorridaTramoService.java
+++ b/src/com/rjconsultores/ventaboletos/service/CorridaTramoService.java
@@ -9,18 +9,13 @@ import com.rjconsultores.ventaboletos.entidad.CorridaTramo;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.EsquemaTramo;
import com.rjconsultores.ventaboletos.entidad.Nodo;
-import com.rjconsultores.ventaboletos.vo.esquemaoperacional.ItemEditarCorridaTramo;
public interface CorridaTramoService extends GenericService {
public List obtenerTramoTarjetaEmitida();
-
- public boolean atualizaCorridaTramo(ItemEditarCorridaTramo itemEditarCorridaTramo);
-
- public void adicionaCorridaTramo(ItemEditarCorridaTramo itemEditarCorridaTramo, EsquemaCorrida esquemaCorrida, Date dataCorrida);
-
- public void excluiCorridaTramo(ItemEditarCorridaTramo itemEditarCorridaTramo);
-
+
public List criaCorridaTramoList(Autobus autobus, Date dataGeracao, Date fechorSalidaOriginalH ,
List lsEsquemaTramo, Nodo nodo, ClaseServicio claseServicio, String statusCorrida);
+
+ public List recriaCorridaTramo(EsquemaCorrida esquemaCorrida, Date dataCorrida, List esquemaTramoNovoList);
}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java
index eff36afc6..6cd200f5f 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java
@@ -449,7 +449,7 @@ public class CorridaServiceImpl implements CorridaService {
* @return - La corrida generada o null si no fue generada.
*/
@SuppressWarnings("deprecation")
- private Corrida generarCorrida(EsquemaCorrida esquemaCorrida, Date dataGeracao, boolean isPisoExtra, Boolean isFeriado) {
+ private Corrida generarCorrida(EsquemaCorrida esquemaCorrida, Date dataGeracao, boolean isPisoExtra, Boolean isFeriado, List corridaTramoList) {
Corrida corrida = null;
@@ -483,7 +483,7 @@ public class CorridaServiceImpl implements CorridaService {
CorridaCtrl corridaCtrl = criaCorridaCtrl(isPisoExtra, ruta, claseServicio, marca, horario, numCorrida);
corrida = criaCorrida(esquemaCorrida, dataGeracao, id, lsEsquemaTramo, origemCorrida, destinoCorrida,
- corridaCtrl);
+ corridaCtrl, corridaTramoList);
cantCorridaGenerada++;
@@ -497,7 +497,7 @@ public class CorridaServiceImpl implements CorridaService {
}
private Corrida criaCorrida(EsquemaCorrida esquemaCorrida, Date dataGeracao, Corrida.Id id,
- List lsEsquemaTramo, Parada origemCorrida, Parada destinoCorrida, CorridaCtrl corridaCtrl) {
+ List lsEsquemaTramo, Parada origemCorrida, Parada destinoCorrida, CorridaCtrl corridaCtrl, List corridaTramoList) {
Corrida corrida;
corrida = new Corrida();
corrida.setId(id);
@@ -543,11 +543,15 @@ public class CorridaServiceImpl implements CorridaService {
corrida.setDestino(destinoCorrida);
validaFlexBus(esquemaCorrida, corrida);
-
+ List lsCorridaTramo = null;
Date fechorSalidaOriginalH = null;
- List lsCorridaTramo = corridaTramosService.criaCorridaTramoList(esquemaCorrida.getAutoBus(), dataGeracao, fechorSalidaOriginalH, lsEsquemaTramo, corridaCtrl.getNodo(), corrida.getClaseServicio(), esquemaCorrida.getStatusCorrida());
- for (CorridaTramo corridaTramo : lsCorridaTramo) {
- corridaTramo.setCorrida(corrida);
+ if(corridaTramoList!=null && !corridaTramoList.isEmpty()) {
+ lsCorridaTramo = corridaTramoList;
+ }else {
+ lsCorridaTramo = corridaTramosService.criaCorridaTramoList(esquemaCorrida.getAutoBus(), dataGeracao, fechorSalidaOriginalH, lsEsquemaTramo, corridaCtrl.getNodo(), corrida.getClaseServicio(), esquemaCorrida.getStatusCorrida());
+ for (CorridaTramo corridaTramo : lsCorridaTramo) {
+ corridaTramo.setCorrida(corrida);
+ }
}
corrida.setCorridaTramoList(lsCorridaTramo);
@@ -826,7 +830,7 @@ public class CorridaServiceImpl implements CorridaService {
return b - a;
}
- public Boolean generarCorrida(Date dataGeracao, List lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida) {
+ public Boolean generarCorrida(Date dataGeracao, List lsEsquemaCorrida, boolean isGeracaoAutomaticaCorrida, List corridaTramoList) {
DefaultTransactionDefinition def = new DefaultTransactionDefinition(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW);
@@ -921,7 +925,7 @@ public class CorridaServiceImpl implements CorridaService {
}
Boolean isFeriado = this.isFeriado(data, esquemaCorrida);
- corrida = generarCorrida(esquemaCorrida, dataGeracao, false, isFeriado);
+ corrida = generarCorrida(esquemaCorrida, dataGeracao, false, isFeriado, corridaTramoList);
corridaPisoExtra = null;
@@ -956,7 +960,7 @@ public class CorridaServiceImpl implements CorridaService {
continue;
}
- corridaPisoExtra = generarCorrida(esquemaCorridaSegundoPiso, dataGeracao, true, isFeriado);
+ corridaPisoExtra = generarCorrida(esquemaCorridaSegundoPiso, dataGeracao, true, isFeriado, null);
Boolean atualizarPisoExtra = false;
// caso corrida segundo piso for gerada antes, atualizar
@@ -986,7 +990,7 @@ public class CorridaServiceImpl implements CorridaService {
continue;
}
- corridaPisoExtra2 = generarCorrida(esquemaCorridaTerceiroPiso, dataGeracao, true, isFeriado);
+ corridaPisoExtra2 = generarCorrida(esquemaCorridaTerceiroPiso, dataGeracao, true, isFeriado, null);
atualizarPisoExtra = false;
// caso corrida segundo piso for gerada antes, atualizar
@@ -1051,7 +1055,7 @@ public class CorridaServiceImpl implements CorridaService {
Corrida corridaPisoExtra2, EsquemaCorrida esquemaCorrida, Boolean isFeriado) {
log.info("Corrida Rebote=" + esquemaCorrida.getEsquemacorridaId());
- Corrida corridaRebote = generarCorrida(esquemaCorrida.getEsquemaCorridaRebote(), dataGeracao, false, isFeriado);
+ Corrida corridaRebote = generarCorrida(esquemaCorrida.getEsquemaCorridaRebote(), dataGeracao, false, isFeriado, null);
Corrida corridaPisoExtraRebote = null;
boolean generaReboteDiaSeguinte = false;
@@ -1063,7 +1067,7 @@ public class CorridaServiceImpl implements CorridaService {
log.info(String.format("Esquema/Corrida primeiro piso: %s/%s ; Esquema/Corrida segundo piso: %s/%s ",ecRebote.getEsquemacorridaId(),ecRebote.getNumCorrida(), esquemaCorridaSegundoPiso.getEsquemacorridaId(),esquemaCorridaSegundoPiso.getNumCorrida() ));
- corridaPisoExtraRebote = generarCorrida(esquemaCorridaSegundoPiso, dataGeracao, true, isFeriado);
+ corridaPisoExtraRebote = generarCorrida(esquemaCorridaSegundoPiso, dataGeracao, true, isFeriado, null);
if (corridaRebote != null && corridaPisoExtraRebote != null) {
// Salvando Referencia da Corrida no piso extra
@@ -1283,7 +1287,7 @@ public class CorridaServiceImpl implements CorridaService {
java.sql.Date data = new java.sql.Date(dataGeracao.getTime());
Boolean isFeriado = this.isFeriado(data, esquemaCorrida);
- return generarCorrida(esquemaCorrida.getEsquemaCorridaRebote(), tmp.getTime(), false, isFeriado);
+ return generarCorrida(esquemaCorrida.getEsquemaCorridaRebote(), tmp.getTime(), false, isFeriado, null);
}
private List getDiaDeLaSemana(TramoTiempo tramoTiempo) {
@@ -1422,7 +1426,7 @@ public class CorridaServiceImpl implements CorridaService {
List lsTmp = new ArrayList();
lsTmp.add(esquemaCorrida);
- this.generarCorrida(dataDe, lsTmp, true);
+ this.generarCorrida(dataDe, lsTmp, true, null);
calendarData.setTime(dataDe);
calendarData.add(Calendar.DATE, 1);
@@ -1467,7 +1471,7 @@ public class CorridaServiceImpl implements CorridaService {
if (dentroVigenciaEsquemaOperacional) {
log.debug("Geracao de servicos sem cant dias especifico. Adotando o padrao");
- this.generarCorrida(dataDe, lsEsquemaCorrida, true);
+ this.generarCorrida(dataDe, lsEsquemaCorrida, true, null);
} else {
log.info("No hay esquema vigente para la fecha " + sdfData.format(dataDe));
@@ -1550,7 +1554,7 @@ public class CorridaServiceImpl implements CorridaService {
break;
}
- boolean corridaGerada = this.generarCorrida(dataAte, Arrays.asList(esquemaCorrida), false);
+ boolean corridaGerada = this.generarCorrida(dataAte, Arrays.asList(esquemaCorrida), false, null);
log.info(String.format("Corrida gerada = %s [%s - %s]",corridaGerada,esquemaCorrida.getNumCorrida() ,strDataGeracao));
@@ -1620,7 +1624,7 @@ public class CorridaServiceImpl implements CorridaService {
while (DateUtil.compareOnlyDate(dataDe, dataAte) <= 0) {
log.info("*** Data: " + sdfData.format(dataDe));
- this.generarCorrida(dataDe, lsEsquemaCorrida, false);
+ this.generarCorrida(dataDe, lsEsquemaCorrida, false, null);
calendarData.add(Calendar.DATE, 1);
dataDe = calendarData.getTime();
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaTramoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaTramoServiceImpl.java
index f3a326922..38c965fec 100644
--- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaTramoServiceImpl.java
+++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaTramoServiceImpl.java
@@ -35,7 +35,6 @@ import com.rjconsultores.ventaboletos.utilerias.ActivoUtil;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.utilerias.HoraSistema;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
-import com.rjconsultores.ventaboletos.vo.esquemaoperacional.ItemEditarCorridaTramo;
@Service("corridaTramoService")
public class CorridaTramoServiceImpl implements CorridaTramoService {
@@ -93,100 +92,26 @@ public class CorridaTramoServiceImpl implements CorridaTramoService {
return corridaTramoDAO.obtenerTramoTarjetaEmitida();
}
-
- @Transactional
- public boolean atualizaCorridaTramo(ItemEditarCorridaTramo itemEditarCorridaTramo) {
- try {
- CorridaTramo corridaTramo = corridaTramoDAO.buscaCorridaTramoByFecCorridaECorridaIdEdOrigemId(itemEditarCorridaTramo.getFecCorrida(), itemEditarCorridaTramo.getCorridaId(), false, itemEditarCorridaTramo.getParadaId());
- if(corridaTramo !=null && corridaTramo.getOrigem()!=null && corridaTramo.getOrigem().getParadaId().intValue() == itemEditarCorridaTramo.getParadaId()) {
- if(itemEditarCorridaTramo.getTempoEstancia()!=null) {
- corridaTramo.setTiempoEstancia(itemEditarCorridaTramo.getTempoEstancia());
- }
- if(itemEditarCorridaTramo.getPlataforma()!=null) {
- corridaTramo.setPlataforma(itemEditarCorridaTramo.getPlataforma());
- }
- if(itemEditarCorridaTramo.getTipoPassagem()!=null) {
- corridaTramo.setTipoPassagem(itemEditarCorridaTramo.getTipoPassagem());
- }
- if(itemEditarCorridaTramo.getTempoExcecao()!=null) {
- corridaTramo.setFechorllegada(calcularFechorllegada(corridaTramo.getFechorllegada(), itemEditarCorridaTramo.getTempoExcecao()));
- corridaTramo.setFechorllegadaH(calcularFechorllegada(corridaTramo.getFechorllegadaH(), itemEditarCorridaTramo.getTempoExcecao()));
- }
- if(actualizacion(corridaTramo)!=null) {
- return true;
- }
- }
-
- }catch (Exception e) {
- log.error("Erro ao atualizar CorridaTramo para corridaId:" + itemEditarCorridaTramo.getCorridaId() + " feccorrida:" + DateUtil.getStringDate24Hour(itemEditarCorridaTramo.getFecCorrida()) + " paradaId:" + itemEditarCorridaTramo.getParadaId(), e);
- }
- return false;
- }
- private Date calcularFechorllegada( Date horaChegada, Date tempoExcecao ) {
- try {
- if(horaChegada !=null) {
- GregorianCalendar gHoraChegada = new GregorianCalendar();
- gHoraChegada.setTime(horaChegada);
- HoraSistema hs = null;
- if (tempoExcecao != null) {
- hs = new HoraSistema(tempoExcecao);
- gHoraChegada.add(Calendar.HOUR_OF_DAY, hs.getHora());
- gHoraChegada.add(Calendar.MINUTE, hs.getMinuto());
- }
- return gHoraChegada.getTime();
- }
- }catch(Exception e) {
- log.error("Erro ao calcular fechorLhegada com tempo de exceção ao atualizar corridatramo", e);
- }
- return horaChegada;
- }
-
@Override
@Transactional
- public void adicionaCorridaTramo(ItemEditarCorridaTramo itemEditarCorridaTramo, EsquemaCorrida esquemaCorrida, Date dataCorrida) {
+ public List recriaCorridaTramo(EsquemaCorrida esquemaCorrida, Date dataCorrida, List esquemaTramoNovoList) {
//Busca todas as corridas tramo
- List corridaTramoList = corridaTramoDAO.buscaCorridaTramoByFecCorridaECorridaId(itemEditarCorridaTramo.getFecCorrida(), itemEditarCorridaTramo.getCorridaId(), false);
- //Monta lista de paradas que não foram excluidas
- List paradasIdItinerario = carregaParadaIdItinerario(corridaTramoList);
- //Monta lista de paradas excluidas
- List paradasAdicionadas = new ArrayList();
- paradasAdicionadas.add(itemEditarCorridaTramo.getParadaId());
+ List corridaTramoListAntigas = corridaTramoDAO.buscaCorridaTramoByFecCorridaECorridaId(dataCorrida, esquemaCorrida.getNumCorrida(), false);
- List paradasIdItinerarioNovo = carregaParadaIdItinerario(corridaTramoList);
-
- paradasIdItinerarioNovo.addAll(paradasIdItinerario);
- paradasIdItinerarioNovo.add(itemEditarCorridaTramo.getSecuencia()-1, itemEditarCorridaTramo.getParadaId());
-
- inativaCorridasTramos(corridaTramoList);
+ inativaCorridasTramos(corridaTramoListAntigas);
Date fechorSalidaOriginalH = null;
- List lsCorridaTramo = criaCorridaTramoList(itemEditarCorridaTramo.getAutobus(), itemEditarCorridaTramo.getFecCorrida(), fechorSalidaOriginalH, itemEditarCorridaTramo.getLsEsquemaTramoNova(), itemEditarCorridaTramo.getNodo(), itemEditarCorridaTramo.getClaseServicio(), itemEditarCorridaTramo.getStatusCorrida());
- for (CorridaTramo corridaTramo : lsCorridaTramo) {
- corridaTramoDAO.suscribir(corridaTramo);
- }
-
-
- }
-
- @Override
- @Transactional
- public void excluiCorridaTramo(ItemEditarCorridaTramo itemEditarCorridaTramo) {
- //Busca todas as corridas tramo
- List corridaTramoList = corridaTramoDAO.buscaCorridaTramoByFecCorridaECorridaId(itemEditarCorridaTramo.getFecCorrida(), itemEditarCorridaTramo.getCorridaId(), false);
-
- //Inativas Corridas Tramos e cria uma nova lista a ser salva
- inativaCorridasTramosInstanciaNovasCorridasTramos(itemEditarCorridaTramo, corridaTramoList);
-
- Date fechorSalidaOriginalH = null;
- List lsCorridaTramo = criaCorridaTramoList(itemEditarCorridaTramo.getAutobus(), itemEditarCorridaTramo.getFecCorrida(), fechorSalidaOriginalH, itemEditarCorridaTramo.getLsEsquemaTramoNova(), itemEditarCorridaTramo.getNodo(), itemEditarCorridaTramo.getClaseServicio(), itemEditarCorridaTramo.getStatusCorrida());
- for (CorridaTramo corridaTramo : lsCorridaTramo) {
- Corrida corrida = corridaService.buscarCorridaAtivaPorId(new Corrida.Id(itemEditarCorridaTramo.getCorridaId(),itemEditarCorridaTramo.getFecCorrida() ));
+ List lsCorridaTramoNovas = criaCorridaTramoList(esquemaCorrida.getAutoBus(), dataCorrida, fechorSalidaOriginalH,esquemaTramoNovoList, null, esquemaCorrida.getClaseServicio(), esquemaCorrida.getStatusCorrida());
+ Corrida corrida = corridaService.buscarCorridaAtivaPorId(new Corrida.Id(esquemaCorrida.getNumCorrida(),dataCorrida ));
+ for (CorridaTramo corridaTramo : lsCorridaTramoNovas) {
corridaTramo.setCorrida(corrida);
- suscribir(corridaTramo);
}
+ return lsCorridaTramoNovas;
+
}
+
/**
@@ -414,21 +339,6 @@ public class CorridaTramoServiceImpl implements CorridaTramoService {
}
}
- private List inativaCorridasTramosInstanciaNovasCorridasTramos(ItemEditarCorridaTramo itemEditarCorridaTramo,
- List corridaTramoList) {
- //Inativa corrida tramo
- List corridaTramoListNovo = new ArrayList();
- for (CorridaTramo corridaTramo : corridaTramoList) {
- corridaTramo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
- corridaTramo.setFecmodif(new Date());
- corridaTramo.setActivo(0);
- corridaTramoDAO.actualizacion(corridaTramo);
-
- }
- return corridaTramoListNovo;
- }
-
-
private List getDiaDeLaSemana(TramoTiempo tramoTiempo) {
List diasValidos = new ArrayList();
diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/ItemEditarCorridaTramo.java b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/ItemEditarCorridaTramo.java
deleted file mode 100644
index 83f8fa22c..000000000
--- a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/ItemEditarCorridaTramo.java
+++ /dev/null
@@ -1,286 +0,0 @@
-package com.rjconsultores.ventaboletos.vo.esquemaoperacional;
-
-import java.util.Date;
-import java.util.List;
-
-import com.rjconsultores.ventaboletos.entidad.Autobus;
-import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
-import com.rjconsultores.ventaboletos.entidad.EsquemaTramo;
-import com.rjconsultores.ventaboletos.entidad.Nodo;
-
-public class ItemEditarCorridaTramo {
- private Integer secuencia;
- private String descParada;
- private Integer paradaId;
- private String estancia;
- private String estado;
- private Integer estadoId;
- private Date tempoEstancia;
- private Date tempoExcecao;
- private String msgError;
- private Date fechortarjetaviaje;
- private String plataforma;
- private String fechorllegada;
- private Date fechaLlegada;
- private Date fechaLlegadaNormal;
- private Integer difFuso;
- private String tipoPassagem;
- private String fechorllegadaHusoVerano;
- private Date fechaLlegadaHusoVerano;
- private Date periodoInicial;
- private Date periodoFinal;
- private boolean isTramoEditado;
- private boolean isExcluido;
- private boolean isAdicionado;
- private Date fecCorrida;
- private Integer corridaId;
- private Autobus autobus;
- private List lsEsquemaTramoNova;
- private ClaseServicio claseServicio;
- private String statusCorrida;
- private Nodo nodo;
-
-
-
- public List getLsEsquemaTramoNova() {
- return lsEsquemaTramoNova;
- }
-
- public void setLsEsquemaTramoNova(List lsEsquemaTramoNova) {
- this.lsEsquemaTramoNova = lsEsquemaTramoNova;
- }
-
- public Date getFecCorrida() {
- return fecCorrida;
- }
-
- public void setFecCorrida(Date fecCorrida) {
- this.fecCorrida = fecCorrida;
- }
-
- public Integer getCorridaId() {
- return corridaId;
- }
-
- public void setCorridaId(Integer corridaId) {
- this.corridaId = corridaId;
- }
-
- public boolean isExcluido() {
- return isExcluido;
- }
-
- public void setExcluido(boolean isExcluido) {
- this.isExcluido = isExcluido;
- }
-
- public boolean isAdicionado() {
- return isAdicionado;
- }
-
- public void setAdicionado(boolean isAdicionado) {
- this.isAdicionado = isAdicionado;
- }
-
- public boolean isTramoEditado() {
- return isTramoEditado;
- }
-
- public void setTramoEditado(boolean isTramoEditado) {
- this.isTramoEditado = isTramoEditado;
- }
-
- public Integer getSecuencia() {
- return secuencia;
- }
-
- public void setSecuencia(Integer secuencia) {
- this.secuencia = secuencia;
- }
-
- public String getDescParada() {
- return descParada;
- }
-
- public void setDescParada(String descParada) {
- this.descParada = descParada;
- }
-
- public Integer getParadaId() {
- return paradaId;
- }
-
- public void setParadaId(Integer paradaId) {
- this.paradaId = paradaId;
- }
-
- public String getEstancia() {
- return estancia;
- }
-
- public void setEstancia(String estancia) {
- this.estancia = estancia;
- }
-
- public String getEstado() {
- return estado;
- }
-
- public void setEstado(String estado) {
- this.estado = estado;
- }
-
- public Integer getEstadoId() {
- return estadoId;
- }
-
- public void setEstadoId(Integer estadoId) {
- this.estadoId = estadoId;
- }
-
- public Date getTempoEstancia() {
- return tempoEstancia;
- }
-
- public void setTempoEstancia(Date tempoEstancia) {
- this.tempoEstancia = tempoEstancia;
- }
-
- public Date getTempoExcecao() {
- return tempoExcecao;
- }
-
- public void setTempoExcecao(Date tempoExcecao) {
- this.tempoExcecao = tempoExcecao;
- }
-
- public String getMsgError() {
- return msgError;
- }
-
- public void setMsgError(String msgError) {
- this.msgError = msgError;
- }
-
- public Date getFechortarjetaviaje() {
- return fechortarjetaviaje;
- }
-
- public void setFechortarjetaviaje(Date fechortarjetaviaje) {
- this.fechortarjetaviaje = fechortarjetaviaje;
- }
-
- public String getPlataforma() {
- return plataforma;
- }
-
- public void setPlataforma(String plataforma) {
- this.plataforma = plataforma;
- }
-
- public String getFechorllegada() {
- return fechorllegada;
- }
-
- public void setFechorllegada(String fechorllegada) {
- this.fechorllegada = fechorllegada;
- }
-
- public Date getFechaLlegada() {
- return fechaLlegada;
- }
-
- public void setFechaLlegada(Date fechaLlegada) {
- this.fechaLlegada = fechaLlegada;
- }
-
- public Date getFechaLlegadaNormal() {
- return fechaLlegadaNormal;
- }
-
- public void setFechaLlegadaNormal(Date fechaLlegadaNormal) {
- this.fechaLlegadaNormal = fechaLlegadaNormal;
- }
-
- public Integer getDifFuso() {
- return difFuso;
- }
-
- public void setDifFuso(Integer difFuso) {
- this.difFuso = difFuso;
- }
-
- public String getTipoPassagem() {
- return tipoPassagem;
- }
-
- public void setTipoPassagem(String tipoPassagem) {
- this.tipoPassagem = tipoPassagem;
- }
-
- public String getFechorllegadaHusoVerano() {
- return fechorllegadaHusoVerano;
- }
-
- public void setFechorllegadaHusoVerano(String fechorllegadaHusoVerano) {
- this.fechorllegadaHusoVerano = fechorllegadaHusoVerano;
- }
-
- public Date getFechaLlegadaHusoVerano() {
- return fechaLlegadaHusoVerano;
- }
-
- public void setFechaLlegadaHusoVerano(Date fechaLlegadaHusoVerano) {
- this.fechaLlegadaHusoVerano = fechaLlegadaHusoVerano;
- }
-
- public Date getPeriodoInicial() {
- return periodoInicial;
- }
-
- public void setPeriodoInicial(Date periodoInicial) {
- this.periodoInicial = periodoInicial;
- }
-
- public Date getPeriodoFinal() {
- return periodoFinal;
- }
-
- public void setPeriodoFinal(Date periodoFinal) {
- this.periodoFinal = periodoFinal;
- }
-
- public Autobus getAutobus() {
- return autobus;
- }
-
- public void setAutobus(Autobus autobus) {
- this.autobus = autobus;
- }
-
- public ClaseServicio getClaseServicio() {
- return claseServicio;
- }
-
- public void setClaseServicio(ClaseServicio claseServicio) {
- this.claseServicio = claseServicio;
- }
-
- public String getStatusCorrida() {
- return statusCorrida;
- }
-
- public void setStatusCorrida(String statusCorrida) {
- this.statusCorrida = statusCorrida;
- }
-
- public Nodo getNodo() {
- return nodo;
- }
-
- public void setNodo(Nodo nodo) {
- this.nodo = nodo;
- }
-
-
-}