From aafb615963ea4a2833d81345e17c31f5d4b0f02a Mon Sep 17 00:00:00 2001 From: fabio Date: Tue, 27 Jul 2021 11:57:34 +0000 Subject: [PATCH] fixes bug#22581 dev: Celio qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@108032 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioLinhasHorario.java | 97 ++++++------------ .../templates/RelatorioLinhasHorario.jasper | Bin 114404 -> 114484 bytes .../templates/RelatorioLinhasHorario.jrxml | 12 +-- 3 files changed, 37 insertions(+), 72 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java index 187446460..cc05e321f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java @@ -1,6 +1,7 @@ package com.rjconsultores.ventaboletos.relatorios.impl; import java.math.BigDecimal; +import java.math.MathContext; import java.math.RoundingMode; import java.sql.Connection; import java.sql.ResultSet; @@ -31,6 +32,7 @@ public class RelatorioLinhasHorario extends Relatorio { private static Logger log = Logger.getLogger(RelatorioLinhasHorario.class); private List lsDadosRelatorio; private static String CONSTANTE_GRATUIDADE_CRIANCA; + private BigDecimal CENTO = BigDecimal.TEN.multiply(BigDecimal.TEN); public RelatorioLinhasHorario(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); @@ -295,111 +297,74 @@ public class RelatorioLinhasHorario extends Relatorio { } private RelatorioLinhasHorarioBean calcKmRodado(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal kmRodado = horarioBean.getTotalViagem().multiply(horarioBean.getExtensao()); - horarioBean.setKmRodado(kmRodado); + horarioBean.setKmRodado( calculaMultiplicacao(horarioBean.getTotalViagem(), horarioBean.getExtensao())); return horarioBean; } private RelatorioLinhasHorarioBean calcEquivalente(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal equivalente = new BigDecimal(0); - try { - equivalente = horarioBean.getSomaExtensaoTrecho().divide(horarioBean.getExtensao(), 2, RoundingMode.HALF_UP); - } catch (ArithmeticException e) { - equivalente = BigDecimal.ZERO; - } catch (NullPointerException nex) { - equivalente = BigDecimal.ZERO; - } catch (Exception ex) { - log.error("", ex); - } - horarioBean.setEquivalente(equivalente); - + horarioBean.setEquivalente( calculaDivisao( horarioBean.getSomaExtensaoTrecho(), horarioBean.getExtensao() ) ); return horarioBean; } private RelatorioLinhasHorarioBean calcMpa(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal mpa = new BigDecimal(0); - try { - mpa = horarioBean.getAbsol().divide(horarioBean.getTotalViagem(), 2, 4); - } catch (ArithmeticException e) { - mpa = BigDecimal.ZERO; - } catch (NullPointerException nex) { - mpa = BigDecimal.ZERO; - } catch (Exception ex) { - log.error("", ex); - } - horarioBean.setMpa(mpa); + horarioBean.setMpa( calculaDivisao( horarioBean.getAbsol(), horarioBean.getTotalViagem() ) ); return horarioBean; } private RelatorioLinhasHorarioBean calcMpe(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal mpe = horarioBean.getEquivalente().divide(horarioBean.getTotalViagem(), 2, 4); - horarioBean.setMpe(mpe); + horarioBean.setMpe( calculaDivisao( horarioBean.getEquivalente(), horarioBean.getTotalViagem() )); return horarioBean; } private RelatorioLinhasHorarioBean calcRsKm(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal rsKm = horarioBean.getTotal().divide(horarioBean.getKmRodado(), 2, 4); - horarioBean.setRsKm(rsKm); + horarioBean.setRsKm( calculaDivisao( horarioBean.getTotal(), horarioBean.getKmRodado() ) ); return horarioBean; } private RelatorioLinhasHorarioBean calcEq(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal eq = null; - try { - eq = horarioBean.getMediaReceitaViagem().divide(horarioBean.getTarifa(), 2, 4); - } catch (ArithmeticException e) { - eq = BigDecimal.ZERO; - } catch (NullPointerException nex) { - eq = BigDecimal.ZERO; - } catch (Exception ex) { - log.error("", ex); - } - horarioBean.setEq(eq); + horarioBean.setEq( calculaDivisao(horarioBean.getMediaReceitaViagem(), horarioBean.getTarifa()) ); return horarioBean; } private RelatorioLinhasHorarioBean calcRsViagem(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal RSViagem = horarioBean.getPassagens().divide(horarioBean.getTotalViagem(), 2, 4); - horarioBean.setRsViagem(RSViagem); + horarioBean.setRsViagem( calculaDivisao(horarioBean.getPassagens(), horarioBean.getTotalViagem())); return horarioBean; } private RelatorioLinhasHorarioBean calcPaxKmOfertado(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal paxKmOfertado = horarioBean.getLot().multiply(horarioBean.getTotalViagem()); - paxKmOfertado = paxKmOfertado.multiply(horarioBean.getExtensao()); - horarioBean.setPaxKmOfertado(paxKmOfertado); + BigDecimal paxKmOfertado = calculaMultiplicacao( horarioBean.getLot(), horarioBean.getTotalViagem()); + horarioBean.setPaxKmOfertado( calculaMultiplicacao( paxKmOfertado, horarioBean.getExtensao()) ); return horarioBean; } private RelatorioLinhasHorarioBean calcIap(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal iap = null; - BigDecimal CENTO = BigDecimal.TEN.multiply(BigDecimal.TEN); - try { - iap = (horarioBean.getPaxKmTransportado().multiply(CENTO)).divide(horarioBean.getPaxKmOfertado(), 2, 4); - } catch (ArithmeticException e) { - iap = BigDecimal.ZERO; - } catch (NullPointerException nex) { - iap = BigDecimal.ZERO; - } catch (Exception ex) { - log.error("", ex); - } - horarioBean.setIap(iap); + horarioBean.setIap( calculaDivisao(horarioBean.getPaxKmTransportado().multiply(CENTO), horarioBean.getPaxKmOfertado() )); return horarioBean; } private BigDecimal calcTotalIap(BigDecimal totalPaxKMTransportado, BigDecimal totalPaxKMOfertado) { - BigDecimal iap = null; - BigDecimal CENTO = BigDecimal.TEN.multiply(BigDecimal.TEN); + return calculaMultiplicacao(totalPaxKMTransportado.multiply(CENTO), totalPaxKMOfertado); + } + + private BigDecimal calculaDivisao( BigDecimal valor1, BigDecimal valor2){ + BigDecimal resultado = BigDecimal.ZERO; try { - iap = (totalPaxKMTransportado.multiply(CENTO)).divide(totalPaxKMOfertado, 2, 4); - } catch (ArithmeticException e) { - iap = BigDecimal.ZERO; - } catch (NullPointerException nex) { - iap = BigDecimal.ZERO; + resultado = valor1.multiply(valor2); + resultado.setScale(2, 4); } catch (Exception ex) { - log.error("", ex); + log.error("Erro ao calcular mutiplicacao no Relatorio de linhas por horario", ex); } - return iap; + return resultado; + } + + private BigDecimal calculaMultiplicacao( BigDecimal valor1, BigDecimal valor2){ + BigDecimal resultado = BigDecimal.ZERO; + try { + resultado = valor1.divide(valor2, 2, 4); + } catch (Exception ex) { + log.error("Erro ao calcular divisão no Relatorio de linhas por horario", ex); + } + return resultado; } @Override diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper index b736f46dc034c55cd91cff6e348feb8a33ec4ecd..0cc1b969d281603369163b71c784ec6df78334cc 100644 GIT binary patch delta 8674 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 delta 8604 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml index e141f6409..395c3cde9 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml @@ -1,7 +1,7 @@ - + @@ -132,7 +132,7 @@ - + @@ -201,7 +201,7 @@ - + @@ -213,7 +213,7 @@ - + @@ -231,11 +231,11 @@ - + - +