From 8f4e432ee75cb880e8a423f0f40b8eebeb5bb866 Mon Sep 17 00:00:00 2001 From: wilian Date: Fri, 4 May 2018 18:00:56 +0000 Subject: [PATCH] bug#11015 dev:gleimar qua:renato git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@81608 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ConferenciaComissaoHibernateDAO.java | 2 +- .../impl/CalculoComissaoServiceImpl.java | 125 ++++++++++++++---- .../impl/ComissaoReceitaServiceImpl.java | 2 +- .../ventaboletos/utilerias/MoneyHelper.java | 6 +- .../vo/comissao/BoletoComissao.java | 6 +- 5 files changed, 105 insertions(+), 36 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java index d82864dd9..aa0df23d0 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ConferenciaComissaoHibernateDAO.java @@ -841,7 +841,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO calculaReceitaComissao(Integer empresaId, PtovtaComissao ptovtaComissao, List receitasBoleto, Integer diaInicial, Integer diaFinal, Integer mes, Integer ano, List eventosFinanceirosVOs) { List impostos = empresaImpostoService.buscarEmpresaImposto(empresaId); + boolean isConsideraBilhetesDevolvidosEmOutraAgencia = ptovtaComissao.getIndbilhetesdevcanorigem() == null ? false : ptovtaComissao.getIndbilhetesdevcanorigem(); List receitas = new ArrayList(); for (int dia = diaInicial; dia <= diaFinal; dia++) { @@ -539,9 +541,11 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { BigDecimal receitaSeguroOutros = BigDecimal.ZERO; BigDecimal cancelados = BigDecimal.ZERO; + BigDecimal canceladosOrigem = BigDecimal.ZERO; BigDecimal devolvidos = BigDecimal.ZERO; BigDecimal devolvidosOrigem = BigDecimal.ZERO; BigDecimal canceladosGAP = BigDecimal.ZERO; + BigDecimal canceladosGAPOrigem = BigDecimal.ZERO; BigDecimal devolvidosGAP = BigDecimal.ZERO; BigDecimal devolvidosGAPOrigem = BigDecimal.ZERO; @@ -625,13 +629,14 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { } + BigDecimal bpr = BigDecimal.ZERO; // Boletos impressos no punto venta if (isEntregaPassagem) { contImpressa++; gapImpressa = MoneyHelper.somar(gapImpressa, receitaItem); BigDecimal entregaPassagem = calculoEntregaPassagem(isAltaTemporada, ptovtaComissao, receitaItem, BigDecimal.ZERO, 1); - comissaoEntregaPassagem = MoneyHelper.somar(comissaoEntregaPassagem, entregaPassagem); + comissaoEntregaPassagem = MoneyHelper.somar(comissaoEntregaPassagem, entregaPassagem, 4); } else { @@ -639,8 +644,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue())) { receitaGAP = MoneyHelper.somar(receitaGAP, receitaItem); - BigDecimal bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, BigDecimal.ZERO, receitaItem); - comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr); + bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, BigDecimal.ZERO, receitaItem); + comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr, 4); } // Internet else if (rcc.getTipoVenta().equals(Constantes.TPV_POR_INTERNET.intValue())) { @@ -651,8 +656,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { else { receitaBPR = MoneyHelper.somar(receitaBPR, receitaItem); - BigDecimal bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaItem, BigDecimal.ZERO); - comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr); + bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaItem, BigDecimal.ZERO); + comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr, 4); } } @@ -664,18 +669,35 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue())) { // Impresso Venta de otro punto venta - if (!rcc.isPtoVtaOrigem()) { + if (!rcc.getPtoVtaOrigem()) { devolvidosGAPOrigem = MoneyHelper.somar(devolvidosGAPOrigem, receitaDevItem); } - devolvidosGAP = MoneyHelper.somar(devolvidosGAP, receitaDevItem); + + /* + * Adiciona o valor nos devolvidos caso o bilhete seja do proprio ponto de venda, + * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde + * foi feita a operação esteja desmarcado + * Mantis #11015 + */ + if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) { + devolvidosGAP = MoneyHelper.somar(devolvidosGAP, receitaDevItem); + } } else { // Impresso Venta de otro punto venta - if (!rcc.isPtoVtaOrigem()) { + if (!rcc.getPtoVtaOrigem()) { devolvidosOrigem = MoneyHelper.somar(devolvidosOrigem, receitaDevItem); } - - devolvidos = MoneyHelper.somar(devolvidos, receitaDevItem); + + /* + * Adiciona o valor nos devolvidos caso o bilhete seja do proprio ponto de venda, + * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde + * foi feita a operação esteja desmarcado + * Mantis #11015 + */ + if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) { + devolvidos = MoneyHelper.somar(devolvidos, receitaDevItem); + } } } @@ -684,15 +706,66 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { else { // Cancelamento Receita GAP if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue())) { - canceladosGAP = MoneyHelper.somar(canceladosGAP, receitaDevItem); + if (!rcc.getPtoVtaOrigem()) { + canceladosGAPOrigem = MoneyHelper.somar(canceladosGAPOrigem, receitaDevItem); + } + + /* + * Adiciona o valor nos devolvidos caso o bilhete seja do proprio ponto de venda, + * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde + * foi feita a operação esteja desmarcado + * Mantis #11015 + */ + if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) { + canceladosGAP = MoneyHelper.somar(canceladosGAP, receitaDevItem); + } } else { - cancelados = MoneyHelper.somar(cancelados, receitaDevItem); + if (!rcc.getPtoVtaOrigem()) { + canceladosOrigem = MoneyHelper.somar(canceladosOrigem, receitaDevItem); + } + + /* + * Adiciona o valor nos devolvidos caso o bilhete seja do proprio ponto de venda, + * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde + * foi feita a operação esteja desmarcado + * Mantis #11015 + */ + if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) { + cancelados = MoneyHelper.somar(cancelados, receitaDevItem); + } } } - BigDecimal bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaDevItem, BigDecimal.ZERO); - comissaoBPR = MoneyHelper.subtrair(comissaoBPR, bpr); + /* + * Calcula a comissão caso o bilhete seja do proprio ponto de venda, + * ou caso o parametro de considerar cancelamento/devolução no ponto de venda onde + * foi feita a operação esteja desmarcado + * Mantis #11015 + */ + if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) { + bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaDevItem, BigDecimal.ZERO); + comissaoBPR = MoneyHelper.subtrair(comissaoBPR, bpr, 4); + } } + + /*log.info("---------"); + log.info("Total Bilhete: " + rcc.getTotal()); + log.info("PtoVtaOrigem: " + rcc.getPtoVtaOrigem()); + log.info("Status: " + rcc.getIndstatusboleto()); + log.info("receitaItem: " + receitaItem); + log.info("receitaDevItem: " + receitaDevItem); + log.info("comissaoBPRItem: " + bpr); + log.info("receitaGAP: " + receitaGAP); + log.info("receitaBPR: " + receitaBPR); + log.info("ComissaoBPR: " + comissaoBPR); + log.info("cancelados: " + cancelados); + log.info("canceladosOrigem: " + canceladosOrigem); + log.info("devolvidos: " + devolvidos); + log.info("devolvidosOrigem: " + devolvidosOrigem); + log.info("canceladosGAP: " + canceladosGAP); + log.info("canceladosGAPOrigem: " + canceladosGAPOrigem); + log.info("devolvidosGAP: " + devolvidosGAP); + log.info("devolvidosGAPOrigem: " + devolvidosGAPOrigem);*/ } /* Calculando comissão para os eventos extras */ @@ -703,15 +776,15 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { if(TipoEventoExtra.EXCESSO_BAGAGEM.toString().equals(eventosFinanceiros.getCvetipoevento())) { receitaExcessoBagagem = MoneyHelper.somar(receitaExcessoBagagem, eventosFinanceiros.getImpingreso()); BigDecimal excessoBagagem = calculoExcessoBagagem(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso()); - comissaoExcessoBagagem = MoneyHelper.somar(comissaoExcessoBagagem, excessoBagagem); + comissaoExcessoBagagem = MoneyHelper.somar(comissaoExcessoBagagem, excessoBagagem, 4); } else if(TipoEventoExtra.SEGURO_OPCIONAL.toString().equals(eventosFinanceiros.getCvetipoevento())) { receitaSeguroOpcional = MoneyHelper.somar(receitaSeguroOpcional, eventosFinanceiros.getImpingreso()); BigDecimal segOpcional = calculoSeguroOpcional(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso()); - comissaoSegOpcional = MoneyHelper.somar(comissaoSegOpcional, segOpcional); + comissaoSegOpcional = MoneyHelper.somar(comissaoSegOpcional, segOpcional, 4); } else { receitaSeguroOutros = MoneyHelper.somar(receitaSeguroOutros, eventosFinanceiros.getImpingreso()); BigDecimal outros = calculoOutros(isAltaTemporada, ptovtaComissao, eventosFinanceiros.getImpingreso()); - comissaoOutros = MoneyHelper.somar(comissaoOutros, outros); + comissaoOutros = MoneyHelper.somar(comissaoOutros, outros, 4); } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ComissaoReceitaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ComissaoReceitaServiceImpl.java index 8bf71a4ce..07030e268 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ComissaoReceitaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ComissaoReceitaServiceImpl.java @@ -103,7 +103,7 @@ public class ComissaoReceitaServiceImpl implements ComissaoReceitaService { comissaoReceitaVO.setDevolucoesOrigem(comissaoReceita.getDevolvidosOrigem()); comissaoReceitaVO.setDevolucoesOrigemGAP(comissaoReceita.getDevolvidosOrigemGap()); comissaoReceitaVO.setDevolvidos(comissaoReceita.getDevolvidos()); - comissaoReceitaVO.setDevolvidosGAP(comissaoReceita.getDevolvidosOrigemGap()); + comissaoReceitaVO.setDevolvidosGAP(comissaoReceita.getDevgap()); comissaoReceitaVO.setGapImpressa(comissaoReceita.getImpgap()); comissaoReceitaVO.setInternet(comissaoReceita.getInternet()); comissaoReceitaVO.setReceitaBPR(comissaoReceita.getBpr()); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java b/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java index 9ce854a4e..974be6385 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java @@ -53,7 +53,7 @@ public class MoneyHelper { BigDecimal fAmountOne = value == null ? BigDecimal.ZERO : arredondar(value, customScale); total = total.add(fAmountOne); } - return total.setScale(DECIMALS, ROUNDING_MODE); + return total.setScale(customScale, ROUNDING_MODE); } public static BigDecimal somar(BigDecimal aAmountOne, BigDecimal aAmountTwo) { @@ -67,7 +67,7 @@ public class MoneyHelper { BigDecimal fAmountOne = aAmountOne == null ? BigDecimal.ZERO : arredondar(aAmountOne, customScale); BigDecimal fAmountTwo = aAmountTwo == null ? BigDecimal.ZERO : arredondar(aAmountTwo, customScale); - return fAmountOne.add(fAmountTwo).setScale(DECIMALS, ROUNDING_MODE); + return fAmountOne.add(fAmountTwo).setScale(customScale, ROUNDING_MODE); } public static BigDecimal subtrair(BigDecimal aAmountOne, BigDecimal aAmountTwo) { @@ -81,7 +81,7 @@ public class MoneyHelper { BigDecimal fAmountOne = arredondar(aAmountOne, customScale); BigDecimal fAmountTwo = arredondar(aAmountTwo, customScale); - return fAmountOne.subtract(fAmountTwo).setScale(DECIMALS, ROUNDING_MODE); + return fAmountOne.subtract(fAmountTwo).setScale(customScale, ROUNDING_MODE); } public static BigDecimal dividir(BigDecimal aAmount, BigDecimal aDivisor) { diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java index 135118de3..b38f7367f 100644 --- a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java +++ b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java @@ -190,10 +190,6 @@ public class BoletoComissao { this.seguroOutros = seguroOutros; } - public Boolean isPtoVtaOrigem() { - return ptoVtaOrigem; - } - public void setPtoVtaOrigem(Boolean ptoVtaOrigem) { this.ptoVtaOrigem = ptoVtaOrigem; } @@ -306,7 +302,7 @@ public class BoletoComissao { public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((getBoletoId() == null) ? 0 : getBoletoId().hashCode()); + result = prime * result + ((getCajaId() == null) ? 0 : getCajaId().hashCode()); return result; }