diff --git a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java index 2fd4705ff..27166d2a3 100644 --- a/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/TarifaOficialDAO.java @@ -102,7 +102,7 @@ public interface TarifaOficialDAO extends GenericDAO { public List obterTarifaOficialPorFiltroVO(Moneda moneda, Marca marca,List lsMarcas,Parada origem, Parada destino, ClaseServicio claseServicio, Ruta ruta, String numRuta, Boolean vende); - public List oberTarifaOficialComComposicaoDoPedagioVo(); + public List oberTarifaOficialComComposicaoDoPedagioVo(Integer empresaId); public void atualizarPedagioComFiltroDePracaDePedagio(Integer tarifaOficialId, BigDecimal importePedagio, String composicaoPedagio ); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java index 0ff4f5eef..fdbf3888b 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TarifaOficialHibernateDAO.java @@ -531,13 +531,14 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO oberTarifaOficialComComposicaoDoPedagioVo() { + public List oberTarifaOficialComComposicaoDoPedagioVo(Integer empresaId) { StringBuilder sql = new StringBuilder(" SELECT "); sql.append(" tof.tarifaoficial_id as tarifaOficialId, "); sql.append(" ta.COMPOSICAO_DO_PEAJE as composicaoDoPedagioNaTarifa, "); sql.append(" LISTAGG(p.casetapeaje_id||';'||p.peaje_id,',')\r\n" + "WITHIN GROUP (ORDER BY p.casetapeaje_id) as composicaoDoPedagioNaTarifaOficialComPeaje"); sql.append(" FROM tarifa_oficial tof "); + sql.append(" INNER JOIN marca m ON m.marca_id=tof.marca_id "); sql.append(" LEFT join tarifa ta on"); sql.append(" ta.origen_id=tof.origen_id and"); sql.append(" ta.destino_id=tof.destino_id and "); @@ -555,12 +556,13 @@ public class TarifaOficialHibernateDAO extends GenericHibernateDAO obterTarifaOficialPorFiltro(Moneda moneda, Marca marca,List lsMarcas,Parada origem, Parada destino, ClaseServicio claseServicio, Ruta ruta, String numRuta, Boolean vende); - public void atualizarPedagioPorListaDePracaDePagio(List lsCasetaPeaje); + public void atualizarPedagioPorListaDePracaDePagio(List lsCasetaPeaje,Integer empresaId); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java index 4becd08e7..3dd267457 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TarifaOficialServiceImpl.java @@ -355,9 +355,9 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { } - public void atualizarPedagioPorListaDePracaDePagio(List lsCasetaPeaje) { + public void atualizarPedagioPorListaDePracaDePagio(List lsCasetaPeaje,Integer empresaId) { try { - List lsTarifaOficialComComposicaoDoPedagioVo = tarifaOficialDAO.oberTarifaOficialComComposicaoDoPedagioVo(); + List lsTarifaOficialComComposicaoDoPedagioVo = tarifaOficialDAO.oberTarifaOficialComComposicaoDoPedagioVo(empresaId); if (!lsTarifaOficialComComposicaoDoPedagioVo.isEmpty()) { @@ -428,10 +428,10 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { BigDecimal valorPedagio = new BigDecimal("0.0"); for(Entry map : mapComposicaoDoPedagioNaTarifa.entrySet()) { Peaje peaje = peajeService.buscarPeajePorId(map.getValue()); - valorPedagio=valorPedagio.add(peaje.getImportePeaje()); + valorPedagio=valorPedagio.add(peaje.getImportePeaje().setScale(2,RoundingMode.HALF_UP)); } - return valorPedagio.setScale(2,RoundingMode.HALF_EVEN); + return valorPedagio.setScale(2,RoundingMode.HALF_UP); } @@ -458,13 +458,10 @@ public class TarifaOficialServiceImpl implements TarifaOficialService { } public static void main(String[] args) { - String teste="284;19004, 284;19005,425;18994"; -// String testeEspacoReemovido=teste.tri; - String[] parDeChavePeajeMaisCasetaPeaje = teste.replace(" ", "").split(","); + BigDecimal valorPedagio = new BigDecimal("0.0"); - for(String chavePeajeMaisCasetaPeaje:parDeChavePeajeMaisCasetaPeaje) { - System.out.println(chavePeajeMaisCasetaPeaje); - } + valorPedagio=valorPedagio.add(new BigDecimal("100.005")); + System.out.println(valorPedagio.setScale(2,RoundingMode.HALF_UP)); } }