From 2fcfbd81ee5883ec5b2eadd01a12b7a79a0b8f94 Mon Sep 17 00:00:00 2001 From: gleimar Date: Tue, 22 Sep 2015 15:35:08 +0000 Subject: [PATCH] fixes bug#6641 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@48073 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/TarifaOficialDAO.java | 3 ++- .../hibernate/TarifaOficialHibernateDAO.java | 8 +++--- .../dao/sqlbuilder/SQLBuilder.java | 7 +++-- .../dao/sqlbuilder/impl/SQLBuilderOracle.java | 26 ++++++++++++++----- .../service/TarifaOficialService.java | 3 ++- .../impl/TarifaOficialServiceImpl.java | 6 ++--- 6 files changed, 34 insertions(+), 19 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java index b760a9ccc..1a96f357c 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java @@ -43,8 +43,9 @@ public interface TarifaOficialDAO extends GenericDAO{ * @param rutaId * @param usuarioId TODO * @param orgaoConcedenteId TODO + * @param empresaId TODO */ - public void atualizarTaxaEmbarque(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId); + public void atualizarTaxaEmbarque(Integer rutaId, Integer usuarioId, Integer orgaoConcedenteId, Integer empresaId); /** * See {@link TarifaOficialService#atualizarSeguroPorKm(Integer, Integer, Integer)} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java index 407824b4c..ca3c6bc27 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java @@ -136,18 +136,18 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO= "); sb.append(" t.CANTKMREAL and tepKm.activo = 1 and tepKm.indtipo = 'K' "); + sb.append(" inner join marca m on m.marca_id = tao.marca_id "); sb.append("where "); sb.append(" tepKm.kmate= "); sb.append(" (select min(tepKm1.KMATE) "); @@ -443,11 +443,15 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" ) "); sb.append(" and tao.marca_id = tarifa_oficial.marca_id "); sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); + sb.append(" and tao.orgaoconcedente_id = tepKm.orgaoconcedente_id "); sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append(" and tepKm.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); + if (empresaId != null) { + sb.append(" and m.empresa_id = ").append(empresaId); + } sb.append(") "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); sb.append(" "); @@ -459,13 +463,13 @@ public class SQLBuilderOracle implements SQLBuilder { if (orgaoConcedenteId != null) { sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId); } + return sb.toString(); } @Override - public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId, - final Integer orgaoConcedenteId) { + public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, Integer empresaId) { StringBuilder sb = new StringBuilder(""); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("coalesce( "); @@ -479,6 +483,7 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" inner join taxa_embarque_km tek on "); sb.append(" tek.orgaoconcedente_id = tao.ORGAOCONCEDENTE_ID "); sb.append(" and tek.activo = 1 and t.CANTKMREAL <= tek.kmate "); + sb.append(" inner join marca m on tao.marca_id = m.marca_id "); sb.append("where "); sb.append(" tek.kmate= "); sb.append(" (select min(tek1.KMATE) "); @@ -491,10 +496,16 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" "); sb.append(" and tao.marca_id = tarifa_oficial.marca_id "); sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); + sb.append(" and tao.orgaoconcedente_id = tek.orgaoconcedente_id "); sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); + + if (empresaId != null) { + sb.append(" and m.empresa_id = ").append(empresaId); + } + sb.append("),IMPORTETAXAEMBARQUE) "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); sb.append(" "); @@ -512,8 +523,7 @@ public class SQLBuilderOracle implements SQLBuilder { } @Override - public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId, - final Integer orgaoConcedenteId) { + public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId,final Integer orgaoConcedenteId, Integer empresaId) { StringBuilder sb = new StringBuilder(""); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); @@ -528,6 +538,7 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" inner join TAXA_EMBARQUE_PARADA tepFixo on "); sb.append(" tepFixo.parada_id = t.origen_id "); sb.append(" and tepFixo.indtipo = 'F' and tepFixo.activo = 1 "); + sb.append(" inner join marca m on m.marca_id = tao.marca_id "); sb.append("where "); sb.append(" tao.marca_id = tarifa_oficial.marca_id "); sb.append(" and tao.orgaoconcedente_id = tepFixo.orgaoconcedente_id "); @@ -536,6 +547,9 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); + if (empresaId != null) { + sb.append(" and m.empresa_id = ").append(empresaId); + } sb.append("),IMPORTETAXAEMBARQUE) "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = ").append(DBUtil.getInstance().dbSysdate()).append(" "); sb.append(" "); diff --git a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java index 479d4961b..f70e28d17 100644 --- a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java +++ b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java @@ -82,9 +82,10 @@ public interface TarifaOficialService { * @param rutaId - Se informado, será atualizado apenas a taxa de embarque da ruta informada * @param orgaoConcedenteId - Se informado, será atualizado apenas a taxa de embarque do órgão informado * @param gerarTabelaZerada - Indica se uma tabela zerada será gerada. Isso para a possibilidade de gerar apenas a taxa de embarque sem preço + * @param empresaId - Empresa para ser filtrada * @throws BusinessException */ - public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada) throws BusinessException; + public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada, Integer empresaId) throws BusinessException; /** diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java index 5222d37e6..8e5a96caf 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java @@ -85,12 +85,12 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { @Override @Transactional(rollbackFor = BusinessException.class) - public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada) throws BusinessException{ + public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada, Integer empresaId) throws BusinessException{ if (gerarTabelaZerada){ - gerarAtualizarTabelaZerada(rutaId, orgaoConcedenteId, null); + gerarAtualizarTabelaZerada(rutaId, orgaoConcedenteId, empresaId); } - tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); + tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId); } @Override