From 2fc7e9974f8cce8fb06db7f50006faaead5b374b Mon Sep 17 00:00:00 2001 From: fabio Date: Mon, 23 Nov 2020 18:10:37 +0000 Subject: [PATCH] fixes bug#20993 dev: Valvevir qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@104454 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/ParadaDAO.java | 2 + .../ventaboletos/dao/TarifaMinimaDAO.java | 9 +- .../CategoriaDescuentoHibernateDAO.java | 9 +- .../OperadorEmbarcadaServicoHibernateDAO.java | 26 +++--- .../dao/hibernate/ParadaHibernateDAO.java | 9 ++ .../dao/hibernate/TarifaHibernateDAO.java | 31 +++++-- .../hibernate/TarifaMinimaHibernateDAO.java | 86 ++++++++++++++++--- .../dao/hibernate/TramoHibernateDAO.java | 29 ++++--- .../ventaboletos/vo/tramo/TramoVO.java | 18 ++++ 9 files changed, 165 insertions(+), 54 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java b/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java index 2ad7b9cba..fd0dfc5ed 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ParadaDAO.java @@ -54,4 +54,6 @@ public interface ParadaDAO { public List buscaParadaRegionMetropolitana(RegionMetropolitana regionMetropolitana); public List buscarListaPorIds(List paradaIds); + + public Parada buscarPorId(Integer paradaId); } diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaMinimaDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaMinimaDAO.java index 8cae9aedc..452a99607 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TarifaMinimaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TarifaMinimaDAO.java @@ -4,18 +4,17 @@ */ package com.rjconsultores.ventaboletos.dao; +import java.math.BigDecimal; +import java.util.List; + import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.Moneda; -import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Plaza; import com.rjconsultores.ventaboletos.entidad.TarifaMinima; import com.rjconsultores.ventaboletos.entidad.TarifaMinimaCategoria; -import java.math.BigDecimal; -import java.util.List; - /** * * @author rodrigo @@ -48,5 +47,7 @@ public interface TarifaMinimaDAO extends GenericDAO { public TarifaMinimaCategoria adicionarTarifaMinimaCategoria(TarifaMinimaCategoria tarifaMinimaCategoria); public void removerTarifaMinimaCategoria(TarifaMinimaCategoria tarifaMinimaCategoria); + + public BigDecimal obtenerTarifaMinima(Integer claseServicioId, Integer marcaId, Integer origenConsultaId, Integer destinoConsultaId, Integer plazaId, Integer monedaId, Integer rutaId, Integer categoriaId); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/CategoriaDescuentoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/CategoriaDescuentoHibernateDAO.java index a23567596..3e0383762 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/CategoriaDescuentoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/CategoriaDescuentoHibernateDAO.java @@ -44,13 +44,8 @@ public class CategoriaDescuentoHibernateDAO .add(Restrictions.eq("activo", Boolean.TRUE)) .add(Restrictions.eq("e.empresaId", empresaId)) .add(Restrictions.eq("categoria.categoriaId", categoriaId)); + c.setMaxResults(1); - List list = c.list(); - - if (list == null || list.isEmpty()) { - return null; - } else { - return list.get(0); - } + return (CategoriaDescuento) c.uniqueResult(); } } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java index d945c14b9..b1b128ab3 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/OperadorEmbarcadaServicoHibernateDAO.java @@ -361,11 +361,13 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO tramosequencia = query.list(); - - CategoriaDescuento categoriaDescuento = categoriaDescuentoDAO.pesquisarPorCategoriaEmpresa(Constantes.CATEGORIA_NORMAL, corrida.getEmpresaId()); HashSet setTramo = new HashSet(); @@ -576,14 +580,6 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO imp return c.list(); } + + @Override + public Parada buscarPorId(Integer paradaId) { + Criteria c = this.makeCriteria(); + c.add(Restrictions.eq("paradaId", paradaId)); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + return (Parada) c.uniqueResult(); + } } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaHibernateDAO.java index 8a2d0feff..3b16a134a 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaHibernateDAO.java @@ -9,7 +9,6 @@ import java.util.List; import org.apache.commons.lang.Validate; import org.apache.log4j.Logger; import org.hibernate.Criteria; -import org.hibernate.Hibernate; import org.hibernate.Query; import org.hibernate.SQLQuery; import org.hibernate.Session; @@ -17,12 +16,15 @@ import org.hibernate.SessionFactory; import org.hibernate.criterion.Projections; import org.hibernate.criterion.Restrictions; import org.hibernate.transform.Transformers; +import org.hibernate.type.BigDecimalType; +import org.hibernate.type.DateType; +import org.hibernate.type.IntegerType; +import org.hibernate.type.StringType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; -import com.rjconsultores.ventaboletos.dao.RutaDAO; import com.rjconsultores.ventaboletos.dao.TarifaDAO; import com.rjconsultores.ventaboletos.entidad.Categoria; import com.rjconsultores.ventaboletos.entidad.ClaseServicio; @@ -45,11 +47,10 @@ import com.rjconsultores.ventaboletos.vo.comissao.TarifaVO; * * @author rodrigo */ +@SuppressWarnings("unchecked") @Repository("tarifaDAO") public class TarifaHibernateDAO extends GenericHibernateDAO implements TarifaDAO { - @Autowired - private RutaDAO rutaDAO; private static Logger log = Logger.getLogger(TarifaHibernateDAO.class); @Autowired @@ -450,7 +451,27 @@ public class TarifaHibernateDAO extends GenericHibernateDAO imp sql.append(" and rc.tramo_id=t.tramo_id and rc.ruta_id=t.ruta_id and rc.activo=1 and rc.INDVENTA="+simNao); } - Query qr = getSession().createSQLQuery(sql.toString()).addScalar("tarifaid", Hibernate.INTEGER).addScalar("precio", Hibernate.BIG_DECIMAL).addScalar("preciooriginal", Hibernate.BIG_DECIMAL).addScalar("importepedagio", Hibernate.BIG_DECIMAL).addScalar("importetaxaembarque", Hibernate.BIG_DECIMAL).addScalar("importeseguro", Hibernate.BIG_DECIMAL).addScalar("importetpp", Hibernate.BIG_DECIMAL).addScalar("importeoutros", Hibernate.BIG_DECIMAL).addScalar("statustarifa", Hibernate.STRING).addScalar("descparadaOrigem", Hibernate.STRING).addScalar("descparadaDestino", Hibernate.STRING).addScalar("nomeVia", Hibernate.STRING).addScalar("descMarca", Hibernate.STRING).addScalar("feciniciovigencia", Hibernate.DATE).addScalar("fecfimvigencia", Hibernate.DATE).addScalar("descclasse", Hibernate.STRING).addScalar("descorgao", Hibernate.STRING).addScalar("rutaprefixo", Hibernate.STRING).addScalar("numruta", Hibernate.STRING).setResultTransformer(Transformers.aliasToBean(TarifaVO.class)); + Query qr = getSession().createSQLQuery(sql.toString()) + .addScalar("tarifaid", IntegerType.INSTANCE) + .addScalar("precio", BigDecimalType.INSTANCE) + .addScalar("preciooriginal", BigDecimalType.INSTANCE) + .addScalar("importepedagio", BigDecimalType.INSTANCE) + .addScalar("importetaxaembarque", BigDecimalType.INSTANCE) + .addScalar("importeseguro", BigDecimalType.INSTANCE) + .addScalar("importetpp", BigDecimalType.INSTANCE) + .addScalar("importeoutros", BigDecimalType.INSTANCE) + .addScalar("statustarifa", StringType.INSTANCE) + .addScalar("descparadaOrigem", StringType.INSTANCE) + .addScalar("descparadaDestino", StringType.INSTANCE) + .addScalar("nomeVia", StringType.INSTANCE) + .addScalar("descMarca", StringType.INSTANCE) + .addScalar("feciniciovigencia", DateType.INSTANCE) + .addScalar("fecfimvigencia", DateType.INSTANCE) + .addScalar("descclasse", StringType.INSTANCE) + .addScalar("descorgao", StringType.INSTANCE) + .addScalar("rutaprefixo", StringType.INSTANCE) + .addScalar("numruta", StringType.INSTANCE) + .setResultTransformer(Transformers.aliasToBean(TarifaVO.class)); qr.setMaxResults(5000); return (List) qr.list(); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaMinimaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaMinimaHibernateDAO.java index ca9b795c6..a0aa46106 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaMinimaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaMinimaHibernateDAO.java @@ -4,20 +4,11 @@ */ package com.rjconsultores.ventaboletos.dao.hibernate; -import com.rjconsultores.ventaboletos.dao.TarifaMinimaDAO; -import com.rjconsultores.ventaboletos.entidad.ClaseServicio; -import com.rjconsultores.ventaboletos.entidad.Marca; -import com.rjconsultores.ventaboletos.entidad.Moneda; -import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; -import com.rjconsultores.ventaboletos.entidad.Parada; -import com.rjconsultores.ventaboletos.entidad.Plaza; -import com.rjconsultores.ventaboletos.entidad.TarifaMinima; -import com.rjconsultores.ventaboletos.entidad.TarifaMinimaCategoria; - import java.math.BigDecimal; import java.util.List; import org.hibernate.Criteria; +import org.hibernate.Query; import org.hibernate.SessionFactory; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Disjunction; @@ -27,10 +18,20 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; +import com.rjconsultores.ventaboletos.dao.TarifaMinimaDAO; +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.Marca; +import com.rjconsultores.ventaboletos.entidad.Moneda; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Plaza; +import com.rjconsultores.ventaboletos.entidad.TarifaMinima; +import com.rjconsultores.ventaboletos.entidad.TarifaMinimaCategoria; + /** * * @author rodrigo */ +@SuppressWarnings("unchecked") @Repository("tarifaMinimaDAO") public class TarifaMinimaHibernateDAO extends GenericHibernateDAO implements TarifaMinimaDAO { @@ -228,4 +229,69 @@ public class TarifaMinimaHibernateDAO extends GenericHibernateDAO listTarifaMinima = miQry.list(); + if (!listTarifaMinima.isEmpty()) { + tarifaMinima = listTarifaMinima.get(0).getImportetarifa(); + } + + return tarifaMinima; + } } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TramoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TramoHibernateDAO.java index 469b84a7b..082c9ed20 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TramoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TramoHibernateDAO.java @@ -153,13 +153,13 @@ public class TramoHibernateDAO extends GenericHibernateDAO c.add(Restrictions.eq("via", via)); c.add(Restrictions.eq("activo", Boolean.TRUE)); - c.setFetchMode("origem", FetchMode.LAZY); - c.setFetchMode("destino", FetchMode.LAZY); - c.setFetchMode("lsTramoTiempo", FetchMode.LAZY); - c.setFetchMode("rutaSecuenciaList", FetchMode.LAZY); - c.setFetchMode("rutaCombinacionList", FetchMode.LAZY); - c.setFetchMode("tramoServicioList", FetchMode.LAZY); - c.setFetchMode("tramoKms", FetchMode.LAZY); + c.setFetchMode("origem", FetchMode.SELECT); + c.setFetchMode("destino", FetchMode.SELECT); + c.setFetchMode("lsTramoTiempo", FetchMode.SELECT); + c.setFetchMode("rutaSecuenciaList", FetchMode.SELECT); + c.setFetchMode("rutaCombinacionList", FetchMode.SELECT); + c.setFetchMode("tramoServicioList", FetchMode.SELECT); + c.setFetchMode("tramoKms", FetchMode.SELECT); Criteria c2 = c.createCriteria("tramoServicioList"); c2.add(Restrictions.eq("claseServicio", claseServicio)); @@ -204,15 +204,17 @@ public class TramoHibernateDAO extends GenericHibernateDAO StringBuilder sql = new StringBuilder(); sql.append(" SELECT "); - sql.append(" trm.tramo_id AS tramoid, "); - sql.append(" trm.desctramo AS desctramo, "); - sql.append(" trm.origen_id AS origemId, "); - sql.append(" trm.destino_id AS destinoId, "); + sql.append(" trm.tramo_id AS tramoid, "); + sql.append(" trm.desctramo AS desctramo, "); + sql.append(" trm.origen_id AS origemId, "); + sql.append(" trm.destino_id AS destinoId, "); + sql.append(" ta.moneda_id AS monedaId, "); sql.append(" coalesce(ta.importetaxaembarque, 0) AS valorTaxa, "); sql.append(" coalesce(ta.importepedagio, 0) AS valorPedagio, "); sql.append(" coalesce(ta.importeoutros, 0) AS valorOutros, "); sql.append(" coalesce(ta.importeseguro, 0) AS valorSeguro, "); - sql.append(" coalesce(ta.precio, 0) AS valorTarifa "); + sql.append(" coalesce(ta.precio, 0) AS valorTarifa, "); + sql.append(" 0 AS tarifaMinima "); sql.append(" FROM "); sql.append(" ruta_combinacion rc "); sql.append(" JOIN tramo trm ON trm.tramo_id = rc.tramo_id AND trm.activo = 1 "); @@ -255,12 +257,13 @@ public class TramoHibernateDAO extends GenericHibernateDAO .addScalar("desctramo", StringType.INSTANCE) .addScalar("origemId", IntegerType.INSTANCE) .addScalar("destinoId", IntegerType.INSTANCE) -// .addScalar("rutaId", IntegerType.INSTANCE) + .addScalar("monedaId", IntegerType.INSTANCE) .addScalar("valorTaxa", BigDecimalType.INSTANCE) .addScalar("valorPedagio", BigDecimalType.INSTANCE) .addScalar("valorOutros", BigDecimalType.INSTANCE) .addScalar("valorSeguro", BigDecimalType.INSTANCE) .addScalar("valorTarifa", BigDecimalType.INSTANCE) + .addScalar("tarifaMinima", BigDecimalType.INSTANCE) .setResultTransformer(Transformers.aliasToBean(TramoVO.class)); String[] split = chaveCorrida.split(";"); diff --git a/src/com/rjconsultores/ventaboletos/vo/tramo/TramoVO.java b/src/com/rjconsultores/ventaboletos/vo/tramo/TramoVO.java index 7600e2d1e..a30104a7a 100644 --- a/src/com/rjconsultores/ventaboletos/vo/tramo/TramoVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/tramo/TramoVO.java @@ -20,6 +20,7 @@ public class TramoVO implements Serializable{ private BigDecimal valorSeguro; private BigDecimal valorPedagio; private BigDecimal valorOutros; + private BigDecimal tarifaMinima; private Integer aliasorigenId; private Integer aliasdestinoId; private String descAliasorigen; @@ -28,6 +29,7 @@ public class TramoVO implements Serializable{ private Integer origemId; private Integer destinoId; private Integer rutaId; + private Integer monedaId; public TramoVO() { //construtor default @@ -208,4 +210,20 @@ public class TramoVO implements Serializable{ this.rutaId = rutaId; } + public BigDecimal getTarifaMinima() { + return tarifaMinima; + } + + public void setTarifaMinima(BigDecimal tarifaMinima) { + this.tarifaMinima = tarifaMinima; + } + + public Integer getMonedaId() { + return monedaId; + } + + public void setMonedaId(Integer monedaId) { + this.monedaId = monedaId; + } + }