gleimar 2017-09-12 13:46:16 +00:00
parent c1b78cbacb
commit 4e1ffbde1d
2 changed files with 16 additions and 11 deletions

View File

@ -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);
}
}

View File

@ -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) {