From 34645377547262d9579fb295b29c5b679eefd15a Mon Sep 17 00:00:00 2001 From: frederico Date: Mon, 8 Aug 2016 19:18:54 +0000 Subject: [PATCH] fixed bug #7797 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@58857 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../hibernate/TarifaOficialHibernateDAO.java | 84 ++++++++-------- .../dao/sqlbuilder/SQLBuilder.java | 7 +- .../dao/sqlbuilder/impl/SQLBuilderOracle.java | 96 ++++++++++--------- 3 files changed, 102 insertions(+), 85 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java index 2f4a394e6..9e1c907a2 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java @@ -3,11 +3,14 @@ package com.rjconsultores.ventaboletos.dao.hibernate; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.hibernate.Query; import org.hibernate.SQLQuery; import org.hibernate.SessionFactory; +import org.hibernate.transform.Transformers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -17,7 +20,8 @@ import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO; import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder; import com.rjconsultores.ventaboletos.entidad.Empresa; -import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente;import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; +import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; @@ -25,7 +29,7 @@ import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; public class TarifaOficialHibernateDAO extends GenericHibernateDAO implements TarifaOficialDAO { private static Logger log = LoggerFactory.getLogger(TarifaOficialHibernateDAO.class); - + @Autowired private SQLBuilder sqlBuilder; @@ -43,7 +47,7 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO idsEmpresas) { @@ -53,7 +57,7 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO idsEmpresas) { @@ -106,28 +110,28 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO dados, Integer usuarioId, Boolean calculaPegagio, Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro); + public String getSQLInserirTarifaPelaTarifaOficial(Integer vigenciaTarifaId, Integer usuarioId, Empresa empresa, OrgaoConcedente orgao); public String getSQLActualizarCorridaFecHusoFecVerano(); diff --git a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java index 2e2395787..c8166d49f 100644 --- a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java +++ b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java @@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.dao.sqlbuilder.impl; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; +import java.util.Map; import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder; import com.rjconsultores.ventaboletos.dao.util.DBUtil; @@ -659,59 +660,64 @@ public class SQLBuilderOracle implements SQLBuilder { } @Override - public String getSQLAtualizarTarifaPorTarifaOfical(final Integer vigenciaTarifaId, final Integer usuarioId, final Boolean calculaPegagio, final Boolean calculaTarifa, final Boolean calculaTaxaEmbarque, final Boolean calculaSeguro, Empresa empresa, OrgaoConcedente orgao) { + public String getSQLSelecionarTarifaPorTarifaOficalParaAtualizar(final Integer vigenciaTarifaId, Empresa empresa, OrgaoConcedente orgao) { StringBuilder sb = new StringBuilder(""); - sb.append("update ( "); - sb.append(" "); - sb.append("select "); - sb.append(" ta.precio as taprecio, "); - sb.append(" ta.preciooriginal as tapreciooriginal, "); - sb.append(" ta.importetaxaembarque as taimportetaxaembarque, "); - sb.append(" ta.importepedagio as taimportepedagio, "); - sb.append(" ta.importeoutros as taimporteoutros, "); - sb.append(" ta.importeseguro as taimporteseguro, "); - sb.append(" tao.precio as taoprecio, "); - sb.append(" tao.preciooriginal as taopreciooriginal, "); - sb.append(" tao.importetaxaembarque as taoimportetaxaembarque, "); - sb.append(" tao.importepedagio as taoimportepedagio, "); - sb.append(" tao.importeoutros as taoimporteoutros, "); - sb.append(" tao.importeseguro as taoimporteseguro, "); - sb.append(" ta.fecmodif as tafecmodif,ta.usuario_id as tausuario_id "); - sb.append("from "); - sb.append(" tarifa_oficial tao "); - sb.append(" inner join tarifa ta on "); - sb.append(" tao.marca_id = ta.marca_id "); - sb.append(" and tao.claseservicio_id = ta.claseservicio_id "); - sb.append(" and tao.tramo_id = ta.tramo_id "); - sb.append(" and tao.moneda_id = ta.moneda_id "); - sb.append(" and tao.ruta_id = ta.ruta_id "); - sb.append(" and tao.orgaoconcedente_id = ta.orgaoconcedente_id "); - sb.append(" inner join marca m ON tao.marca_id = m.marca_id "); - sb.append("where "); - sb.append(" ta.vigenciatarifa_id = ").append(vigenciaTarifaId); + + sb.append("SELECT tao.IMPORTEPEDAGIO AS \"taoimportepedagio\", "); + sb.append(" tao.PRECIO AS \"taoprecio\", "); + sb.append(" tao.PRECIOORIGINAL AS \"taopreciooriginal\", "); + sb.append(" tao.IMPORTETAXAEMBARQUE AS \"taoimportetaxaembarque\", "); + sb.append(" tao.IMPORTESEGURO AS \"taoimporteseguro\", "); + sb.append(" tao.IMPORTEOUTROS AS \"taoimporteoutros\", "); + sb.append(" ta.TARIFA_ID AS \"tarifaId\" "); + + sb.append("FROM TARIFA_OFICIAL tao " ); + sb.append("INNER JOIN TARIFA ta ON (tao.MARCA_ID = ta.MARCA_ID "); + sb.append(" AND tao.CLASESERVICIO_ID = ta.CLASESERVICIO_ID "); + sb.append(" AND tao.TRAMO_ID = ta.TRAMO_ID "); + sb.append(" AND tao.MONEDA_ID = ta.MONEDA_ID "); + sb.append(" AND tao.RUTA_ID = ta.RUTA_ID "); + sb.append(" AND tao.ORGAOCONCEDENTE_ID = ta.ORGAOCONCEDENTE_ID "); + sb.append(" )"); + sb.append("INNER JOIN MARCA mTa ON tao.MARCA_ID = mTa.MARCA_ID "); + sb.append("INNER JOIN MARCA mTao ON ta.MARCA_ID = mTao.MARCA_ID "); + + sb.append("WHERE ta.VIGENCIATARIFA_ID = ").append(vigenciaTarifaId); + if(orgao != null){ - sb.append(" and tao.orgaoconcedente_id = ").append(orgao.getOrgaoConcedenteId()); + sb.append(" AND tao.ORGAOCONCEDENTE_ID = ").append(orgao.getOrgaoConcedenteId()); } if(empresa != null){ - sb.append(" and m.empresa_id = ").append(empresa.getEmpresaId()); + sb.append(" AND mTa.EMPRESA_ID = ").append(empresa.getEmpresaId()); + sb.append(" AND mTao.EMPRESA_ID = ").append(empresa.getEmpresaId()); } - sb.append(" ) set "); - if (calculaPegagio) { - sb.append(" taimportepedagio = taoimportepedagio,"); + + return sb.toString(); + } + + @Override + public String getSQLAtualizarTarifaPorTarifaOfical(Map dados, Integer usuarioId, Boolean calculaPegagio, + Boolean calculaTarifa, Boolean calculaTaxaEmbarque, Boolean calculaSeguro){ + + StringBuilder sb = new StringBuilder(""); + sb.append("UPDATE TARIFA SET "); + + if(calculaPegagio){ + sb.append("IMPORTEPEDAGIO=").append(dados.get("taimportepedagio")).append(","); } - if (calculaTarifa) { - sb.append(" taprecio = taoprecio, "); - sb.append(" tapreciooriginal = taopreciooriginal, "); + if(calculaTarifa){ + sb.append("PRECIO=").append(dados.get("taoprecio")).append(",PRECIOORIGINAL=").append(dados.get("taopreciooriginal")).append(","); } - if (calculaTaxaEmbarque) { - sb.append(" taimportetaxaembarque = taoimportetaxaembarque, "); + if(calculaTaxaEmbarque){ + sb.append("IMPORTETAXAEMBARQUE=").append(dados.get("taoimportetaxaembarque")).append(","); } - if (calculaSeguro) { - sb.append(" taimporteseguro = taoimporteseguro, "); - } - sb.append(" taimporteoutros = taoimporteoutros, "); - sb.append(" tafecmodif = current_timestamp, tausuario_id = ").append(usuarioId); - + if(calculaSeguro){ + sb.append("IMPORTESEGURO=").append(dados.get("taoimporteseguro")).append(","); + } + sb.append("IMPORTEOUTROS=").append(dados.get("taoimporteoutros")).append(","); + sb.append("FECMODIF= current_timestamp, USUARIO_ID=").append(usuarioId); + sb.append(" WHERE TARIFA_ID = ").append(dados.get("tarifaId")); + return sb.toString(); }