16516: Tabela de Preço diferenciada para VENDA EMBARCADA

fixes bug#16516
dev:valdir
qua:cleverson

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@98341 d1611594-4594-4d17-8e1d-87c2c4800839
master
leonardo 2019-10-18 18:50:03 +00:00
parent 5917a6c9ad
commit dbd9c3da69
5 changed files with 44 additions and 16 deletions

View File

@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.dao;
import java.util.Date;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
@ -13,8 +14,8 @@ public interface OperadorEmbarcadaServicoDAO extends GenericDAO<OperadorEmbarcad
public List<OperadorEmbarcadaServico> buscarPorOperador(OperadorEmbarcada operador);
// public OperadorEmbarcada buscarOperadorEmbarcadaPorUsuario(Integer idUsuario);
public List<CorridaVO> getListaCorridaVO(Integer operador, Integer empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta);
public List<CorridaVO> getListaCorridaProxyVO(Integer operador, Integer empresa, Date dtIni, Date dtFim);
public List<CorridaVO> getListaCorridaVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta);
public List<CorridaVO> getListaCorridaProxyVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim);
public void preencherCorrida(CorridaVO corrida, PuntoVenta puntoVenta);
public void preencherCorrida(CorridaVO corrida, PuntoVenta puntoVenta, Empresa empresa);
}

View File

