From 3e239a2c1b85642453a22c817c42a7d4af3c4189 Mon Sep 17 00:00:00 2001 From: frederico Date: Thu, 28 Jul 2016 17:05:39 +0000 Subject: [PATCH] fixed bug #7577 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@58399 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/TarifaOficialDAO.java | 4 +--- .../hibernate/TarifaOficialHibernateDAO.java | 20 ++++++++++++++----- .../impl/TarifaOficialServiceImpl.java | 4 ++-- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java index fdbd6866b..a3cbd7624 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java @@ -8,8 +8,6 @@ import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.service.TarifaOficialService; - - public interface TarifaOficialDAO extends GenericDAO{ /** * See {@link TarifaOficialService#gerarTarifaPorCoeficiente(Integer, Integer)} @@ -84,7 +82,7 @@ public interface TarifaOficialDAO extends GenericDAO{ */ public void aplicarArredondamentoTarifa(Integer orgaoConcedenteId, Integer usuarioId, Boolean taxaEmbarque); - public void limparTarifasOficiais(); + public void limparTarifasOficiais(List lsEmpresaSelected); public void atualizarPedagio(); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java index b8a655ff4..2f4a394e6 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java @@ -17,8 +17,7 @@ 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; @@ -75,9 +74,20 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO lsEmpresaSelected) { + + String query = "DELETE FROM TarifaOficial "; + if (lsEmpresaSelected != null && !lsEmpresaSelected.isEmpty()) { + query += "WHERE tarifaOficialId IN ( "; + query += " SELECT t.tarifaOficialId FROM TarifaOficial t WHERE t.marca.empresa.empresaId IN ("; + for (Empresa e : lsEmpresaSelected) { + query += e.getEmpresaId() + ","; + } + query = query.substring(0, query.length() - 1); + query += "))"; + } + Query q = getSession().createQuery(query); + q.executeUpdate(); } private void apagarTarifasInativas(VigenciaTarifa vigenciaTarifa, Empresa empresa, OrgaoConcedente orgao) { diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java index 460931488..0b2a9eb65 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java @@ -60,7 +60,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { public void gerarAtualizarTarifa(List lsRuta, Integer orgaoConcedenteId, List lsEmpresaSelected) throws BusinessException { // Limpando a tabela de TARIFA_OFICIAL - tarifaOficialDAO.limparTarifasOficiais(); + tarifaOficialDAO.limparTarifasOficiais(lsEmpresaSelected); int x = 0; if(lsRuta != null && !lsRuta.isEmpty()){ @@ -100,7 +100,7 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { @Transactional(rollbackFor = BusinessException.class) public void gerarAtualizarTabelaZerada(List lsRuta, Integer orgaoConcedenteId, List lsEmpresaSelected) throws BusinessException { // Limpando a tabela de TARIFA_OFICIAL - tarifaOficialDAO.limparTarifasOficiais(); + tarifaOficialDAO.limparTarifasOficiais(lsEmpresaSelected); int x =0; if(lsRuta != null && !lsRuta.isEmpty()){