diff --git a/pom.xml b/pom.xml index aa5811334..fdf9d5d7d 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.78.0 + 1.79.0 diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaConvenioTransportDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaConvenioTransportDAO.java new file mode 100644 index 000000000..0671f8fe6 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/TarifaConvenioTransportDAO.java @@ -0,0 +1,11 @@ +package com.rjconsultores.ventaboletos.dao; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.TarifaConvenioTransport; + +public interface TarifaConvenioTransportDAO extends GenericDAO{ + + public boolean gravarTarifasConvenio( List tarifas); + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaConvenioTransportHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaConvenioTransportHibernateDAO.java new file mode 100644 index 000000000..ddd9a0739 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaConvenioTransportHibernateDAO.java @@ -0,0 +1,45 @@ +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.TarifaConvenioTransportDAO; +import com.rjconsultores.ventaboletos.entidad.TarifaConvenioTransport; + +@SuppressWarnings("unchecked") +@Repository("tarifaConvenioTransportDAO") +public class TarifaConvenioTransportHibernateDAO extends GenericHibernateDAO implements TarifaConvenioTransportDAO { + + @Autowired + public TarifaConvenioTransportHibernateDAO(@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 boolean gravarTarifasConvenio(List tarifas) { + + for (TarifaConvenioTransport tarifa : tarifas) { + if(tarifa.getTarifaConvenioId() == null) { + suscribir(tarifa); + }else { + actualizacion(tarifa); + } + } + + return true; + } +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/ConvenioTransportadora.java b/src/com/rjconsultores/ventaboletos/entidad/ConvenioTransportadora.java index 289c248ac..ad32e9f65 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/ConvenioTransportadora.java +++ b/src/com/rjconsultores/ventaboletos/entidad/ConvenioTransportadora.java @@ -2,17 +2,23 @@ package com.rjconsultores.ventaboletos.entidad; import java.math.BigDecimal; import java.util.Date; +import java.util.List; +import javax.persistence.CascadeType; 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.OneToMany; import javax.persistence.SequenceGenerator; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import org.hibernate.annotations.Where; + import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -64,5 +70,35 @@ public class ConvenioTransportadora { @Column(name = "FECMODIF") @Temporal(TemporalType.TIMESTAMP) private Date fecModif; + + @OneToMany(mappedBy = "convenioTransportadora", cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @Where(clause = "ACTIVO=1") + private List tarifasConvenio; + + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; + } + + if (getClass() != obj.getClass()) { + return false; + } + + final ConvenioTransportadora other = (ConvenioTransportadora) obj; + return this.getConvenioTransportadoraId().equals(other.getConvenioTransportadoraId()); + } + + @Override + public int hashCode() { + int hash = 7; + hash = 59 * hash + (this.getConvenioTransportadoraId() != null ? this.getConvenioTransportadoraId().hashCode() : 0); + return hash; + } + + @Override + public String toString() { + return this.getNomeConvenio(); + } } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/entidad/TarifaConvenioTransport.java b/src/com/rjconsultores/ventaboletos/entidad/TarifaConvenioTransport.java index e33a2df24..d17f1caf4 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/TarifaConvenioTransport.java +++ b/src/com/rjconsultores/ventaboletos/entidad/TarifaConvenioTransport.java @@ -4,8 +4,10 @@ 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; @@ -16,6 +18,11 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter @Entity @Table(name = "TARIFA_CONVENIO_TRANSP") public class TarifaConvenioTransport implements Serializable { @@ -23,21 +30,21 @@ public class TarifaConvenioTransport implements Serializable { private static final long serialVersionUID = 4117896818436639147L; @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "TARIFA_GRUPO_CONTRATO_SEQ") - @SequenceGenerator(name = "TARIFA_GRUPO_CONTRATO_SEQ", sequenceName = "TARIFA_GRUPO_CONTRATO_SEQ", allocationSize = 1) + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "TARIFA_CONVENIO_TRANSP_SEQ") + @SequenceGenerator(name = "TARIFA_CONVENIO_TRANSP_SEQ", sequenceName = "TARIFA_CONVENIO_TRANSP_SEQ", allocationSize = 1) @Column(name = "TARIFACONVENIO_ID") private Long tarifaConvenioId; - @OneToOne - @JoinColumn(name = "CONVENIOTRANSPORTADORA_ID", referencedColumnName = "CONVENIOTRANSPORTADORA_ID", insertable = false, updatable = false) + @OneToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "CONVENIOTRANSPORTADORA_ID") private ConvenioTransportadora convenioTransportadora; @OneToOne - @JoinColumn(name = "ORIGEN_ID", referencedColumnName = "PARADA_ID", insertable = false, updatable = false) + @JoinColumn(name = "ORIGEN_ID", referencedColumnName = "PARADA_ID") private Parada origem; @OneToOne - @JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID", insertable = false, updatable = false) + @JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID") private Parada destino; @Column(name = "TARIFA") @@ -49,8 +56,9 @@ public class TarifaConvenioTransport implements Serializable { @Column(name = "ACTIVO") private boolean activo; + @Basic(optional = false) @Column(name = "FECMODIF") - @Temporal(TemporalType.DATE) + @Temporal(TemporalType.TIMESTAMP) private Date fecModif; } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/entidad/TarifaGrupoContrato.java b/src/com/rjconsultores/ventaboletos/entidad/TarifaGrupoContrato.java index 2d3be3121..a22da50f1 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/TarifaGrupoContrato.java +++ b/src/com/rjconsultores/ventaboletos/entidad/TarifaGrupoContrato.java @@ -19,6 +19,11 @@ import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter @Entity @Table(name = "TARIFA_GRUPO_CONTRATO") public class TarifaGrupoContrato implements Serializable{ @@ -64,84 +69,4 @@ public class TarifaGrupoContrato implements Serializable{ @Temporal(TemporalType.TIMESTAMP) private Date fecModif; - public Integer getTarifaGrupoContratoId() { - return tarifaGrupoContratoId; - } - - public void setTarifaGrupoContratoId(Integer tarifaGrupoContratoId) { - this.tarifaGrupoContratoId = tarifaGrupoContratoId; - } - - public GrupoContrato getGrupoContrato() { - return grupoContrato; - } - - public void setGrupoContrato(GrupoContrato grupoContrato) { - this.grupoContrato = grupoContrato; - } - - 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 ClaseServicio getClaseServicio() { - return claseServicio; - } - - public void setClaseServicio(ClaseServicio claseServicio) { - this.claseServicio = claseServicio; - } - - public BigDecimal getTarifa() { - return tarifa; - } - - public void setTarifa(BigDecimal tarifa) { - this.tarifa = tarifa; - } - - public Integer getUsuarioId() { - return usuarioId; - } - - public void setUsuarioId(Integer usuarioId) { - this.usuarioId = usuarioId; - } - - public boolean isIndCobertura() { - return indCobertura; - } - - public void setIndCobertura(boolean indCobertura) { - this.indCobertura = indCobertura; - } - - public boolean isActivo() { - return activo; - } - - public void setActivo(boolean activo) { - this.activo = activo; - } - - public Date getFecModif() { - return fecModif; - } - - public void setFecModif(Date fecModif) { - this.fecModif = fecModif; - } - } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/service/ConvenioTransportadoraService.java b/src/com/rjconsultores/ventaboletos/service/ConvenioTransportadoraService.java index f4b561e75..f6496db1f 100644 --- a/src/com/rjconsultores/ventaboletos/service/ConvenioTransportadoraService.java +++ b/src/com/rjconsultores/ventaboletos/service/ConvenioTransportadoraService.java @@ -1,6 +1,9 @@ package com.rjconsultores.ventaboletos.service; +import java.util.List; + import com.rjconsultores.ventaboletos.entidad.ConvenioTransportadora; +import com.rjconsultores.ventaboletos.entidad.TarifaConvenioTransport; import com.rjconsultores.ventaboletos.exception.BusinessException; public interface ConvenioTransportadoraService extends GenericService { @@ -11,4 +14,6 @@ public interface ConvenioTransportadoraService extends GenericService lsTarifaConvenioBanco); + } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConvenioTransportadoraServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConvenioTransportadoraServiceImpl.java index 9a95f149a..d8ca9efda 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ConvenioTransportadoraServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConvenioTransportadoraServiceImpl.java @@ -8,7 +8,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.ConvenioTransportadoraDAO; +import com.rjconsultores.ventaboletos.dao.TarifaConvenioTransportDAO; import com.rjconsultores.ventaboletos.entidad.ConvenioTransportadora; +import com.rjconsultores.ventaboletos.entidad.TarifaConvenioTransport; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.ConvenioTransportadoraService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @@ -18,6 +20,9 @@ public class ConvenioTransportadoraServiceImpl implements ConvenioTransportadora @Autowired private ConvenioTransportadoraDAO convenioTransportadoraDAO; + + @Autowired + private TarifaConvenioTransportDAO tarifaConvenioDAO; public List obtenerTodos() { return convenioTransportadoraDAO.obtenerTodos(); @@ -73,4 +78,10 @@ public class ConvenioTransportadoraServiceImpl implements ConvenioTransportadora public boolean existe(ConvenioTransportadora convenio) { return convenioTransportadoraDAO.existe(convenio); } + + @Transactional + public boolean gravarTarifasConvenio(List lsTarifa) { + return tarifaConvenioDAO.gravarTarifasConvenio(lsTarifa); + + } }