diff --git a/pom.xml b/pom.xml
index e5f3ef520..ebe7f57a5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
br.com.rjconsultores
ModelWeb
- 1.77.2
+ 1.77.3
diff --git a/src/com/rjconsultores/ventaboletos/dao/ConvenioTransportadoraDAO.java b/src/com/rjconsultores/ventaboletos/dao/ConvenioTransportadoraDAO.java
new file mode 100644
index 000000000..7ee5b7800
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/dao/ConvenioTransportadoraDAO.java
@@ -0,0 +1,11 @@
+package com.rjconsultores.ventaboletos.dao;
+
+import com.rjconsultores.ventaboletos.entidad.ConvenioTransportadora;
+
+public interface ConvenioTransportadoraDAO extends GenericDAO {
+
+ ConvenioTransportadora buscarPelaTransportadoraId(Long transportadoraId);
+
+ public boolean existe(ConvenioTransportadora convenio);
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConvenioTransportadoraHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConvenioTransportadoraHibernateDAO.java
new file mode 100644
index 000000000..198ebb7bc
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConvenioTransportadoraHibernateDAO.java
@@ -0,0 +1,52 @@
+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.ConvenioTransportadoraDAO;
+import com.rjconsultores.ventaboletos.entidad.ConvenioTransportadora;
+
+@Repository("convenioTransportadoraDAO")
+public class ConvenioTransportadoraHibernateDAO extends GenericHibernateDAO implements ConvenioTransportadoraDAO {
+
+ @Autowired
+ public ConvenioTransportadoraHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
+ setSessionFactory(factory);
+ }
+
+ @Override
+ public List obtenerTodos() {
+ Criteria c = getSession().createCriteria(getPersistentClass());
+ c.add(Restrictions.eq("activo", Boolean.TRUE));
+
+ return castList(ConvenioTransportadora.class, c.list()) ;
+ }
+
+ @Override
+ public ConvenioTransportadora buscarPelaTransportadoraId(Long transportadoraId) {
+ Criteria c = getSession().createCriteria(getPersistentClass());
+ c.add(Restrictions.eq("transportadoraId", transportadoraId));
+ c.add(Restrictions.eq("activo", Boolean.TRUE));
+
+ return (ConvenioTransportadora)c.uniqueResult();
+ }
+
+ @Override
+ public boolean existe(ConvenioTransportadora convenio) {
+ Criteria c = getSession().createCriteria(getPersistentClass());
+ c.add(Restrictions.eq("transportadoraId", convenio.getTransportadoraId()));
+ c.add(Restrictions.eq("numConvenio", convenio.getNumConvenio()));
+ c.add(Restrictions.eq("dataInicial", convenio.getDataInicial()));
+ c.add(Restrictions.eq("dataFinal", convenio.getDataFinal()));
+ c.add(Restrictions.eq("activo", Boolean.TRUE));
+
+ return c.uniqueResult()!=null;
+ }
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/CaixaContrato.java b/src/com/rjconsultores/ventaboletos/entidad/CaixaContrato.java
new file mode 100644
index 000000000..d4ddfb8b6
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/entidad/CaixaContrato.java
@@ -0,0 +1,62 @@
+package com.rjconsultores.ventaboletos.entidad;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "CAIXA_CONTRATO")
+@SequenceGenerator(name = "CAIXA_CONTRATO_SEQ", sequenceName = "CAIXA_CONTRATO_SEQ", allocationSize = 1)
+public class CaixaContrato {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CAIXA_CONTRATO_SEQ")
+ @Column(name = "CAIXACONTRATO_ID")
+ private Long id;
+
+ @Column(name = "CONTRATO_ID")
+ private Long contratoId;
+
+ @Column(name = "DATA_LANCAMENTO")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date dataLancamento;
+
+ @Column(name = "TIPO_LANCAMENTO_ID")
+ private Long tipoLancamentoId;
+
+ @Column(name = "VALOR")
+ private BigDecimal valor;
+
+ @Column(name = "CAJA_ID")
+ private Long cajaId;
+
+ @Column(name = "EVENTOEXTRA_ID")
+ private Long eventoExtraId;
+
+ @Column(name = "USUARIO_ID")
+ private Integer usuarioId;
+
+ @Column(name = "ACTIVO")
+ private boolean activo;
+
+ @Column(name = "FECMODIF")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date fecModif;
+
+}
\ No newline at end of file
diff --git a/src/com/rjconsultores/ventaboletos/entidad/ConvenioTransportadora.java b/src/com/rjconsultores/ventaboletos/entidad/ConvenioTransportadora.java
new file mode 100644
index 000000000..289c248ac
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/entidad/ConvenioTransportadora.java
@@ -0,0 +1,68 @@
+package com.rjconsultores.ventaboletos.entidad;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@SequenceGenerator(name = "CONVENIO_TRANSPORTADORA_SEQ", sequenceName = "CONVENIO_TRANSPORTADORA_SEQ", allocationSize = 1)
+@Table(name = "CONVENIO_TRANSPORTADORA")
+public class ConvenioTransportadora {
+
+ public ConvenioTransportadora(Long transportadoraId) {
+ this.transportadoraId = transportadoraId;
+ }
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CONVENIO_TRANSPORTADORA_SEQ")
+ @Column(name = "CONVENIOTRANSPORTADORA_ID")
+ private Long convenioTransportadoraId;
+
+ @Column(name = "TRANSPORTADORA_ID")
+ private Long transportadoraId;
+
+ @Column(name = "NOME_CONVENIO")
+ private String nomeConvenio;
+
+ @Column(name = "NUMCONVENIO")
+ private String numConvenio;
+
+ @Column(name = "VALOR")
+ private BigDecimal valor;
+
+ @Column(name = "TIPO_CONVENIO")
+ private Integer tipoConvenio;
+
+ @Column(name = "DATA_INICIAL")
+ private Date dataInicial;
+
+ @Column(name = "DATA_FINAL")
+ private Date dataFinal;
+
+ @Column(name = "USUARIO_ID")
+ private Integer usuarioId;
+
+ @Column(name = "ACTIVO")
+ private boolean activo;
+
+ @Column(name = "FECMODIF")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date fecModif;
+
+}
\ No newline at end of file
diff --git a/src/com/rjconsultores/ventaboletos/entidad/TarifaConvenioTransport.java b/src/com/rjconsultores/ventaboletos/entidad/TarifaConvenioTransport.java
new file mode 100644
index 000000000..e33a2df24
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/entidad/TarifaConvenioTransport.java
@@ -0,0 +1,56 @@
+package com.rjconsultores.ventaboletos.entidad;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+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.OneToOne;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+@Entity
+@Table(name = "TARIFA_CONVENIO_TRANSP")
+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)
+ @Column(name = "TARIFACONVENIO_ID")
+ private Long tarifaConvenioId;
+
+ @OneToOne
+ @JoinColumn(name = "CONVENIOTRANSPORTADORA_ID", referencedColumnName = "CONVENIOTRANSPORTADORA_ID", insertable = false, updatable = false)
+ private ConvenioTransportadora convenioTransportadora;
+
+ @OneToOne
+ @JoinColumn(name = "ORIGEN_ID", referencedColumnName = "PARADA_ID", insertable = false, updatable = false)
+ private Parada origem;
+
+ @OneToOne
+ @JoinColumn(name = "DESTINO_ID", referencedColumnName = "PARADA_ID", insertable = false, updatable = false)
+ private Parada destino;
+
+ @Column(name = "TARIFA")
+ private BigDecimal tarifa;
+
+ @Column(name = "USUARIO_ID")
+ private Integer usuarioId;
+
+ @Column(name = "ACTIVO")
+ private boolean activo;
+
+ @Column(name = "FECMODIF")
+ @Temporal(TemporalType.DATE)
+ private Date fecModif;
+
+}
\ No newline at end of file
diff --git a/src/com/rjconsultores/ventaboletos/entidad/TipoLancamentoCaixa.java b/src/com/rjconsultores/ventaboletos/entidad/TipoLancamentoCaixa.java
new file mode 100644
index 000000000..d8255b170
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/entidad/TipoLancamentoCaixa.java
@@ -0,0 +1,48 @@
+package com.rjconsultores.ventaboletos.entidad;
+
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+@Getter
+@Setter
+@NoArgsConstructor
+@Entity
+@Table(name = "TIPO_LANCAMENTO_CAIXA")
+@SequenceGenerator(name = "TIPO_LANCAMENTO_CAIXA_SEQ", sequenceName = "TIPO_LANCAMENTO_CAIXA_SEQ", allocationSize = 1)
+public class TipoLancamentoCaixa {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "TIPO_LANCAMENTO_CAIXA_SEQ")
+ @Column(name = "TIPO_LANCAMENTO_ID")
+ private Long tipoLancamentoId;
+
+ @Column(name = "NOME_LANCAMENTO")
+ private String nomeLancamento;
+
+ @Column(name = "IND_ACRESCIMO")
+ private boolean indAcrescimo;
+
+ @Column(name = "USUARIO_ID")
+ private Integer usuarioId;
+
+ @Column(name = "ACTIVO")
+ private boolean activo;
+
+ @Column(name = "FECMODIF")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date 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
new file mode 100644
index 000000000..f4b561e75
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/service/ConvenioTransportadoraService.java
@@ -0,0 +1,14 @@
+package com.rjconsultores.ventaboletos.service;
+
+import com.rjconsultores.ventaboletos.entidad.ConvenioTransportadora;
+import com.rjconsultores.ventaboletos.exception.BusinessException;
+
+public interface ConvenioTransportadoraService extends GenericService {
+
+ ConvenioTransportadora buscarPelaTransportadoraId(Long transportadoraId);
+
+ public ConvenioTransportadora suscribirActualizar(ConvenioTransportadora convenio) throws BusinessException;
+
+ public boolean existe(ConvenioTransportadora convenio);
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConvenioTransportadoraServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConvenioTransportadoraServiceImpl.java
new file mode 100644
index 000000000..9a95f149a
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/service/impl/ConvenioTransportadoraServiceImpl.java
@@ -0,0 +1,76 @@
+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.ConvenioTransportadoraDAO;
+import com.rjconsultores.ventaboletos.entidad.ConvenioTransportadora;
+import com.rjconsultores.ventaboletos.exception.BusinessException;
+import com.rjconsultores.ventaboletos.service.ConvenioTransportadoraService;
+import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
+
+@Service("convenioTransportadoraService")
+public class ConvenioTransportadoraServiceImpl implements ConvenioTransportadoraService {
+
+ @Autowired
+ private ConvenioTransportadoraDAO convenioTransportadoraDAO;
+
+ public List obtenerTodos() {
+ return convenioTransportadoraDAO.obtenerTodos();
+ }
+
+ public ConvenioTransportadora obtenerID(Long id) {
+ return convenioTransportadoraDAO.obtenerID(id);
+ }
+
+ @Transactional
+ public ConvenioTransportadora suscribir(ConvenioTransportadora entidad) {
+ entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+ entidad.setFecModif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.TRUE);
+
+ return convenioTransportadoraDAO.suscribir(entidad);
+ }
+
+ @Transactional
+ public ConvenioTransportadora suscribirActualizar(ConvenioTransportadora entidad) throws BusinessException {
+
+ entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+ entidad.setFecModif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.TRUE);
+
+ if (entidad.getConvenioTransportadoraId() == null){
+ return convenioTransportadoraDAO.suscribir(entidad);
+ }else{
+ return convenioTransportadoraDAO.actualizacion(entidad);
+ }
+ }
+
+ @Transactional
+ public ConvenioTransportadora actualizacion(ConvenioTransportadora entidad) {
+ return convenioTransportadoraDAO.actualizacion(entidad);
+ }
+
+ @Transactional
+ public void borrar(ConvenioTransportadora entidad) {
+ entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
+ entidad.setFecModif(Calendar.getInstance().getTime());
+ entidad.setActivo(Boolean.FALSE);
+
+ convenioTransportadoraDAO.borrar(entidad);
+ }
+
+ @Override
+ public ConvenioTransportadora buscarPelaTransportadoraId(Long transportadoraId) {
+ return convenioTransportadoraDAO.buscarPelaTransportadoraId(transportadoraId) ;
+ }
+
+ @Override
+ public boolean existe(ConvenioTransportadora convenio) {
+ return convenioTransportadoraDAO.existe(convenio);
+ }
+}