From 4e1ffbde1def8b77457bf9b52dbba1abe79fc475 Mon Sep 17 00:00:00 2001 From: gleimar Date: Tue, 12 Sep 2017 13:46:16 +0000 Subject: [PATCH] fixes bug#9784 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@73693 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/CalculoComissaoServiceImpl.java | 25 +++++++++++-------- .../ventaboletos/utilerias/MoneyHelper.java | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java index f9bba7962..8f2cae116 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java @@ -204,11 +204,12 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { BigDecimal recbpr = BigDecimal.ZERO; BigDecimal receitaBPR = MoneyHelper.somar(bpr, gap, 2); if (isAltaTemporada) { - recbpr = MoneyHelper.dividir( MoneyHelper.multiplicar(receitaBPR, ptovtaComissao.getPassagemAlta() != null ? ptovtaComissao.getPassagemAlta() : BigDecimal.ZERO, 2),CEM); + recbpr = MoneyHelper.multiplicar(receitaBPR, MoneyHelper.dividir( ptovtaComissao.getPassagemAlta() != null ? ptovtaComissao.getPassagemAlta() : BigDecimal.ZERO,CEM,4), 4); } else { - recbpr = MoneyHelper.dividir( MoneyHelper.multiplicar(receitaBPR, ptovtaComissao.getPassagemBaixa() != null ? ptovtaComissao.getPassagemBaixa() : BigDecimal.ZERO, 2),CEM); + recbpr = MoneyHelper.multiplicar(receitaBPR, MoneyHelper.dividir( ptovtaComissao.getPassagemBaixa() != null ? ptovtaComissao.getPassagemBaixa() : BigDecimal.ZERO,CEM,4), 4); } - + + recbpr = MoneyHelper.arredondar(recbpr); return recbpr; } @@ -219,7 +220,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { BigDecimal receitaEntrega = MoneyHelper.somar(gapImpressa, internet, 2); if(ptovtaComissao.getValorImpressaoGap() != null) { if (BooleanUtils.toBoolean(ptovtaComissao.getIndimpressaogapporc())) { - entregaPassagem = MoneyHelper.multiplicar(receitaEntrega, ptovtaComissao.getValorImpressaoGap() != null ? MoneyHelper.dividir(ptovtaComissao.getValorImpressaoGap(),CEM) : BigDecimal.ZERO, 2); + entregaPassagem = MoneyHelper.multiplicar(receitaEntrega, ptovtaComissao.getValorImpressaoGap() != null ? MoneyHelper.dividir(ptovtaComissao.getValorImpressaoGap(),CEM,4) : BigDecimal.ZERO, 2); } else { entregaPassagem = ptovtaComissao.getValorImpressaoGap() != null ? MoneyHelper.multiplicar(ptovtaComissao.getValorImpressaoGap(),new BigDecimal(contImpressa), 2) : BigDecimal.ZERO; } @@ -233,9 +234,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { // Comissão Excesso = Receita Excesso Bagagem * (% Com. Exc. Bag) BigDecimal excessoBagagem = BigDecimal.ZERO; if (isAltaTemporada) { - excessoBagagem = MoneyHelper.multiplicar(excBag, ptovtaComissao.getExcessoAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getExcessoAlta(), CEM) : BigDecimal.ZERO, 2); + excessoBagagem = MoneyHelper.multiplicar(excBag, ptovtaComissao.getExcessoAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getExcessoAlta(), CEM,4) : BigDecimal.ZERO, 2); } else { - excessoBagagem = MoneyHelper.multiplicar(excBag, ptovtaComissao.getExcessoBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getExcessoBaixa(), CEM) : BigDecimal.ZERO, 2); + excessoBagagem = MoneyHelper.multiplicar(excBag, ptovtaComissao.getExcessoBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getExcessoBaixa(), CEM,4) : BigDecimal.ZERO, 2); } return excessoBagagem; @@ -246,9 +247,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { // Comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol) BigDecimal recsegOpcional = BigDecimal.ZERO; if (isAltaTemporada) { - recsegOpcional = MoneyHelper.multiplicar(segOpcional, ptovtaComissao.getSeguroAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroAlta(), CEM) : BigDecimal.ZERO, 2); + recsegOpcional = MoneyHelper.multiplicar(segOpcional, ptovtaComissao.getSeguroAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroAlta(), CEM,4) : BigDecimal.ZERO, 2); } else { - recsegOpcional = MoneyHelper.multiplicar(segOpcional, ptovtaComissao.getSeguroBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroBaixa(), CEM) : BigDecimal.ZERO, 2); + recsegOpcional = MoneyHelper.multiplicar(segOpcional, ptovtaComissao.getSeguroBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroBaixa(), CEM,4) : BigDecimal.ZERO, 2); } return recsegOpcional; } @@ -258,9 +259,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { // Comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol) BigDecimal recoutros = BigDecimal.ZERO; if (isAltaTemporada) { - recoutros = MoneyHelper.multiplicar(outros, ptovtaComissao.getOutrosAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getOutrosAlta(), CEM) : BigDecimal.ZERO, 2); + recoutros = MoneyHelper.multiplicar(outros, ptovtaComissao.getOutrosAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getOutrosAlta(), CEM,4) : BigDecimal.ZERO, 2); } else { - recoutros = MoneyHelper.multiplicar(outros, ptovtaComissao.getOutrosBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getOutrosBaixa(), CEM) : BigDecimal.ZERO, 2); + recoutros = MoneyHelper.multiplicar(outros, ptovtaComissao.getOutrosBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getOutrosBaixa(), CEM,4) : BigDecimal.ZERO, 2); } return recoutros; } @@ -610,6 +611,10 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { cancelados = MoneyHelper.somar(cancelados, receitaDevItem); } } + + //Abate no valor da comissão bpr as saídas de caixa + BigDecimal bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaDevItem, BigDecimal.ZERO); + comissaoBPR = MoneyHelper.subtrair(comissaoBPR, bpr); } } diff --git a/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java b/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java index 8b69e77e0..e25badd40 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java @@ -109,7 +109,7 @@ public class MoneyHelper { BigDecimal fAmount = arredondar(aAmount, customScale); BigDecimal fMultiplicand = arredondar(aMultiplicand, customScale); - return fAmount.multiply(fMultiplicand, new MathContext(ROUNDING_MODE)).setScale(DECIMALS, ROUNDING_MODE); + return fAmount.multiply(fMultiplicand, new MathContext(ROUNDING_MODE)).setScale(customScale, ROUNDING_MODE); } public static BigDecimal arredondar(BigDecimal aNumber) {