diff --git a/pom.xml b/pom.xml index 57fe82c99..48437e20b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.8.1 + 1.9.0 rj-releases diff --git a/src/com/rjconsultores/ventaboletos/dao/CorridaInfoDAO.java b/src/com/rjconsultores/ventaboletos/dao/CorridaInfoDAO.java new file mode 100644 index 000000000..4f429f748 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/CorridaInfoDAO.java @@ -0,0 +1,11 @@ +package com.rjconsultores.ventaboletos.dao; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.CorridaInfo; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorridaInfo; + +public interface CorridaInfoDAO extends GenericDAO { + + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaInfoDAO.java b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaInfoDAO.java new file mode 100644 index 000000000..805cf7aac --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaInfoDAO.java @@ -0,0 +1,12 @@ +package com.rjconsultores.ventaboletos.dao; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorridaInfo; + +public interface EsquemaCorridaInfoDAO extends GenericDAO { + + List obtenerPorEsquemaCorrida(EsquemaCorrida esquemaCorrida); + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaInfoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaInfoHibernateDAO.java new file mode 100644 index 000000000..afe2ab235 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CorridaInfoHibernateDAO.java @@ -0,0 +1,19 @@ +package com.rjconsultores.ventaboletos.dao.hibernate; + +import org.hibernate.SessionFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Repository; + +import com.rjconsultores.ventaboletos.dao.CorridaInfoDAO; +import com.rjconsultores.ventaboletos.entidad.CorridaInfo; + +@Repository("corridaInfoDAO") +public class CorridaInfoHibernateDAO extends GenericHibernateDAO implements CorridaInfoDAO { + + @Autowired + public CorridaInfoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } +} + diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaInfoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaInfoHibernateDAO.java new file mode 100644 index 000000000..465d4eeb7 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaInfoHibernateDAO.java @@ -0,0 +1,32 @@ +package com.rjconsultores.ventaboletos.dao.hibernate; + +import java.util.List; + +import org.hibernate.Criteria; +import org.hibernate.SessionFactory; +import org.hibernate.criterion.Restrictions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Repository; + +import com.rjconsultores.ventaboletos.dao.EsquemaCorridaInfoDAO; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorridaInfo; + +@Repository("esquemaCorridaInfoDAO") +public class EsquemaCorridaInfoHibernateDAO extends GenericHibernateDAO implements EsquemaCorridaInfoDAO { + + @Autowired + public EsquemaCorridaInfoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @Override + public List obtenerPorEsquemaCorrida(EsquemaCorrida esquemaCorrida) { + + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("esquemaCorrida", esquemaCorrida)); + return c.list(); + } +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/CorridaInfo.java b/src/com/rjconsultores/ventaboletos/entidad/CorridaInfo.java new file mode 100644 index 000000000..8cd5799bf --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/CorridaInfo.java @@ -0,0 +1,203 @@ +/* + * 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.JoinColumns; +import javax.persistence.ManyToOne; +import javax.persistence.OneToOne; +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 org.hibernate.annotations.NotFound; +import org.hibernate.annotations.NotFoundAction; + +import br.com.rjconsultores.auditador.annotations.AuditarClasse; +import br.com.rjconsultores.auditador.annotations.NaoAuditar; +import br.com.rjconsultores.auditador.interfaces.Auditavel; + +/** + * + * @author Wallace + */ +@Entity +@SequenceGenerator(name = "CORRIDA_INFO_SEQ", sequenceName = "CORRIDA_INFO_SEQ", allocationSize = 1) +@AuditarClasse(nome = "CorridaInfo", tela = "auditarClasse.CorridaInfo") +@Table(name = "CORRIDA_INFO") +public class CorridaInfo implements Serializable, Auditavel { + + private static final long serialVersionUID = 1L; + @Id + @Basic(optional = false) + @Column(name = "CORRIDAINFO_ID") + @GeneratedValue(strategy = GenerationType.AUTO, generator = "CORRIDA_INFO_SEQ") + private Integer corridaInfoId; + + @Column(name = "ACTIVO") + private Boolean activo; + + @Column(name = "FECMODIF") + @Temporal(TemporalType.TIMESTAMP) + private Date fecmodif; + @Column(name = "USUARIO_ID") + private Integer usuarioId; + + @JoinColumn(name = "ORIGEN_ID", referencedColumnName = "PARADA_ID") + @ManyToOne + private Parada origem; + @JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID") + @ManyToOne + private Parada destino; + + @Column(name = "INFOCORRIDA") + private String infoCorrida; + + @OneToOne + @NotFound(action = NotFoundAction.IGNORE) + @JoinColumns({ + @JoinColumn(name = "CORRIDA_ID", referencedColumnName = "CORRIDA_ID"), + @JoinColumn(name = "FECCORRIDA", referencedColumnName = "FECCORRIDA") }) + private Corrida corrida; + + @Transient + @NaoAuditar + private CorridaInfo corridaInfoClone; + + public CorridaInfo() { + } + + public Integer getCorridaInfoId() { + return corridaInfoId; + } + + + public void setCorridaInfoId(Integer corridaInfoId) { + this.corridaInfoId = corridaInfoId; + } + + + public CorridaInfo getCorridaInfoClone() { + return corridaInfoClone; + } + + + public void setCorridaInfoClone(CorridaInfo corridaInfoClone) { + this.corridaInfoClone = corridaInfoClone; + } + + + 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 Parada getOrigem() { + return origem; + } + + public void setOrigem(Parada origem) { + this.origem = origem; + } + + public Parada getDestino() { + return destino; + } + + public void setDestino(Parada destino) { + this.destino = destino; + } + + public String getInfoCorrida() { + return infoCorrida; + } + + public void setInfoCorrida(String infoCorrida) { + this.infoCorrida = infoCorrida; + } + + public Corrida getCorrida() { + return corrida; + } + + public void setCorrida(Corrida corrida) { + this.corrida = corrida; + } + + @Override + public int hashCode() { + int hash = 0; + hash += (getCorridaInfoId() != null ? getCorridaInfoId().hashCode() : 0); + return hash; + } + + @Override + public boolean equals(Object object) { + if (!(object instanceof CorridaInfo)) { + return false; + } + CorridaInfo other = (CorridaInfo) object; + if ((this.getCorridaInfoId() == null && other.getCorridaInfoId() != null) || (this.getCorridaInfoId() != null && !this.getCorridaInfoId().equals(other.getCorridaInfoId()))) { + return false; + } + return true; + } + + @Override + public String toString() { + return "com.rjconsultores.ventaboletos.entidad.test.CorridaInfo[corridaInfoId=" + corridaInfoId + "]"; + } + + + @Override + public void clonar() throws CloneNotSupportedException { + corridaInfoClone = new CorridaInfo(); + corridaInfoClone = (CorridaInfo) this.clone(); + Hibernate.initialize(corridaInfoClone.getCorrida()); + } + + @Override + public CorridaInfo getCloneObject() throws CloneNotSupportedException { + return corridaInfoClone; + } + + @Override + public String getTextoInclusaoExclusao() { + return String.format("CorridaInfo - Origem [%s] - Destino [%s] - Informaaca [%s]", getOrigem() != null ? getOrigem().getDescparada() : "", + getDestino() != null ? getDestino().getDescparada() : "", getInfoCorrida() != null ? getInfoCorrida() : ""); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/CorridaTramo.java b/src/com/rjconsultores/ventaboletos/entidad/CorridaTramo.java index 1a5c2f076..e6e9c420b 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/CorridaTramo.java +++ b/src/com/rjconsultores/ventaboletos/entidad/CorridaTramo.java @@ -117,7 +117,7 @@ public class CorridaTramo implements Serializable { @Column(name = "fechorsalidaoriginalh") @Temporal(javax.persistence.TemporalType.TIMESTAMP) private Date fechorSalidaOriginalH; - + public Boolean getIndmanttarjeta() { return indmanttarjeta; } diff --git a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java index c60cc4c1a..115f1ba22 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java +++ b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java @@ -197,6 +197,10 @@ public class EsquemaCorrida implements Serializable, Auditavel { @AuditarLista(auditarEntidades = true, nome = "Embarque/Desembarque") private List lsEsquemaCorridaEmbarqueDesembarque; + @OneToMany(mappedBy = "esquemaCorrida", cascade = CascadeType.ALL) + @AuditarLista(auditarEntidades = true, nome = "Info Tramo>") + private List lsEsquemaCorridaInfo; + @Transient @NaoAuditar private EsquemaCorrida esquemaCorridaClone; @@ -735,6 +739,17 @@ public class EsquemaCorrida implements Serializable, Auditavel { } esquemaCorridaClone.setLsEsquemaCorridaEmbarqueDesembarque(lsClones); } + + if(this.getLsEsquemaCorridaInfo() != null) { + List lsClones = new ArrayList(); + for (EsquemaCorridaInfo esquemaCorridaInfo : this.getLsEsquemaCorridaInfo()) { + if(BooleanUtils.isTrue(esquemaCorridaInfo.getActivo())) { + esquemaCorridaInfo.clonar(); + lsClones.add(esquemaCorridaInfo.getCloneObject()); + } + } + esquemaCorridaClone.setLsEsquemaCorridaInfo(lsClones); + } } @@ -907,5 +922,14 @@ public class EsquemaCorrida implements Serializable, Auditavel { public void setIndNaoImprimeBpe(String indNaoImprimeBpe) { this.indNaoImprimeBpe = indNaoImprimeBpe; } - + + public List getLsEsquemaCorridaInfo() { + return lsEsquemaCorridaInfo; + } + + public void setLsEsquemaCorridaInfo(List lsEsquemaCorridaInfo) { + this.lsEsquemaCorridaInfo = lsEsquemaCorridaInfo; + } + + } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorridaInfo.java b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorridaInfo.java new file mode 100644 index 000000000..555c960a9 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorridaInfo.java @@ -0,0 +1,188 @@ +/* + * 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.AuditarClasse; +import br.com.rjconsultores.auditador.annotations.NaoAuditar; +import br.com.rjconsultores.auditador.interfaces.Auditavel; + +/** + * + * @author Wallace + */ +@Entity +@SequenceGenerator(name = "ESQUEMA_CORRIDA_INFO_SEQ", sequenceName = "ESQUEMA_CORRIDA_INFO_SEQ", allocationSize = 1) +@AuditarClasse(nome = "EsquemaCorridaInfo", tela = "auditarClasse.EsquemaCorridaInfo") +@Table(name = "ESQUEMA_CORRIDA_INFO") +public class EsquemaCorridaInfo implements Serializable, Auditavel { + + private static final long serialVersionUID = 1L; + @Id + @Basic(optional = false) + @Column(name = "ESQUEMACORRIDAINFO_ID") + @GeneratedValue(strategy = GenerationType.AUTO, generator = "ESQUEMA_CORRIDA_INFO_SEQ") + private Integer esquemaCorridaInfoId; + + @Column(name = "ACTIVO") + private Boolean activo; + + @Column(name = "FECMODIF") + @Temporal(TemporalType.TIMESTAMP) + private Date fecmodif; + @Column(name = "USUARIO_ID") + private Integer usuarioId; + + @JoinColumn(name = "ORIGEN_ID", referencedColumnName = "PARADA_ID") + @ManyToOne + private Parada origem; + @JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID") + @ManyToOne + private Parada destino; + + @Column(name = "INFOCORRIDA") + private String infoCorrida; + + @JoinColumn(name = "ESQUEMACORRIDA_ID", referencedColumnName = "ESQUEMACORRIDA_ID") + @ManyToOne + private EsquemaCorrida esquemaCorrida; + + @Transient + @NaoAuditar + private EsquemaCorridaInfo esquemaCorridaInfoClone; + + public EsquemaCorridaInfo() { + } + + public EsquemaCorridaInfo(Integer esquemaCorridaInfoId) { + this.esquemaCorridaInfoId = esquemaCorridaInfoId; + } + + public Integer getEsquemaCorridaInfoId() { + return esquemaCorridaInfoId; + } + + public void setEsquemaCorridaInfoId(Integer esquemaCorridaInfoId) { + this.esquemaCorridaInfoId = esquemaCorridaInfoId; + } + + 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 EsquemaCorrida getEsquemaCorrida() { + return esquemaCorrida; + } + + public void setEsquemaCorrida(EsquemaCorrida esquemaCorrida) { + this.esquemaCorrida = esquemaCorrida; + } + + public Parada getOrigem() { + return origem; + } + + public void setOrigem(Parada origem) { + this.origem = origem; + } + + public Parada getDestino() { + return destino; + } + + public void setDestino(Parada destino) { + this.destino = destino; + } + + public String getInfoCorrida() { + return infoCorrida; + } + + public void setInfoCorrida(String infoCorrida) { + this.infoCorrida = infoCorrida; + } + + @Override + public int hashCode() { + int hash = 0; + hash += (getEsquemaCorridaInfoId() != null ? getEsquemaCorridaInfoId().hashCode() : 0); + return hash; + } + + @Override + public boolean equals(Object object) { + if (!(object instanceof EsquemaCorridaInfo)) { + return false; + } + EsquemaCorridaInfo other = (EsquemaCorridaInfo) object; + if ((this.getEsquemaCorridaInfoId() == null && other.getEsquemaCorridaInfoId() != null) || (this.getEsquemaCorridaInfoId() != null && !this.getEsquemaCorridaInfoId().equals(other.getEsquemaCorridaInfoId()))) { + return false; + } + return true; + } + + @Override + public String toString() { + return "com.rjconsultores.ventaboletos.entidad.test.EsquemaCorridaInfo[esquemaCorridaInfoId=" + esquemaCorridaInfoId + "]"; + } + + + @Override + public void clonar() throws CloneNotSupportedException { + esquemaCorridaInfoClone = new EsquemaCorridaInfo(); + esquemaCorridaInfoClone = (EsquemaCorridaInfo) this.clone(); + Hibernate.initialize(esquemaCorridaInfoClone.getEsquemaCorrida()); + } + + @Override + public EsquemaCorridaInfo getCloneObject() throws CloneNotSupportedException { + return esquemaCorridaInfoClone; + } + + @Override + public String getTextoInclusaoExclusao() { + return String.format("EsquemaCorridaInfo - Origem [%s] - Destino [%s] - Informaaca [%s]", getOrigem() != null ? getOrigem().getDescparada() : "", + getDestino() != null ? getDestino().getDescparada() : "", getInfoCorrida() != null ? getInfoCorrida() : ""); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/service/CorridaInfoService.java b/src/com/rjconsultores/ventaboletos/service/CorridaInfoService.java new file mode 100644 index 000000000..2a794ded2 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/CorridaInfoService.java @@ -0,0 +1,8 @@ +package com.rjconsultores.ventaboletos.service; + +import com.rjconsultores.ventaboletos.entidad.CorridaInfo; + +public interface CorridaInfoService extends GenericService { + + +} diff --git a/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaInfoService.java b/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaInfoService.java new file mode 100644 index 000000000..c9944e710 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaInfoService.java @@ -0,0 +1,12 @@ +package com.rjconsultores.ventaboletos.service; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorridaInfo; + +public interface EsquemaCorridaInfoService extends GenericService { + + List obtenerPorEsquemaCorrida(EsquemaCorrida esquemaCorrida); + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaInfoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaInfoServiceImpl.java new file mode 100644 index 000000000..07cab1cf6 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaInfoServiceImpl.java @@ -0,0 +1,62 @@ +package com.rjconsultores.ventaboletos.service.impl; + +import java.util.Calendar; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.rjconsultores.ventaboletos.dao.CorridaInfoDAO; +import com.rjconsultores.ventaboletos.entidad.CorridaInfo; +import com.rjconsultores.ventaboletos.service.CorridaInfoService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("corridaInfoService") +public class CorridaInfoServiceImpl implements CorridaInfoService { + + @Autowired + private CorridaInfoDAO corridaInfoDAO; + + @Override + public List obtenerTodos() { + return corridaInfoDAO.obtenerTodos(); + } + + @Override + public CorridaInfo obtenerID(Integer id) { + return corridaInfoDAO.obtenerID(id); + } + + @Transactional + @Override + public CorridaInfo suscribir( CorridaInfo entidad) { + + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + + return corridaInfoDAO.suscribir(entidad); + } + + @Transactional + @Override + public CorridaInfo actualizacion(CorridaInfo entidad) { + + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return corridaInfoDAO.actualizacion(entidad); + } + + @Transactional + @Override + public void borrar(CorridaInfo entidad) { + + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + corridaInfoDAO.actualizacion(entidad); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java index 79ec4b37c..f701e1c33 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java @@ -38,12 +38,14 @@ import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.Corrida; import com.rjconsultores.ventaboletos.entidad.Corrida.Id; import com.rjconsultores.ventaboletos.entidad.CorridaCtrl; +import com.rjconsultores.ventaboletos.entidad.CorridaInfo; import com.rjconsultores.ventaboletos.entidad.CorridaTramo; import com.rjconsultores.ventaboletos.entidad.DetDiagramaAutobus; import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.EsquemaAsiento; import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorridaInfo; import com.rjconsultores.ventaboletos.entidad.EsquemaTramo; import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.Marca; @@ -65,9 +67,11 @@ import com.rjconsultores.ventaboletos.service.BoletoService; import com.rjconsultores.ventaboletos.service.ClienteService; import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.CorridaCtrlService; +import com.rjconsultores.ventaboletos.service.CorridaInfoService; import com.rjconsultores.ventaboletos.service.CorridaService; import com.rjconsultores.ventaboletos.service.DetDiagramaAutobusService; import com.rjconsultores.ventaboletos.service.EsquemaAsientoService; +import com.rjconsultores.ventaboletos.service.EsquemaCorridaInfoService; import com.rjconsultores.ventaboletos.service.EsquemaCorridaService; import com.rjconsultores.ventaboletos.service.EsquemaTramoService; import com.rjconsultores.ventaboletos.service.ReservaEspecialClienteService; @@ -142,6 +146,10 @@ public class CorridaServiceImpl implements CorridaService { VigenciaTarifaService vigenciaTarifaService; @Autowired ClienteService clienteService; + @Autowired + private CorridaInfoService corridaInfoService; + @Autowired + private EsquemaCorridaInfoService esquemaCorridaInfoService; @Autowired @@ -951,6 +959,7 @@ public class CorridaServiceImpl implements CorridaService { } corrida = generarCorrida(esquemaCorrida, dataGeracao, false, isFeriado); + generarCorridaInfo(corrida, esquemaCorrida); corridaPisoExtra = null; corridaPisoExtra2 = null; @@ -1727,6 +1736,21 @@ public class CorridaServiceImpl implements CorridaService { return corridaDAO.buscarCorridaAtivaPorId(id); } + private void generarCorridaInfo(Corrida corrida, EsquemaCorrida esquemaCorrida) { + + List lsEsquemaCorridaInfo = esquemaCorridaInfoService.obtenerPorEsquemaCorrida(esquemaCorrida); + + for (EsquemaCorridaInfo esquemaCorridaInfo : lsEsquemaCorridaInfo) { + + CorridaInfo corridaInfo = new CorridaInfo(); + corridaInfo.setOrigem(esquemaCorridaInfo.getOrigem()); + corridaInfo.setDestino(esquemaCorridaInfo.getDestino()); + corridaInfo.setCorrida(corrida); + corridaInfo.setInfoCorrida(esquemaCorridaInfo.getInfoCorrida()); + corridaInfoService.suscribir(corridaInfo); + } + + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaInfoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaInfoServiceImpl.java new file mode 100644 index 000000000..62800b492 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaInfoServiceImpl.java @@ -0,0 +1,68 @@ +package com.rjconsultores.ventaboletos.service.impl; + +import java.util.Calendar; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.rjconsultores.ventaboletos.dao.EsquemaCorridaInfoDAO; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorridaInfo; +import com.rjconsultores.ventaboletos.service.EsquemaCorridaInfoService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("esquemaCorridaInfoService") +public class EsquemaCorridaInfoServiceImpl implements EsquemaCorridaInfoService { + + @Autowired + private EsquemaCorridaInfoDAO esquemaCorridaInfoDAO; + + @Override + public List obtenerTodos() { + return esquemaCorridaInfoDAO.obtenerTodos(); + } + + @Override + public EsquemaCorridaInfo obtenerID(Integer id) { + return esquemaCorridaInfoDAO.obtenerID(id); + } + + @Transactional + @Override + public EsquemaCorridaInfo suscribir( EsquemaCorridaInfo entidad) { + + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + + return esquemaCorridaInfoDAO.suscribir(entidad); + } + + @Transactional + @Override + public EsquemaCorridaInfo actualizacion(EsquemaCorridaInfo entidad) { + + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return esquemaCorridaInfoDAO.actualizacion(entidad); + } + + @Transactional + @Override + public void borrar(EsquemaCorridaInfo entidad) { + + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + esquemaCorridaInfoDAO.actualizacion(entidad); + } + + @Override + public List obtenerPorEsquemaCorrida(EsquemaCorrida esquemaCorrida) { + return esquemaCorridaInfoDAO.obtenerPorEsquemaCorrida(esquemaCorrida); + } + +}