From 26298f3431bcc4fc2bdd047abb9a4d896e50aa3a Mon Sep 17 00:00:00 2001 From: valdir Date: Mon, 1 Apr 2019 14:17:47 +0000 Subject: [PATCH] =?UTF-8?q?0013747:=20Configura=C3=A7=C3=A3o=20Venda=20Emb?= =?UTF-8?q?arcada=20bug#13747=20dev:daniel=20qua:rogerio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@91414 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../constantes/ConstantesFuncionSistema.java | 2 + .../dao/OperadorEmbarcadaDAO.java | 12 ++ .../dao/OperadorEmbarcadaLinhaDAO.java | 12 ++ .../dao/OperadorEmbarcadaServicoDAO.java | 12 ++ .../ventaboletos/dao/RutaDAO.java | 2 + .../OperadorEmbarcadaHibernateDAO.java | 41 ++++++ .../OperadorEmbarcadaLinhaHibernateDAO.java | 33 +++++ .../OperadorEmbarcadaServicoHibernateDAO.java | 33 +++++ .../dao/hibernate/RutaHibernateDAO.java | 35 +++++ .../entidad/OperadorEmbarcada.java | 129 ++++++++++++++++++ .../entidad/OperadorEmbarcadaLinha.java | 73 ++++++++++ .../entidad/OperadorEmbarcadaServico.java | 73 ++++++++++ .../service/OperadorEmbarcadaService.java | 15 ++ .../impl/OperadorEmbarcadaServiceImpl.java | 66 +++++++++ .../service/impl/PuntoVentaServiceImpl.java | 4 +- 15 files changed, 540 insertions(+), 2 deletions(-) create mode 100644 src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaLinhaDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaServicoDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaLinhaHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcada.java create mode 100644 src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcadaLinha.java create mode 100644 src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcadaServico.java create mode 100644 src/com/rjconsultores/ventaboletos/service/OperadorEmbarcadaService.java create mode 100644 src/com/rjconsultores/ventaboletos/service/impl/OperadorEmbarcadaServiceImpl.java diff --git a/src/com/rjconsultores/ventaboletos/constantes/ConstantesFuncionSistema.java b/src/com/rjconsultores/ventaboletos/constantes/ConstantesFuncionSistema.java index 1ea72b76f..fd4e4704c 100644 --- a/src/com/rjconsultores/ventaboletos/constantes/ConstantesFuncionSistema.java +++ b/src/com/rjconsultores/ventaboletos/constantes/ConstantesFuncionSistema.java @@ -19,6 +19,8 @@ public class ConstantesFuncionSistema { public static final String CLAVE_POSICAO_VENDA_BILHETE_IDOSO = "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOPOSICAOVENDABILHETEIDOSO"; public static final String CLAVE_INTEGRACAO_ANTI_FRAUDE = "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOINTEGRACAOANTIFRAUDE"; public static final String CLAVE_TARIFAS_DESABILITAR_BOTAO_EXCLUIR_TODOS = "COM.RJCONSULTORES.VENTABOLETOS.GUI.ADM.PRECO.EXCLUIR.TODAS.PESQUISA"; + public static final String CLAVE_CONFIGURACAO_VENDA_EMBARCADA = "COM.RJCONSULTORES.ADMINISTRACION.GUI.ESQUEMAOPERACIONAL.MENU.CONFVENDAEMBARCADA"; + diff --git a/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaDAO.java b/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaDAO.java new file mode 100644 index 000000000..a0bdc5ea1 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaDAO.java @@ -0,0 +1,12 @@ +package com.rjconsultores.ventaboletos.dao; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada; + +public interface OperadorEmbarcadaDAO extends GenericDAO { + + public List buscarTodosOperadores(); + + public OperadorEmbarcada burcarOperadorPorId(Long operadorEmbarcadaID); +} diff --git a/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaLinhaDAO.java b/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaLinhaDAO.java new file mode 100644 index 000000000..9b733a7ee --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaLinhaDAO.java @@ -0,0 +1,12 @@ +package com.rjconsultores.ventaboletos.dao; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaLinha; + +public interface OperadorEmbarcadaLinhaDAO extends GenericDAO { + + public List buscarPorOperador(OperadorEmbarcada operador); + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaServicoDAO.java b/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaServicoDAO.java new file mode 100644 index 000000000..fabf0222f --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/OperadorEmbarcadaServicoDAO.java @@ -0,0 +1,12 @@ +package com.rjconsultores.ventaboletos.dao; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico; + +public interface OperadorEmbarcadaServicoDAO extends GenericDAO { + + public List buscarPorOperador(OperadorEmbarcada operador); + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java b/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java index a0b8356a0..87df3de81 100644 --- a/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/RutaDAO.java @@ -69,4 +69,6 @@ public interface RutaDAO extends GenericDAO { public void updateAsientosVendibles(Ruta ruta, Tramo viejoTramo, Tramo nuevoTramo); + public List buscarRutasVendaEmbarcada(List empresasIds, Integer rutaId, String numeroLinha, String descRuta, ClaseServicio classe); + } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaHibernateDAO.java new file mode 100644 index 000000000..d0c6a8ec7 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaHibernateDAO.java @@ -0,0 +1,41 @@ +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.OperadorEmbarcadaDAO; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada; + +@Repository("operadorEmbarcadaDAO") +@SuppressWarnings("unchecked") +public class OperadorEmbarcadaHibernateDAO extends GenericHibernateDAO implements OperadorEmbarcadaDAO { + + @Autowired + public OperadorEmbarcadaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @SuppressWarnings("unchecked") + @Override + public List buscarTodosOperadores() { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + return c.list(); + } + + @Override + public OperadorEmbarcada burcarOperadorPorId(Long operadorEmbarcadaID) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("operadorEmbarcadaId", operadorEmbarcadaID)); + + return (OperadorEmbarcada) c.uniqueResult(); + } +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaLinhaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaLinhaHibernateDAO.java new file mode 100644 index 000000000..ea7270df3 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaLinhaHibernateDAO.java @@ -0,0 +1,33 @@ +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.OperadorEmbarcadaLinhaDAO; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaLinha; + +@Repository("operadorEmbarcadaLinhaDAO") +@SuppressWarnings("unchecked") +public class OperadorEmbarcadaLinhaHibernateDAO extends GenericHibernateDAO implements OperadorEmbarcadaLinhaDAO { + + @Autowired + public OperadorEmbarcadaLinhaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @Override + public List buscarPorOperador(OperadorEmbarcada operador) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("operadorEmbarcada", operador)); + + return c.list(); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java new file mode 100644 index 000000000..f00cd7d84 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java @@ -0,0 +1,33 @@ +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.OperadorEmbarcadaServicoDAO; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico; + +@Repository("operadorEmbarcadaServicoDAO") +@SuppressWarnings("unchecked") +public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO implements OperadorEmbarcadaServicoDAO { + + @Autowired + public OperadorEmbarcadaServicoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @Override + public List buscarPorOperador(OperadorEmbarcada operador) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("operadorEmbarcada", operador)); + + return c.list(); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java index 0a2eb6858..7514c28ad 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaHibernateDAO.java @@ -375,4 +375,39 @@ public class RutaHibernateDAO extends GenericHibernateDAO impleme } } + + @Override + public List buscarRutasVendaEmbarcada(List empresasIds, Integer rutaId, String numeroLinha, String descRuta, ClaseServicio classe) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.ne("rutaId", -1)); + + if(empresasIds != null && !empresasIds.isEmpty()) { + c.createCriteria("lsRutaEmpresa").add(Restrictions.in("empresa.empresaId", empresasIds)); + } + + if(rutaId != null) { + c.add(Restrictions.eq("rutaId", rutaId)); + } + + if(numeroLinha != null) { + c.add(Restrictions.eq("numRuta", numeroLinha)); + } + + if(descRuta != null && !descRuta.isEmpty()) { + c.add(Restrictions.ilike("descruta", "%" + descRuta.trim().concat("%"))); + } + + if (classe != null && classe.getClaseservicioId() != -1) { + c.add(Restrictions.eq("claseServicio", classe)); + } + + c.add(Restrictions.eq("indRutaCancelada", Boolean.FALSE)); + + c.add(Restrictions.eq("indVendaEmbarcada", Boolean.TRUE)); + + c.addOrder(Order.asc("descruta")); + + return c.list(); + } } diff --git a/src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcada.java b/src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcada.java new file mode 100644 index 000000000..2e6ca6cdb --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcada.java @@ -0,0 +1,129 @@ +package com.rjconsultores.ventaboletos.entidad; + +import java.io.Serializable; +import java.util.ArrayList; +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; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.OneToMany; +import javax.persistence.OneToOne; +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 +@Table(name = "OPERADOR_EMBARCADA") +@SequenceGenerator(name = "OPERADOR_EMBARCADA_SEQ", sequenceName = "OPERADOR_EMBARCADA_SEQ", allocationSize = 1) +public class OperadorEmbarcada implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + @Basic(optional = false) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_SEQ") + @Column(name = "OPERADOR_EMBARCADA_ID") + private Long operadorEmbarcadaId; + + @OneToOne + @JoinColumn(name = "USUARIO_ID") + private Usuario usuario; + + @OneToMany(mappedBy = "operadorEmbarcada", cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @Fetch(FetchMode.SELECT) + @Where(clause="activo=1") + private List linhas; + + @OneToMany(mappedBy = "operadorEmbarcada", cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @Fetch(FetchMode.SELECT) + @Where(clause="activo=1") + private List servicos; + + @Column(name = "FECMODIF") + @Temporal(TemporalType.TIMESTAMP) + private Date fecmodif; + + @Column(name = "ACTIVO") + private Boolean activo; + + public Long getOperadorEmbarcadaId() { + return operadorEmbarcadaId; + } + + public void setOperadorEmbarcadaId(Long operadorEmbarcadaId) { + this.operadorEmbarcadaId = operadorEmbarcadaId; + } + + public Usuario getUsuario() { + return usuario; + } + + public void setUsuario(Usuario usuario) { + this.usuario = usuario; + } + + public List getLinhas() { + List tmp = new ArrayList(); + + if (linhas != null) { + for (OperadorEmbarcadaLinha es : linhas) { + if (es.getActivo()) { + tmp.add(es); + } + } + } + + return tmp; + } + + public void setLinhas(List linhas) { + this.linhas = linhas; + } + + public List getServicos() { + List tmp = new ArrayList(); + + if (servicos != null) { + for (OperadorEmbarcadaServico es : servicos) { + if (es.getActivo()) { + tmp.add(es); + } + } + } + + return tmp; + } + + public void setServicos(List servicos) { + this.servicos = servicos; + } + + public Boolean getActivo() { + return activo == null ? false : activo; + } + + public void setActivo(Boolean activo) { + this.activo = activo; + } + + public Date getFecmodif() { + return fecmodif; + } + + public void setFecmodif(Date fecmodif) { + this.fecmodif = fecmodif; + } +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcadaLinha.java b/src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcadaLinha.java new file mode 100644 index 000000000..ed7fe139a --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcadaLinha.java @@ -0,0 +1,73 @@ +package com.rjconsultores.ventaboletos.entidad; + +import java.io.Serializable; + +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; + +@Entity +@Table(name = "OPERADOR_EMBARCADA_LINHA") +@SequenceGenerator(name = "OPERADOR_EMBARCADA_LINHA_SEQ", sequenceName = "OPERADOR_EMBARCADA_LINHA_SEQ", allocationSize = 1) +public class OperadorEmbarcadaLinha implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + @Basic(optional = false) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_LINHA_SEQ") + @Column(name = "OPERADOR_EMBARCADA_LINHA_ID") + private Long operadorEmbarcadaLinhaId; + + @ManyToOne + @JoinColumn(name = "OPERADOR_EMBARCADA_ID", referencedColumnName = "OPERADOR_EMBARCADA_ID") + private OperadorEmbarcada operadorEmbarcada; + + @OneToOne + @JoinColumn(name = "RUTA_ID") + private Ruta ruta; + + @Column(name = "ACTIVO") + private Boolean activo; + + public Long getOperadorEmbarcadaLinhaId() { + return operadorEmbarcadaLinhaId; + } + + public void setOperadorEmbarcadaLinhaId(Long operadorEmbarcadaLinhaId) { + this.operadorEmbarcadaLinhaId = operadorEmbarcadaLinhaId; + } + + public OperadorEmbarcada getOperadorEmbarcada() { + return operadorEmbarcada; + } + + public void setOperadorEmbarcada(OperadorEmbarcada operadorEmbarcada) { + this.operadorEmbarcada = operadorEmbarcada; + } + + public Boolean getActivo() { + return activo == null ? false : activo; + } + + public void setActivo(Boolean activo) { + this.activo = activo; + } + + public Ruta getRuta() { + return ruta; + } + + public void setRuta(Ruta ruta) { + this.ruta = ruta; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcadaServico.java b/src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcadaServico.java new file mode 100644 index 000000000..19ae14282 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/OperadorEmbarcadaServico.java @@ -0,0 +1,73 @@ +package com.rjconsultores.ventaboletos.entidad; + +import java.io.Serializable; + +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.OneToOne; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; + +@Entity +@Table(name = "OPERADOR_EMBARCADA_SERVICO") +@SequenceGenerator(name = "OPERADOR_EMBARCADA_SERVICO_SEQ", sequenceName = "OPERADOR_EMBARCADA_SERVICO_SEQ", allocationSize = 1) +public class OperadorEmbarcadaServico implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + @Basic(optional = false) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "OPERADOR_EMBARCADA_SERVICO_SEQ") + @Column(name = "OPERADOR_EMBARCADA_SERVICO_ID") + private Long operadorEmbarcadaServicoId; + + @ManyToOne + @JoinColumn(name = "OPERADOR_EMBARCADA_ID", referencedColumnName = "OPERADOR_EMBARCADA_ID") + private OperadorEmbarcada operadorEmbarcada; + + @OneToOne(fetch = FetchType.EAGER) + @JoinColumn(name = "ESQUEMA_CORRIDA_ID") + private EsquemaCorrida corrida; + + @Column(name = "ACTIVO") + private Boolean activo; + + public Long getOperadorEmbarcadaServicoId() { + return operadorEmbarcadaServicoId; + } + + public void setOperadorEmbarcadaServicoId(Long operadorEmbarcadaServicoId) { + this.operadorEmbarcadaServicoId = operadorEmbarcadaServicoId; + } + + public OperadorEmbarcada getOperadorEmbarcada() { + return operadorEmbarcada; + } + + public void setOperadorEmbarcada(OperadorEmbarcada operadorEmbarcada) { + this.operadorEmbarcada = operadorEmbarcada; + } + + public Boolean getActivo() { + return activo; + } + + public void setActivo(Boolean activo) { + this.activo = activo; + } + + public EsquemaCorrida getCorrida() { + return corrida; + } + + public void setCorrida(EsquemaCorrida corrida) { + this.corrida = corrida; + } +} diff --git a/src/com/rjconsultores/ventaboletos/service/OperadorEmbarcadaService.java b/src/com/rjconsultores/ventaboletos/service/OperadorEmbarcadaService.java new file mode 100644 index 000000000..2fffc77ba --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/OperadorEmbarcadaService.java @@ -0,0 +1,15 @@ +package com.rjconsultores.ventaboletos.service; + +import java.util.List; + +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaLinha; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico; +import com.rjconsultores.ventaboletos.exception.BusinessException; + +public interface OperadorEmbarcadaService { + + public OperadorEmbarcada suscribirActualizar(OperadorEmbarcada operador, List linhas, List listaServicos) throws BusinessException; + + public void apagar(OperadorEmbarcada operador) throws BusinessException; +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/OperadorEmbarcadaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/OperadorEmbarcadaServiceImpl.java new file mode 100644 index 000000000..dfc8e83c2 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/OperadorEmbarcadaServiceImpl.java @@ -0,0 +1,66 @@ +package com.rjconsultores.ventaboletos.service.impl; + +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.OperadorEmbarcadaDAO; +import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaLinhaDAO; +import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaServicoDAO; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaLinha; +import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico; +import com.rjconsultores.ventaboletos.exception.BusinessException; +import com.rjconsultores.ventaboletos.service.OperadorEmbarcadaService; + +@Service("operadorEmbarcadaService") +public class OperadorEmbarcadaServiceImpl implements OperadorEmbarcadaService { + + @Autowired + private OperadorEmbarcadaDAO operadorDAO; + @Autowired + private OperadorEmbarcadaServicoDAO opServicoDAO; + @Autowired + private OperadorEmbarcadaLinhaDAO opLinhaDAO; + + @Transactional(rollbackFor = BusinessException.class) + @Override + public OperadorEmbarcada suscribirActualizar(OperadorEmbarcada operador, List linhas, List listaServicos) throws BusinessException { + + if (operador.getOperadorEmbarcadaId() != null) { + List listaOpServico = opServicoDAO.buscarPorOperador(operador); + + List listaOpLinha = opLinhaDAO.buscarPorOperador(operador); + + for(OperadorEmbarcadaServico serv : listaOpServico) { + operador.getServicos().remove(serv); + serv.setOperadorEmbarcada(null); + opServicoDAO.borrar(serv); + } + + for(OperadorEmbarcadaLinha linha : listaOpLinha) { + operador.getLinhas().remove(linha); + linha.setOperadorEmbarcada(null); + opLinhaDAO.borrar(linha); + } + } + + operador.setLinhas(linhas); + operador.setServicos(listaServicos); + + if (operador.getOperadorEmbarcadaId() == null) { + operador = operadorDAO.suscribir(operador); + } else { + operador = operadorDAO.actualizacion(operador); + } + return operador; + } + + @Transactional + @Override + public void apagar(OperadorEmbarcada operador) throws BusinessException { + operadorDAO.borrar(operador); + } +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java index a316103fa..869882788 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/PuntoVentaServiceImpl.java @@ -199,7 +199,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { private void integrarFornecedorAG(PuntoVenta entidad) { try { IAGservice service = new IAGserviceLocator(); - IAG iag = service.getIAGPort(new URL(DaoAG.getInstance().obterConstante(Constantes.URL_WS_AG))); + IAG iag = null; //service.getIAGPort(new URL(DaoAG.getInstance().obterConstante(Constantes.URL_WS_AG))); TFornecedor fornecedor = null; String strFornecedor = ""; try{ @@ -270,7 +270,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService { try { IAGservice service = new IAGserviceLocator(); - IAG iag = service.getIAGPort(new URL(DaoAG.getInstance().obterConstante(Constantes.URL_WS_AG))); + IAG iag = null; // service.getIAGPort(new URL(DaoAG.getInstance().obterConstante(Constantes.URL_WS_AG))); TCliente cli = null; String cliStr = ""; try {