0013747: Configuração Venda Embarcada

bug#13747
dev:daniel
qua:rogerio

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@91414 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdir 2019-04-01 14:17:47 +00:00
parent d5beb3c9e2
commit 26298f3431
15 changed files with 540 additions and 2 deletions

View File

@ -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_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_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_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";

View File

@ -0,0 +1,12 @@
package com.rjconsultores.ventaboletos.dao;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
public interface OperadorEmbarcadaDAO extends GenericDAO<OperadorEmbarcada, Long> {
public List<OperadorEmbarcada> buscarTodosOperadores();
public OperadorEmbarcada burcarOperadorPorId(Long operadorEmbarcadaID);
}

View File

@ -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<OperadorEmbarcadaLinha, Long> {
public List<OperadorEmbarcadaLinha> buscarPorOperador(OperadorEmbarcada operador);
}

View File

@ -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<OperadorEmbarcadaServico, Long> {
public List<OperadorEmbarcadaServico> buscarPorOperador(OperadorEmbarcada operador);
}

View File

@ -69,4 +69,6 @@ public interface RutaDAO extends GenericDAO<Ruta, Integer> {
public void updateAsientosVendibles(Ruta ruta, Tramo viejoTramo, Tramo nuevoTramo); public void updateAsientosVendibles(Ruta ruta, Tramo viejoTramo, Tramo nuevoTramo);
public List<Ruta> buscarRutasVendaEmbarcada(List<Integer> empresasIds, Integer rutaId, String numeroLinha, String descRuta, ClaseServicio classe);
} }

View File

@ -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<OperadorEmbarcada, Long> implements OperadorEmbarcadaDAO {
@Autowired
public OperadorEmbarcadaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@SuppressWarnings("unchecked")
@Override
public List<OperadorEmbarcada> 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();
}
}

View File

@ -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<OperadorEmbarcadaLinha, Long> implements OperadorEmbarcadaLinhaDAO {
@Autowired
public OperadorEmbarcadaLinhaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public List<OperadorEmbarcadaLinha> buscarPorOperador(OperadorEmbarcada operador) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("operadorEmbarcada", operador));
return c.list();
}
}

View File

@ -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<OperadorEmbarcadaServico, Long> implements OperadorEmbarcadaServicoDAO {
@Autowired
public OperadorEmbarcadaServicoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public List<OperadorEmbarcadaServico> buscarPorOperador(OperadorEmbarcada operador) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("operadorEmbarcada", operador));
return c.list();
}
}

View File

@ -375,4 +375,39 @@ public class RutaHibernateDAO extends GenericHibernateDAO<Ruta, Integer> impleme
} }
} }
@Override
public List<Ruta> buscarRutasVendaEmbarcada(List<Integer> 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();
}
} }

View File

@ -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<OperadorEmbarcadaLinha> linhas;
@OneToMany(mappedBy = "operadorEmbarcada", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
@Where(clause="activo=1")
private List<OperadorEmbarcadaServico> 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<OperadorEmbarcadaLinha> getLinhas() {
List<OperadorEmbarcadaLinha> tmp = new ArrayList<OperadorEmbarcadaLinha>();
if (linhas != null) {
for (OperadorEmbarcadaLinha es : linhas) {
if (es.getActivo()) {
tmp.add(es);
}
}
}
return tmp;
}
public void setLinhas(List<OperadorEmbarcadaLinha> linhas) {
this.linhas = linhas;
}
public List<OperadorEmbarcadaServico> getServicos() {
List<OperadorEmbarcadaServico> tmp = new ArrayList<OperadorEmbarcadaServico>();
if (servicos != null) {
for (OperadorEmbarcadaServico es : servicos) {
if (es.getActivo()) {
tmp.add(es);
}
}
}
return tmp;
}
public void setServicos(List<OperadorEmbarcadaServico> 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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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<OperadorEmbarcadaLinha> linhas, List<OperadorEmbarcadaServico> listaServicos) throws BusinessException;
public void apagar(OperadorEmbarcada operador) throws BusinessException;
}

View File

@ -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<OperadorEmbarcadaLinha> linhas, List<OperadorEmbarcadaServico> listaServicos) throws BusinessException {
if (operador.getOperadorEmbarcadaId() != null) {
List<OperadorEmbarcadaServico> listaOpServico = opServicoDAO.buscarPorOperador(operador);
List<OperadorEmbarcadaLinha> 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);
}
}

View File

@ -199,7 +199,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
private void integrarFornecedorAG(PuntoVenta entidad) { private void integrarFornecedorAG(PuntoVenta entidad) {
try { try {
IAGservice service = new IAGserviceLocator(); 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; TFornecedor fornecedor = null;
String strFornecedor = ""; String strFornecedor = "";
try{ try{
@ -270,7 +270,7 @@ public class PuntoVentaServiceImpl implements PuntoVentaService {
try { try {
IAGservice service = new IAGserviceLocator(); 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; TCliente cli = null;
String cliStr = ""; String cliStr = "";
try { try {