diff --git a/pom.xml b/pom.xml
index 1ca3c4d1c..4628a4b53 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
br.com.rjconsultores
ModelWeb
- 1.82.0
+ 1.83.0
diff --git a/src/com/rjconsultores/ventaboletos/constantes/ConstantesFuncionSistema.java b/src/com/rjconsultores/ventaboletos/constantes/ConstantesFuncionSistema.java
index 38a668cff..f437d7c35 100644
--- a/src/com/rjconsultores/ventaboletos/constantes/ConstantesFuncionSistema.java
+++ b/src/com/rjconsultores/ventaboletos/constantes/ConstantesFuncionSistema.java
@@ -44,4 +44,6 @@ public class ConstantesFuncionSistema {
public static final String CLAVE_MENU_RELATORIOS_VIAJAR_DETALHADO = "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.RELATORIOSESTATISTICOS.PASSAGEIROSVIAJARDETALHADO";
public static final String FUNCION_RECOLECCION = "COM.RJCONSULTORES.ADMINISTRACION.PUNTOVENTA.RECOLECCION";
+
+ public static final String CLAVE_INTEGRACAO_COMPROVANTE_PASSAGEM = "COM.RJCONSULTORES.ADMINISTRACION.GUI.ESQUEMAOPERACIONAL.MENU.INTEGRACAOCOMPROVANTEPASSAGEM";
}
diff --git a/src/com/rjconsultores/ventaboletos/dao/ConfComprovantePassagemDAO.java b/src/com/rjconsultores/ventaboletos/dao/ConfComprovantePassagemDAO.java
new file mode 100644
index 000000000..3a1fb6fbb
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/dao/ConfComprovantePassagemDAO.java
@@ -0,0 +1,10 @@
+package com.rjconsultores.ventaboletos.dao;
+
+import com.rjconsultores.ventaboletos.entidad.ConfComprovantePassagem;
+
+public interface ConfComprovantePassagemDAO extends GenericDAO {
+
+ public ConfComprovantePassagem buscarPorEmpresaId(Integer empresaId);
+
+ public ConfComprovantePassagem buscarConfiguracao(Integer empresaId, String tipoIntegracao, String viaComprovante);
+}
diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConfComprovantePassagemHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConfComprovantePassagemHibernateDAO.java
new file mode 100644
index 000000000..0c0386ad5
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConfComprovantePassagemHibernateDAO.java
@@ -0,0 +1,40 @@
+package com.rjconsultores.ventaboletos.dao.hibernate;
+
+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.ConfComprovantePassagemDAO;
+import com.rjconsultores.ventaboletos.entidad.ConfComprovantePassagem;
+
+@Repository("comfComprovantePassagemDAO")
+public class ConfComprovantePassagemHibernateDAO extends GenericHibernateDAO implements ConfComprovantePassagemDAO {
+
+ @Autowired
+ public ConfComprovantePassagemHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
+ setSessionFactory(factory);
+ }
+
+ @Override
+ public ConfComprovantePassagem buscarPorEmpresaId(Integer empresaId) {
+ Criteria c = getSession().createCriteria(getPersistentClass());
+ c.add(Restrictions.eq("activo", Boolean.TRUE));
+ c.add(Restrictions.eq("empresa.empresaId", empresaId));
+
+ return (ConfComprovantePassagem) c.uniqueResult();
+ }
+
+ @Override
+ public ConfComprovantePassagem buscarConfiguracao(Integer empresaId, String tipoIntegracao, String viaComprovante) {
+ Criteria c = getSession().createCriteria(getPersistentClass());
+ c.add(Restrictions.eq("activo", Boolean.TRUE));
+ c.add(Restrictions.eq("empresa.empresaId", empresaId));
+ c.add(Restrictions.eq("tipoIntegracao", tipoIntegracao));
+ c.add(Restrictions.eq("viaComprovante", viaComprovante));
+
+ return (ConfComprovantePassagem) c.uniqueResult();
+ }
+}
diff --git a/src/com/rjconsultores/ventaboletos/entidad/ConfComprovantePassagem.java b/src/com/rjconsultores/ventaboletos/entidad/ConfComprovantePassagem.java
new file mode 100644
index 000000000..c7cacf95d
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/entidad/ConfComprovantePassagem.java
@@ -0,0 +1,153 @@
+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.OneToOne;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+@Entity
+@Table(name = "CONF_COMPROVANTE_PASSAGEM")
+@SequenceGenerator(name = "CONF_COMPROVANTE_PASSAGEM_SEQ", sequenceName = "CONF_COMPROVANTE_PASSAGEM_SEQ", allocationSize = 1)
+public class ConfComprovantePassagem implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @Basic(optional = false)
+ @GeneratedValue(strategy = GenerationType.AUTO, generator = "CONF_COMPROVANTE_PASSAGEM_SEQ")
+ @Column(name = "CONFCOMPROVANTEPASSAGEM_ID")
+ private Long ConfComprovantePassagemId;
+
+ @ManyToOne
+ @JoinColumn(name = "EMPRESA_ID", referencedColumnName = "EMPRESA_ID")
+ private Empresa empresa;
+
+ @Column(name = "TIPO_INTEGRACAO")
+ private String tipoIntegracao;
+
+ @Column(name = "VIA_COMPROVANTE")
+ private String viaComprovante;
+
+ @Column(name = "URL")
+ private String url;
+
+ @Column(name = "API_KEY")
+ private String apiKey;
+
+ @Column(name = "REMETENTE")
+ private String remetente;
+
+ @Column(name = "NOME_TEMPLATE")
+ private String nomeTemplate;
+
+ @Column(name = "ACTIVO")
+ private Boolean activo;
+
+ @Column(name = "FECMODIF")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date fecmodif;
+
+ @OneToOne
+ @JoinColumn(name = "USUARIO_ID")
+ private Usuario usuario;
+
+ public Long getConfComprovantePassagemId() {
+ return ConfComprovantePassagemId;
+ }
+
+ public void setConfComprovantePassagemId(Long confComprovantePassagemId) {
+ ConfComprovantePassagemId = confComprovantePassagemId;
+ }
+
+ public Empresa getEmpresa() {
+ return empresa;
+ }
+
+ public void setEmpresa(Empresa empresa) {
+ this.empresa = empresa;
+ }
+
+ public String getViaComprovante() {
+ return viaComprovante;
+ }
+
+ public void setViaComprovante(String viaComprovante) {
+ this.viaComprovante = viaComprovante;
+ }
+
+ public String getTipoIntegracao() {
+ return tipoIntegracao;
+ }
+
+ public void setTipoIntegracao(String tipoIntegracao) {
+ this.tipoIntegracao = tipoIntegracao;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public String getApiKey() {
+ return apiKey;
+ }
+
+ public void setApiKey(String apiKey) {
+ this.apiKey = apiKey;
+ }
+
+ public String getRemetente() {
+ return remetente;
+ }
+
+ public void setRemetente(String remetente) {
+ this.remetente = remetente;
+ }
+
+ public String getNomeTemplate() {
+ return nomeTemplate;
+ }
+
+ public void setNomeTemplate(String nomeTemplate) {
+ this.nomeTemplate = nomeTemplate;
+ }
+
+ public Date getFecmodif() {
+ return fecmodif;
+ }
+
+ public void setFecmodif(Date fecmodif) {
+ this.fecmodif = fecmodif;
+ }
+
+ public Usuario getUsuario() {
+ return usuario;
+ }
+
+ public void setUsuario(Usuario usuario) {
+ this.usuario = usuario;
+ }
+
+ public Boolean getActivo() {
+ return activo;
+ }
+
+ public void setActivo(Boolean activo) {
+ this.activo = activo;
+ }
+}
diff --git a/src/com/rjconsultores/ventaboletos/enums/EnumTipoIntegracao.java b/src/com/rjconsultores/ventaboletos/enums/EnumTipoIntegracao.java
index 598fb6f57..9fddc206b 100644
--- a/src/com/rjconsultores/ventaboletos/enums/EnumTipoIntegracao.java
+++ b/src/com/rjconsultores/ventaboletos/enums/EnumTipoIntegracao.java
@@ -2,7 +2,7 @@ package com.rjconsultores.ventaboletos.enums;
public enum EnumTipoIntegracao {
- INFOBIT,;
+ INFOBIP,;
private EnumTipoIntegracao() {
diff --git a/src/com/rjconsultores/ventaboletos/enums/EnumViaComprovantePassagem.java b/src/com/rjconsultores/ventaboletos/enums/EnumViaComprovantePassagem.java
new file mode 100644
index 000000000..ae2c21945
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/enums/EnumViaComprovantePassagem.java
@@ -0,0 +1,14 @@
+package com.rjconsultores.ventaboletos.enums;
+
+public enum EnumViaComprovantePassagem {
+
+ EMAIL,
+ SMS,
+ WhatsApp
+ ;
+
+ private EnumViaComprovantePassagem() {
+
+ }
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/service/ConfComprovantePassagemService.java b/src/com/rjconsultores/ventaboletos/service/ConfComprovantePassagemService.java
new file mode 100644
index 000000000..3f8b5e5d9
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/service/ConfComprovantePassagemService.java
@@ -0,0 +1,16 @@
+package com.rjconsultores.ventaboletos.service;
+
+import com.rjconsultores.ventaboletos.entidad.ConfComprovantePassagem;
+import com.rjconsultores.ventaboletos.exception.BusinessException;
+
+public interface ConfComprovantePassagemService {
+
+ ConfComprovantePassagem suscribirActualizar(ConfComprovantePassagem conf) throws BusinessException;
+
+ void apagar(ConfComprovantePassagem conf) throws BusinessException;
+
+ public ConfComprovantePassagem buscarConfComprovantePassagemPorEmpresaId(Integer empresaID);
+
+ public ConfComprovantePassagem buscarConfiguracao(Integer empresaID, String tipoIntegracao, String viaComprovante);
+
+}
diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConfComprovantePassagemServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConfComprovantePassagemServiceImpl.java
new file mode 100644
index 000000000..a375a6457
--- /dev/null
+++ b/src/com/rjconsultores/ventaboletos/service/impl/ConfComprovantePassagemServiceImpl.java
@@ -0,0 +1,52 @@
+package com.rjconsultores.ventaboletos.service.impl;
+
+import java.util.Date;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.rjconsultores.ventaboletos.dao.ConfComprovantePassagemDAO;
+import com.rjconsultores.ventaboletos.entidad.ConfComprovantePassagem;
+import com.rjconsultores.ventaboletos.exception.BusinessException;
+import com.rjconsultores.ventaboletos.service.ConfComprovantePassagemService;
+import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
+
+@Service("confComprovantePassagemService")
+public class ConfComprovantePassagemServiceImpl implements ConfComprovantePassagemService {
+
+ @Autowired
+ private ConfComprovantePassagemDAO confCompPassDAO;
+
+ @Transactional(rollbackFor = BusinessException.class)
+ @Override
+ public ConfComprovantePassagem suscribirActualizar(ConfComprovantePassagem conf) throws BusinessException {
+
+ conf.setFecmodif(new Date());
+ conf.setUsuario(UsuarioLogado.getUsuarioLogado());
+
+ if (conf.getConfComprovantePassagemId() == null) {
+ conf = confCompPassDAO.suscribir(conf);
+ } else {
+ conf = confCompPassDAO.actualizacion(conf);
+ }
+
+ return conf;
+ }
+
+ @Transactional
+ @Override
+ public void apagar(ConfComprovantePassagem empresaTroco) throws BusinessException {
+ confCompPassDAO.borrar(empresaTroco);
+ }
+
+ @Override
+ public ConfComprovantePassagem buscarConfComprovantePassagemPorEmpresaId(Integer empresaID) {
+ return confCompPassDAO.buscarPorEmpresaId(empresaID);
+ }
+
+ @Override
+ public ConfComprovantePassagem buscarConfiguracao(Integer empresaID, String tipoIntegracao, String viaComprovante) {
+ return confCompPassDAO.buscarConfiguracao(empresaID, tipoIntegracao, viaComprovante);
+ }
+}