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