From 6499d229c3485e289a614446d16efc7ab6b3ff21 Mon Sep 17 00:00:00 2001 From: leonardo Date: Tue, 2 Aug 2016 20:46:31 +0000 Subject: [PATCH] fixes bug #7588 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@58654 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/CasetaPeajeDAO.java | 2 + .../dao/CasetaPeajeExcepcionDAO.java | 10 + .../hibernate/CalcularPeajeHibernateDAO.java | 109 ++++++++++- .../CasetaPeajeExcepcionHibernateDAO.java | 40 ++++ .../hibernate/CasetaPeajeHibernateDAO.java | 13 ++ .../ventaboletos/entidad/CasetaPeaje.java | 19 +- .../entidad/CasetaPeajeExcepcion.java | 183 ++++++++++++++++++ .../ventaboletos/entidad/ExcepcionPeaje.java | 3 +- .../entidad/ExcepcionPeajeVigencia.java | 14 ++ .../service/CasetaPeajeExcepcionService.java | 10 + .../service/CasetaPeajeService.java | 2 + .../impl/CasetaPeajeExcepcionServiceImpl.java | 60 ++++++ .../service/impl/CasetaPeajeServiceImpl.java | 6 + 13 files changed, 460 insertions(+), 11 deletions(-) create mode 100644 src/com/rjconsultores/ventaboletos/dao/CasetaPeajeExcepcionDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/CasetaPeajeExcepcionHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/entidad/CasetaPeajeExcepcion.java create mode 100644 src/com/rjconsultores/ventaboletos/service/CasetaPeajeExcepcionService.java create mode 100644 src/com/rjconsultores/ventaboletos/service/impl/CasetaPeajeExcepcionServiceImpl.java diff --git a/src/com/rjconsultores/ventaboletos/dao/CasetaPeajeDAO.java b/src/com/rjconsultores/ventaboletos/dao/CasetaPeajeDAO.java index ab4a4946a..cd21b2e90 100644 --- a/src/com/rjconsultores/ventaboletos/dao/CasetaPeajeDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/CasetaPeajeDAO.java @@ -3,9 +3,11 @@ package com.rjconsultores.ventaboletos.dao; import java.util.List; import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; +import com.rjconsultores.ventaboletos.entidad.CasetaPeajeExcepcion; public interface CasetaPeajeDAO extends GenericDAO { List buscar(String casetaPeajeDesc); List buscarTodosOrdenadoPorDescricao(); + void deletarVigencias(List cpes); } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/dao/CasetaPeajeExcepcionDAO.java b/src/com/rjconsultores/ventaboletos/dao/CasetaPeajeExcepcionDAO.java new file mode 100644 index 000000000..f02a977ef --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/CasetaPeajeExcepcionDAO.java @@ -0,0 +1,10 @@ +package com.rjconsultores.ventaboletos.dao; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; +import com.rjconsultores.ventaboletos.entidad.CasetaPeajeExcepcion; + +public interface CasetaPeajeExcepcionDAO extends GenericDAO { + public List obtenerPorCasetaPeaje(CasetaPeaje caseta); +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java index e340f01f3..332378b2b 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CalcularPeajeHibernateDAO.java @@ -7,27 +7,28 @@ import java.sql.SQLException; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Calendar; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; + import org.hibernate.Query; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; + import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.dao.CalcularPeajeDAO; import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; -import com.rjconsultores.ventaboletos.entidad.EmpresaImposto; -import com.rjconsultores.ventaboletos.entidad.Estado; +import com.rjconsultores.ventaboletos.entidad.CasetaPeajeExcepcion; +import com.rjconsultores.ventaboletos.entidad.ExcepcionPeaje; +import com.rjconsultores.ventaboletos.entidad.ExcepcionPeajeVigencia; import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.Parada; -import com.rjconsultores.ventaboletos.entidad.Peaje; import com.rjconsultores.ventaboletos.entidad.Ruta; -import com.rjconsultores.ventaboletos.entidad.RutaCaseta; -import com.rjconsultores.ventaboletos.entidad.RutaEmpresa; -import com.rjconsultores.ventaboletos.entidad.RutaSecuencia; -import com.rjconsultores.ventaboletos.entidad.Tramo; -import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @Repository("calcularPeajeDAO") @@ -128,6 +129,8 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO lsRuta, OrgaoConcedente orgao) { List batchSql = new ArrayList(); + List batchExcepcionPeajeVigenciaSql = new ArrayList(); + List peajes = new ArrayList(); for (Ruta ruta : lsRuta) { List lsObj = buscarCasetasPeajeWithinTramo(ruta); @@ -136,7 +139,15 @@ public class CalcularPeajeHibernateDAO extends GenericHibernateDAO buscaCasetas(List pvo){ + List ids = new ArrayList(); + Map casetas = new HashMap(); + for(PeajeVO p : pvo){ + ids.add(p.casetaPeajeId); + } + Query query = getSession().createQuery("select c from CasetaPeaje c where c.casetaPeajeId in (:ids) "); + query.setParameterList("ids", ids); + for (CasetaPeaje c : (List)query.list()){ + casetas.put(c.getCasetaPeajeId(), c); + } + return casetas; + } + + private ExcepcionPeaje getExcepcion(Integer rutaId, Integer origenId, Integer destinoId){ + Query query = getSession().createQuery("select e from ExcepcionPeaje e where e.ruta.rutaId = :rutaId "+ + "and e.origem.paradaId = :origenId and e.destino.paradaId = :destinoId "); + + query.setInteger("rutaId", rutaId); + query.setInteger("origenId", origenId); + query.setInteger("destinoId", destinoId); + return (ExcepcionPeaje)query.uniqueResult(); + } + + private Parada getParada(Integer paradaId){ + return (Parada)getSession().get(Parada.class, paradaId); + } + + private Ruta getRuta(Integer rutaId){ + return (Ruta)getSession().get(Ruta.class, rutaId); + } + + @Transactional + private void recalcularExcecoesPedagio(List pvos){ + Map casetas = buscaCasetas(pvos); + Map excepciones = new HashMap(); + for (PeajeVO peaje : pvos){ + ExcepcionPeaje excepcion = getExcepcion(peaje.rutaId, peaje.origenId, peaje.destinoId); + if (excepcion == null){ + excepcion = new ExcepcionPeaje(); + excepcion.setActivo(true); + excepcion.setDestino(getParada(peaje.destinoId)); + excepcion.setFecmodif(Calendar.getInstance().getTime()); + excepcion.setOrigem(getParada(peaje.origenId)); + excepcion.setRuta(getRuta(peaje.rutaId)); + excepcion.setUsuarioId(1); + } + + CasetaPeaje caseta = casetas.get(peaje.casetaPeajeId); + + for (CasetaPeajeExcepcion cpe : caseta.getLsCasetaPeajeExcepcion()){ + ExcepcionPeajeVigencia epv = new ExcepcionPeajeVigencia(); + epv.setActivo(cpe.getActivo()); + epv.setExcepcionPeaje(excepcion); + epv.setFecmodif(Calendar.getInstance().getTime()); + epv.setFecVentaFin(cpe.getFecVentaFin()); + epv.setFecVentaIni(cpe.getFecVentaIni()); + epv.setHoraFin(cpe.getHoraFin()); + epv.setHoraIni(cpe.getHoraIni()); + epv.setINDDOMINGO(cpe.getINDDOMINGO()); + epv.setINDJUEVES(cpe.getINDJUEVES()); + epv.setINDLUNES(cpe.getINDLUNES()); + epv.setINDMARTES(cpe.getINDMARTES()); + epv.setINDMIERCOLES(cpe.getINDMIERCOLES()); + epv.setINDSABADO(cpe.getINDSABADO()); + epv.setINDVIERNES(cpe.getINDVIERNES()); + epv.setPrecio(cpe.getPrecio()); + epv.setUsuarioId(1); + epv.setCasetaPeaje(caseta); + excepcion.getLsExcepcionPeajeVigencia().add(epv); + } + + getSession().saveOrUpdate(excepcion); + } + } + private static class PeajeVO { private static final int LOW_PRECISION = 2; diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CasetaPeajeExcepcionHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CasetaPeajeExcepcionHibernateDAO.java new file mode 100644 index 000000000..ebc34c8d9 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CasetaPeajeExcepcionHibernateDAO.java @@ -0,0 +1,40 @@ +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.CasetaPeajeExcepcionDAO; +import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; +import com.rjconsultores.ventaboletos.entidad.CasetaPeajeExcepcion; + +@Repository("casetaPeajeExcepcionDAO") +public class CasetaPeajeExcepcionHibernateDAO extends GenericHibernateDAO implements CasetaPeajeExcepcionDAO { + + @Autowired + public CasetaPeajeExcepcionHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @Override + public List obtenerTodos() { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + return c.list(); + } + + @Override + public List obtenerPorCasetaPeaje(CasetaPeaje caseta) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("casetaPeaje", caseta)); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + return c.list(); + } +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CasetaPeajeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CasetaPeajeHibernateDAO.java index f3162896a..2f86e5786 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CasetaPeajeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CasetaPeajeHibernateDAO.java @@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.dao.hibernate; import java.util.List; import org.hibernate.Criteria; +import org.hibernate.Query; import org.hibernate.SessionFactory; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; @@ -12,6 +13,7 @@ import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.CasetaPeajeDAO; import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; +import com.rjconsultores.ventaboletos.entidad.CasetaPeajeExcepcion; @Repository("casetaPeajeDAO") public class CasetaPeajeHibernateDAO extends GenericHibernateDAO implements CasetaPeajeDAO { @@ -45,4 +47,15 @@ public class CasetaPeajeHibernateDAO extends GenericHibernateDAO cpes) { + for (CasetaPeajeExcepcion cpe : cpes) { + String hql = " update CasetaPeajeExcepcion set activo = false, fecModif = :fecModif, usuarioId = :usuarioId where casetaPeajeExcepcionId = " + cpe.getCasetaPeajeExcepcionId(); + Query sq = getSession().createQuery(hql); + sq.setTimestamp("fecModif", cpe.getFecmodif()); + sq.setInteger("usuarioId", cpe.getUsuarioId()); + sq.executeUpdate(); + } + } } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/entidad/CasetaPeaje.java b/src/com/rjconsultores/ventaboletos/entidad/CasetaPeaje.java index a2e966055..6eeb14597 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/CasetaPeaje.java +++ b/src/com/rjconsultores/ventaboletos/entidad/CasetaPeaje.java @@ -7,6 +7,7 @@ import java.util.Date; import java.util.List; import javax.persistence.Basic; +import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; @@ -16,11 +17,16 @@ import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; +import javax.persistence.OneToMany; import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import org.hibernate.annotations.Fetch; +import org.hibernate.annotations.FetchMode; +import org.hibernate.annotations.Where; + @Entity @SequenceGenerator(name = "CASETA_PEAJE_SEQ", sequenceName = "CASETA_PEAJE_SEQ", allocationSize = 1) @Table(name = "CASETA_PEAJE") @@ -45,7 +51,9 @@ public class CasetaPeaje implements Serializable, Comparable, Clone private Date fecmodif; @Column(name = "USUARIO_ID") private Integer usuarioId; - + @OneToMany(mappedBy = "casetaPeaje", fetch=FetchType.LAZY, cascade = CascadeType.ALL) + //@Fetch(FetchMode.SELECT) + private List lsCasetaPeajeExcepcion = new ArrayList(); @ManyToMany(fetch=FetchType.EAGER) @JoinTable(name = "RUTA_CASETA", joinColumns = { @JoinColumn(name = "CASETAPEAJE_ID") }, inverseJoinColumns = { @JoinColumn(name = "RUTASECUENCIA_ID") }) @@ -134,5 +142,14 @@ public class CasetaPeaje implements Serializable, Comparable, Clone public void setLsRutaSecuencia(List lsRutaSecuencia) { this.lsRutaSecuencia = lsRutaSecuencia; + } + + public List getLsCasetaPeajeExcepcion() { + return lsCasetaPeajeExcepcion; + } + + public void setLsCasetaPeajeExcepcion(List lsCasetaPeajeExcepcion) { + this.lsCasetaPeajeExcepcion = lsCasetaPeajeExcepcion; } + } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/entidad/CasetaPeajeExcepcion.java b/src/com/rjconsultores/ventaboletos/entidad/CasetaPeajeExcepcion.java new file mode 100644 index 000000000..6592f537b --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/CasetaPeajeExcepcion.java @@ -0,0 +1,183 @@ +package com.rjconsultores.ventaboletos.entidad; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +import javax.persistence.Basic; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.FetchType; +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; + +@Entity +@SequenceGenerator(name = "CASETA_PEAJE_EXCEPCION_SEQ", sequenceName = "CASETA_PEAJE_EXCEPCION_SEQ", allocationSize = 1) +@Table(name = "CASETA_PEAJE_EXCEPCION") +public class CasetaPeajeExcepcion implements Serializable, Comparable { + +private static final long serialVersionUID = 1L; + + @Id + @Basic(optional = false) + @Column(name = "CASETAPEAJEEXCEPCION_ID") + @GeneratedValue(strategy = GenerationType.AUTO, generator = "CASETA_PEAJE_EXCEPCION_SEQ") + private Integer casetaPeajeExcepcionId; + @Column(name = "ACTIVO") + private Boolean activo; + @Column(name = "FECMODIF") + @Temporal(TemporalType.TIMESTAMP) + private Date fecmodif; + @Column(name = "USUARIO_ID") + private Integer usuarioId; + @ManyToOne + @JoinColumn(name = "CASETAPEAJE_ID" , referencedColumnName = "CASETAPEAJE_ID") + private CasetaPeaje casetaPeaje; + @Column(name = "FECHAVENTAINI") + @Temporal(TemporalType.TIMESTAMP) + private java.util.Date fecVentaIni; + @Column(name = "FECHAVENTAFIN") + @Temporal(TemporalType.TIMESTAMP) + private java.util.Date fecVentaFin; + @Column(name = "FECHORINICIO") + @Temporal(TemporalType.TIME) + private Date horaIni; + @Column(name = "FECHORFINAL") + @Temporal(TemporalType.TIME) + private Date horaFin; + @Column(name = "INDLUNES") + private Boolean INDLUNES; + @Column(name = "INDMARTES") + private Boolean INDMARTES; + @Column(name = "INDMIERCOLES") + private Boolean INDMIERCOLES; + @Column(name = "INDJUEVES") + private Boolean INDJUEVES; + @Column(name = "INDVIERNES") + private Boolean INDVIERNES; + @Column(name = "INDSABADO") + private Boolean INDSABADO; + @Column(name = "INDDOMINGO") + private Boolean INDDOMINGO; + @Column(name = "PRECIO") + private BigDecimal precio; + + + public Integer getCasetaPeajeExcepcionId() { + return casetaPeajeExcepcionId; + } + public void setCasetaPeajeExcepcionId(Integer casetaPeajeExcepcionId) { + this.casetaPeajeExcepcionId = casetaPeajeExcepcionId; + } + 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 CasetaPeaje getCasetaPeaje() { + return casetaPeaje; + } + public void setCasetaPeaje(CasetaPeaje casetaPeaje) { + this.casetaPeaje = casetaPeaje; + } + public java.util.Date getFecVentaIni() { + return fecVentaIni; + } + public void setFecVentaIni(java.util.Date fecVentaIni) { + this.fecVentaIni = fecVentaIni; + } + public java.util.Date getFecVentaFin() { + return fecVentaFin; + } + public void setFecVentaFin(java.util.Date fecVentaFin) { + this.fecVentaFin = fecVentaFin; + } + public Date getHoraIni() { + return horaIni; + } + public void setHoraIni(Date horaIni) { + this.horaIni = horaIni; + } + public Date getHoraFin() { + return horaFin; + } + public void setHoraFin(Date horaFin) { + this.horaFin = horaFin; + } + public Boolean getINDLUNES() { + return INDLUNES; + } + public void setINDLUNES(Boolean iNDLUNES) { + INDLUNES = iNDLUNES; + } + public Boolean getINDMARTES() { + return INDMARTES; + } + public void setINDMARTES(Boolean iNDMARTES) { + INDMARTES = iNDMARTES; + } + public Boolean getINDMIERCOLES() { + return INDMIERCOLES; + } + public void setINDMIERCOLES(Boolean iNDMIERCOLES) { + INDMIERCOLES = iNDMIERCOLES; + } + public Boolean getINDJUEVES() { + return INDJUEVES; + } + public void setINDJUEVES(Boolean iNDJUEVES) { + INDJUEVES = iNDJUEVES; + } + public Boolean getINDVIERNES() { + return INDVIERNES; + } + public void setINDVIERNES(Boolean iNDVIERNES) { + INDVIERNES = iNDVIERNES; + } + public Boolean getINDSABADO() { + return INDSABADO; + } + public void setINDSABADO(Boolean iNDSABADO) { + INDSABADO = iNDSABADO; + } + public Boolean getINDDOMINGO() { + return INDDOMINGO; + } + public void setINDDOMINGO(Boolean iNDDOMINGO) { + INDDOMINGO = iNDDOMINGO; + } + public BigDecimal getPrecio() { + return precio; + } + public void setPrecio(BigDecimal precio) { + this.precio = precio; + } + @Override + public int compareTo(CasetaPeajeExcepcion o) { + if(o.getCasetaPeajeExcepcionId() != null){ + return this.getCasetaPeajeExcepcionId().intValue() - o.getCasetaPeajeExcepcionId().intValue(); + }else{ + return -1; + } + } +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/ExcepcionPeaje.java b/src/com/rjconsultores/ventaboletos/entidad/ExcepcionPeaje.java index bb4d4c762..eafc45a8b 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ExcepcionPeaje.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ExcepcionPeaje.java @@ -1,6 +1,7 @@ package com.rjconsultores.ventaboletos.entidad; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -55,7 +56,7 @@ public class ExcepcionPeaje implements Serializable,Comparable { private Parada destino; @OneToMany(mappedBy = "excepcionPeaje", cascade = CascadeType.ALL)//, fetch = FetchType.EAGER @Filter(name="ativo", condition="ACTIVO = 1") - private List lsExcepcionPeajeVigencia; + private List lsExcepcionPeajeVigencia = new ArrayList(); public Integer getExcepcionPeajeId() { return excepcionPeajeId; diff --git a/src/com/rjconsultores/ventaboletos/entidad/ExcepcionPeajeVigencia.java b/src/com/rjconsultores/ventaboletos/entidad/ExcepcionPeajeVigencia.java index c7569e16c..f3279f55c 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ExcepcionPeajeVigencia.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ExcepcionPeajeVigencia.java @@ -40,6 +40,9 @@ private static final long serialVersionUID = 1L; @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "EXCEPCIONPEAJE_ID" , referencedColumnName = "EXCEPCIONPEAJE_ID") private ExcepcionPeaje excepcionPeaje; + @ManyToOne(fetch = FetchType.EAGER) + @JoinColumn(name = "CASETAPEAJE_ID" , referencedColumnName = "CASETAPEAJE_ID") + private CasetaPeaje casetaPeaje; @Column(name = "FECHAVENTAINI") @Temporal(TemporalType.TIMESTAMP) private java.util.Date fecVentaIni; @@ -237,6 +240,17 @@ private static final long serialVersionUID = 1L; public void setPrecio(BigDecimal precio) { this.precio = precio; } + + + public CasetaPeaje getCasetaPeaje() { + return casetaPeaje; + } + + + public void setCasetaPeaje(CasetaPeaje casetaPeaje) { + this.casetaPeaje = casetaPeaje; + } + @Override public String toString() { diff --git a/src/com/rjconsultores/ventaboletos/service/CasetaPeajeExcepcionService.java b/src/com/rjconsultores/ventaboletos/service/CasetaPeajeExcepcionService.java new file mode 100644 index 000000000..9586d22f4 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/CasetaPeajeExcepcionService.java @@ -0,0 +1,10 @@ +package com.rjconsultores.ventaboletos.service; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; +import com.rjconsultores.ventaboletos.entidad.CasetaPeajeExcepcion; + +public interface CasetaPeajeExcepcionService extends GenericService { + public List buscarPorCasetaPeaje(CasetaPeaje caseta); +} diff --git a/src/com/rjconsultores/ventaboletos/service/CasetaPeajeService.java b/src/com/rjconsultores/ventaboletos/service/CasetaPeajeService.java index 219faba82..b38e0d5d4 100644 --- a/src/com/rjconsultores/ventaboletos/service/CasetaPeajeService.java +++ b/src/com/rjconsultores/ventaboletos/service/CasetaPeajeService.java @@ -3,9 +3,11 @@ package com.rjconsultores.ventaboletos.service; import java.util.List; import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; +import com.rjconsultores.ventaboletos.entidad.CasetaPeajeExcepcion; public interface CasetaPeajeService extends GenericService { public List buscar(String descricaoPracaPedagio); public Boolean validarDescricaoCasetaPeaje(CasetaPeaje casetaPeaje); public List buscarTodosOrdenadoPorDescricao(); + public void deletarVigencias(List cpes); } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CasetaPeajeExcepcionServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CasetaPeajeExcepcionServiceImpl.java new file mode 100644 index 000000000..078eb0657 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/CasetaPeajeExcepcionServiceImpl.java @@ -0,0 +1,60 @@ +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.CasetaPeajeExcepcionDAO; +import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; +import com.rjconsultores.ventaboletos.entidad.CasetaPeajeExcepcion; +import com.rjconsultores.ventaboletos.service.CasetaPeajeExcepcionService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +@Service("casetaPeajeExcepcionService") +public class CasetaPeajeExcepcionServiceImpl implements CasetaPeajeExcepcionService { + + @Autowired + private CasetaPeajeExcepcionDAO casetaPeajeExcepcionDAO; + + @Override + public List buscarPorCasetaPeaje(CasetaPeaje caseta){ + return casetaPeajeExcepcionDAO.obtenerPorCasetaPeaje(caseta); + } + + @Override + public List obtenerTodos() { + return casetaPeajeExcepcionDAO.obtenerTodos(); + } + + @Override + public CasetaPeajeExcepcion obtenerID(Integer id) { + return casetaPeajeExcepcionDAO.obtenerID(id); + } + + @Transactional + public CasetaPeajeExcepcion suscribir(CasetaPeajeExcepcion entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return casetaPeajeExcepcionDAO.suscribir(entidad); + } + + @Transactional + public CasetaPeajeExcepcion actualizacion(CasetaPeajeExcepcion entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + return casetaPeajeExcepcionDAO.actualizacion(entidad); + } + + @Transactional + public void borrar(CasetaPeajeExcepcion entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + casetaPeajeExcepcionDAO.borrar(entidad); + } +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CasetaPeajeServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CasetaPeajeServiceImpl.java index 9e769d135..89f9bfc0f 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CasetaPeajeServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CasetaPeajeServiceImpl.java @@ -9,6 +9,7 @@ import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.CasetaPeajeDAO; import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; +import com.rjconsultores.ventaboletos.entidad.CasetaPeajeExcepcion; import com.rjconsultores.ventaboletos.service.CasetaPeajeService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @@ -80,4 +81,9 @@ public class CasetaPeajeServiceImpl implements CasetaPeajeService { return Boolean.FALSE; } + + @Override + public void deletarVigencias(List cpes) { + casetaPeajeDAO.deletarVigencias(cpes); + } } \ No newline at end of file