From c588e44905c24fe454b15213b19aafdd206f22cf Mon Sep 17 00:00:00 2001 From: gleimar Date: Fri, 10 Jul 2015 14:00:29 +0000 Subject: [PATCH] fixes bug#6346 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ajuste para gerar apenas taxa de embarque. Da forma que estava, ele apenas atualizada a taxa de embarque para os preços calculados git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@45923 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/sqlbuilder/impl/SQLBuilderOracle.java | 6 +-- .../service/TarifaOficialService.java | 22 ++++---- .../impl/TarifaOficialServiceImpl.java | 51 ++++++++----------- 3 files changed, 33 insertions(+), 46 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java index 34ae93357..3687198ed 100644 --- a/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java +++ b/src/com/rjconsultores/ventaboletos/dao/sqlbuilder/impl/SQLBuilderOracle.java @@ -13,9 +13,7 @@ public class SQLBuilderOracle implements SQLBuilder { private static final String RED_PAGO_FORMA_PAGO = "CR"; @Override - public String getSQLGerarTabelaZerada(final Integer codRuta, final Integer usuarioId, - final Integer orgaoConcedenteId, final Integer empresaId) - { + public String getSQLGerarTabelaZerada(final Integer codRuta, final Integer usuarioId,final Integer orgaoConcedenteId, final Integer empresaId){ StringBuilder sb = new StringBuilder(); sb.append("INSERT "); @@ -154,8 +152,6 @@ public class SQLBuilderOracle implements SQLBuilder { sb.append(" (select max( tkm.valortaxa ) from Tarifa_km tkm where tkm.CLASESERVICIO_ID = r.CLASESERVICIO_ID and tkm.activo = 1)"); sb.append(" else"); sb.append(" (select min( tkm.valortaxa ) from Tarifa_km tkm where tkm.kmate >= t.cantkmreal and r.CLASESERVICIO_ID = tkm.CLASESERVICIO_ID and tkm.activo = 1) end"); -// sb.append(" * "); ARTESP não tem ICMS ou ja é calculado na tabela de referencia em pdf da artesp -// sb.append(" (case when e.icms is null then 1 else (1/(1-e.icms/100)) end)"); sb.append(" ) "); sb.append(" ,2), "); diff --git a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java index e618f1dcc..fa3b00c5f 100644 --- a/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java +++ b/src/com/rjconsultores/ventaboletos/service/TarifaOficialService.java @@ -45,16 +45,18 @@ public interface TarifaOficialService { * @return - Quantidade de tarifas atualizadas */ public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId); + /** - * Gera as novas tarifas e atualiza as ja existentes - * - * Utiliza os mótodos {@link #gerarTarifaPorCoeficiente(Integer, Integer)} e {@link #atualizarTarifaPorCoeficiente(Integer, Integer)} + * Gera o calculo de preço utilizando calculo por coeficiente ou pela kilometragem da ARTESP * + * * @param rudaId - * @param orgaoConcedenteId + * @param orgaoConcedenteId + * @param empresaId + * @throws BusinessException */ - public void gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException ; + public void gerarAtualizarTarifa(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException ; /** * Copia a tarifa oficial para a tabela de tarifa de acordo com a vigencia especificada.
@@ -79,8 +81,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 + * @throws BusinessException */ - public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId); + public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada) throws BusinessException; /** @@ -124,10 +128,4 @@ public interface TarifaOficialService { public void gerarAtualizarTabelaZerada(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException ; - public Integer gerarTabelaZerada(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId); - - public void gerarAtualizarTarifaArtesp(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException; - - public Integer gerarTarifaArtesp(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId); - } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java index 87af19db3..455bb55a8 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java @@ -11,6 +11,7 @@ import com.rjconsultores.ventaboletos.dao.OrgaoConcedenteDAO; import com.rjconsultores.ventaboletos.dao.SeguroKmDAO; import com.rjconsultores.ventaboletos.dao.SeguroTarifaDAO; import com.rjconsultores.ventaboletos.dao.TarifaOficialDAO; +import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.TarifaOficial; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.exception.BusinessException; @@ -35,18 +36,6 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { return tarifaOficialDAO.gerarTarifaPorCoeficiente(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId); } - @Override - @Transactional - public Integer gerarTarifaArtesp(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId) { - return tarifaOficialDAO.gerarTarifaArtesp(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId); - } - - @Override - @Transactional - public Integer gerarTabelaZerada(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId) { - return tarifaOficialDAO.gerarTabelaZerada(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId); - } - @Override @Transactional public Integer atualizarTarifaPorCoeficiente(Integer rutaId, Integer orgaoConcedenteId) { @@ -61,35 +50,38 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { @Override @Transactional(rollbackFor = BusinessException.class) - public void gerarAtualizarTarifaPorCoeficiente(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException { + public void gerarAtualizarTarifa(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException { // Limpando a tabela de TARIFA_OFICIAL - //tarifaOficialDAO.limparTarifasOficiais(); - //Gerando as tarifas - gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId, empresaId); - + tarifaOficialDAO.limparTarifasOficiais(); + + //Gerando as tarifas pelo coeficiente + if(orgaoConcedenteId ==null || orgaoConcedenteId != OrgaoConcedente.CODIGO_ARTESP){ + gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId, empresaId); + } + + //Gerando as tarifas para ARTESP + if(orgaoConcedenteId ==null || orgaoConcedenteId == OrgaoConcedente.CODIGO_ARTESP ){ + tarifaOficialDAO.gerarTarifaArtesp(rudaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId); + } } @Override @Transactional(rollbackFor = BusinessException.class) - public void gerarAtualizarTarifaArtesp(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException - { - gerarTarifaArtesp(rudaId, orgaoConcedenteId, empresaId); - } - - @Override - @Transactional(rollbackFor = BusinessException.class) - public void gerarAtualizarTabelaZerada(Integer rudaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException { + public void gerarAtualizarTabelaZerada(Integer rutaId, Integer orgaoConcedenteId, Integer empresaId) throws BusinessException { // Limpando a tabela de TARIFA_OFICIAL tarifaOficialDAO.limparTarifasOficiais(); //Gerando as tarifas - //gerarTarifaPorCoeficiente(rudaId, orgaoConcedenteId, empresaId); - gerarTabelaZerada(rudaId, orgaoConcedenteId, empresaId); + tarifaOficialDAO.gerarTabelaZerada(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId, empresaId); } @Override - @Transactional - public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId) { + @Transactional(rollbackFor = BusinessException.class) + public void atualizarTaxaEmbarque(Integer rutaId, Integer orgaoConcedenteId,boolean gerarTabelaZerada) throws BusinessException{ + if (gerarTabelaZerada){ + gerarAtualizarTabelaZerada(rutaId, orgaoConcedenteId, null); + } + tarifaOficialDAO.atualizarTaxaEmbarque(rutaId, UsuarioLogado.getUsuarioLogado().getUsuarioId(), orgaoConcedenteId); } @@ -150,4 +142,5 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { public void borrar(TarifaOficial tarifaOficial) { tarifaOficialDAO.borrar(tarifaOficial); } + }