@ -23,6 +23,7 @@ import com.rjconsultores.ventaboletos.dao.CategoriaDescuentoDAO;
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaServicoDAO;
import com.rjconsultores.ventaboletos.dao.util.DBUtil;
import com.rjconsultores.ventaboletos.entidad.CategoriaDescuento;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
@ -59,11 +60,11 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
}
@Override
public List<CorridaVO> getListaCorridaVO(Integer operador, Integer empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta) {
public List<CorridaVO> getListaCorridaVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta) {
List<CorridaVO> corridas = getCorridas(operador, empresa, dtIni, dtFim);
for (CorridaVO corrida : corridas) {
preencherTramosSequencias(corrida, puntoVenta);
preencherTramosSequencias(corrida, puntoVenta, empresa);
preencherSequencias(corrida);
}
@ -71,18 +72,18 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
}
@Override
public List<CorridaVO> getListaCorridaProxyVO(Integer operador, Integer empresa, Date dtIni, Date dtFim) {
public List<CorridaVO> getListaCorridaProxyVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim) {
return getCorridas(operador, empresa, dtIni, dtFim);
}
@Override
public void preencherCorrida(CorridaVO corrida, PuntoVenta puntoVenta) {
preencherTramosSequencias(corrida, puntoVenta);
public void preencherCorrida(CorridaVO corrida, PuntoVenta puntoVenta, Empresa empresa) {
preencherTramosSequencias(corrida, puntoVenta, empresa);
preencherSequencias(corrida);
}
@SuppressWarnings("unchecked")
private List<CorridaVO> getCorridas(Integer operador, Integer empresa, Date dtIni, Date dtFim) {
private List<CorridaVO> getCorridas(Integer operador, Empresa empresa, Date dtIni, Date dtFim) {
StringBuilder sb = new StringBuilder();
sb.append("select * from (SELECT");
@ -114,7 +115,11 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
sb.append(" JOIN CORRIDA_TRAMO CRT ON CRT.CORRIDA_ID = COR.CORRIDA_ID AND CRT.FECCORRIDA = COR.FECCORRIDA");
sb.append(" JOIN TRAMO TRM ON TRM.TRAMO_ID = CRT.TRAMO_ID");
sb.append(" JOIN RUTA_COMBINACION RC ON RC.RUTA_ID = COR.RUTA_ID AND RC.INDVENTA = 1");
sb.append(" JOIN TARIFA TA ON TA.TRAMO_ID = RC.TRAMO_ID AND TA.MARCA_ID = COR.MARCA_ID AND TA.RUTA_ID = COR.RUTA_ID");
if (empresa.getIndTabelaPrecoEmbarcada() != null && empresa.getIndTabelaPrecoEmbarcada()) {
sb.append(" JOIN TARIFA_EMBARCADA TA ON TA.TRAMO_ID = RC.TRAMO_ID AND TA.MARCA_ID = COR.MARCA_ID AND TA.RUTA_ID = COR.RUTA_ID");
} else {
sb.append(" JOIN TARIFA TA ON TA.TRAMO_ID = RC.TRAMO_ID AND TA.MARCA_ID = COR.MARCA_ID AND TA.RUTA_ID = COR.RUTA_ID");
}
sb.append(" JOIN VIGENCIA_TARIFA VT ON VT.VIGENCIATARIFA_ID = TA.VIGENCIATARIFA_ID");
sb.append(" JOIN PARADA ORI ON ORI.PARADA_ID = COR.ORIGEN_ID");
sb.append(" JOIN CIUDAD ORICID ON ORICID.CIUDAD_ID = ORI.CIUDAD_ID");
@ -188,7 +193,11 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
sb.append(" JOIN CORRIDA_TRAMO CRT ON CRT.CORRIDA_ID = COR.CORRIDA_ID AND CRT.FECCORRIDA = COR.FECCORRIDA ");
sb.append(" JOIN TRAMO TRM ON TRM.TRAMO_ID = CRT.TRAMO_ID ");
sb.append(" JOIN RUTA_COMBINACION RC ON RC.RUTA_ID = COR.RUTA_ID AND RC.INDVENTA = 1");
sb.append(" JOIN TARIFA TA ON TA.TRAMO_ID = RC.TRAMO_ID AND TA.MARCA_ID = COR.MARCA_ID AND TA.RUTA_ID = COR.RUTA_ID");
if (empresa.getIndTabelaPrecoEmbarcada() != null && empresa.getIndTabelaPrecoEmbarcada()) {
sb.append(" JOIN TARIFA_EMBARCADA TA ON TA.TRAMO_ID = RC.TRAMO_ID AND TA.MARCA_ID = COR.MARCA_ID AND TA.RUTA_ID = COR.RUTA_ID");
} else {
sb.append(" JOIN TARIFA TA ON TA.TRAMO_ID = RC.TRAMO_ID AND TA.MARCA_ID = COR.MARCA_ID AND TA.RUTA_ID = COR.RUTA_ID");
}
sb.append(" JOIN VIGENCIA_TARIFA VT ON VT.VIGENCIATARIFA_ID = TA.VIGENCIATARIFA_ID ");
sb.append(" JOIN PARADA ORI ON ORI.PARADA_ID = COR.ORIGEN_ID ");
sb.append(" JOIN CIUDAD ORICID ON ORICID.CIUDAD_ID = ORI.CIUDAD_ID ");
@ -294,7 +303,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
});
query.setInteger("usuarioId", operador);
query.setInteger("empresaId", empresa);
query.setInteger("empresaId", empresa.getEmpresaId());
query.setDate("dtIni", new java.sql.Date(dtIni.getTime()));
query.setDate("dtFim", new java.sql.Date(dtFim.getTime()));
@ -302,7 +311,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
}
@SuppressWarnings("unchecked")
private void preencherTramosSequencias(CorridaVO corrida, PuntoVenta puntoVenta) {
private void preencherTramosSequencias(CorridaVO corrida, PuntoVenta puntoVenta, Empresa empresa) {
StringBuilder sb = new StringBuilder();
sb.append(" SELECT");
@ -419,7 +428,11 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
sb.append(" JOIN VIA VIA ON VIA.VIA_ID = TRM.VIA_ID");
sb.append(" JOIN empresa emp ON emp.empresa_id = :empresaId ");
sb.append(" JOIN marca mar on mar.empresa_id = emp.empresa_id ");
sb.append(" JOIN TARIFA TA ON TA.MARCA_ID = mar.marca_Id AND TA.TRAMO_ID = TRM.TRAMO_ID AND TA.RUTA_ID = RC.RUTA_ID");
if (empresa.getIndTabelaPrecoEmbarcada() != null && empresa.getIndTabelaPrecoEmbarcada()) {
sb.append(" JOIN TARIFA_EMBARCADA TA ON TA.MARCA_ID = mar.marca_Id AND TA.TRAMO_ID = TRM.TRAMO_ID AND TA.RUTA_ID = RC.RUTA_ID");
} else {
sb.append(" JOIN TARIFA TA ON TA.MARCA_ID = mar.marca_Id AND TA.TRAMO_ID = TRM.TRAMO_ID AND TA.RUTA_ID = RC.RUTA_ID");
}
sb.append(" JOIN VIGENCIA_TARIFA VT ON VT.VIGENCIATARIFA_ID = TA.VIGENCIATARIFA_ID");
sb.append(" WHERE ");
sb.append(" RC.ACTIVO = 1");

View File

@ -294,6 +294,10 @@ public class Empresa implements Serializable {
@Column(name = "INDIMPSEGOPCIONALENTVDAPOSTERI")
private Boolean indImprimirSeguroOpcionalEntregaVdaImpPosterior;
@Column(name = "INDTABELAPRECOEMBARCADA")
private Boolean indTabelaPrecoEmbarcada;
public Empresa() {
super();
}
@ -1108,4 +1112,12 @@ public class Empresa implements Serializable {
this.indImprimirSeguroOpcionalEntregaVdaImpPosterior = indImprimirSeguroOpcionalEntregaVdaImpPosterior;
}
public Boolean getIndTabelaPrecoEmbarcada() {
return indTabelaPrecoEmbarcada == null ? false : indTabelaPrecoEmbarcada;
}
public void setIndTabelaPrecoEmbarcada(Boolean indTabelaPrecoEmbarcada) {
this.indTabelaPrecoEmbarcada = indTabelaPrecoEmbarcada;
}
}

View File

@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.service;
import java.util.Date;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaLinha;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico;
@ -21,5 +22,5 @@ public interface OperadorEmbarcadaService {
public PuntoVentaVO getPuntoVentaVO(Integer operador);
public List<CorridaVO> getListaCorridaVO(Integer operador, Integer empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta);
public List<CorridaVO> getListaCorridaVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta);
}

View File

@ -10,6 +10,7 @@ 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.Empresa;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaLinha;
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico;
@ -79,7 +80,7 @@ public class OperadorEmbarcadaServiceImpl implements OperadorEmbarcadaService {
}
@Override
public List<CorridaVO> getListaCorridaVO(Integer operador, Integer empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta) {
public List<CorridaVO> getListaCorridaVO(Integer operador, Empresa empresa, Date dtIni, Date dtFim, PuntoVenta puntoVenta) {
return opServicoDAO.getListaCorridaVO(operador, empresa, dtIni, dtFim, puntoVenta);
}