From f18069638c779eceeb77a2bbd3a23d16bb809f11 Mon Sep 17 00:00:00 2001 From: wilian Date: Fri, 31 Mar 2017 17:59:40 +0000 Subject: [PATCH] fixes bug #8826 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@67509 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../service/ConferenciaComissaoService.java | 2 +- .../impl/ConferenciaComissaoServiceImpl.java | 60 ++++++++++++++----- .../vo/comissao/BoletoComissao.java | 4 ++ 3 files changed, 50 insertions(+), 16 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/service/ConferenciaComissaoService.java b/src/com/rjconsultores/ventaboletos/service/ConferenciaComissaoService.java index e691e9c55..124f32238 100644 --- a/src/com/rjconsultores/ventaboletos/service/ConferenciaComissaoService.java +++ b/src/com/rjconsultores/ventaboletos/service/ConferenciaComissaoService.java @@ -55,7 +55,7 @@ public interface ConferenciaComissaoService extends GenericService lsOcd) throws BusinessException; - public BigDecimal totalizarBoletoComissao(List lsBoletoComissao, Boolean indreimpression, IndStatusBoleto... statusBilhete) throws BusinessException; + public BigDecimal totalizarBoletoComissao(List lsBoletoComissao, IndStatusBoleto... statusBilhete) throws BusinessException; public BigDecimal totalizarEventosFinanceiros(List lsEventosFinanceiros) throws BusinessException; diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java index e0113f55a..bd5a11c39 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ConferenciaComissaoServiceImpl.java @@ -376,7 +376,7 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic } @Override - public BigDecimal totalizarBoletoComissao(List lsBoletoComissao, Boolean indreimpression, IndStatusBoleto... statusBilhete) throws BusinessException { + public BigDecimal totalizarBoletoComissao(List lsBoletoComissao, IndStatusBoleto... statusBilhete) throws BusinessException { List lStatusBilhete = null; if (statusBilhete != null && statusBilhete.length > 0) { lStatusBilhete = Arrays.asList(statusBilhete); @@ -389,11 +389,6 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic continue; } - if(indreimpression != null && !indreimpression.equals(boletoComissao.getIndreimpresion())) { - continue; - } - - if ((lStatusBilhete == null || lStatusBilhete.contains(boletoComissao.getIndstatusboletoEnum())) && !boletoComissao.isVendaBilheteConfirmaAberto(boletoComissao.getTipoVenta())) { //log.info(boletoComissao.toString()); @@ -411,6 +406,9 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic BigDecimal totalOcd = BigDecimal.ZERO; if (lsBoletoComissao != null) { for (BoletoComissao boletoComissao : lsBoletoComissao) { + if(boletoComissao.isNaoSomarBilhete()) { + continue; + } if (boletoComissao.isOcd()) { totalOcd = totalOcd.add(boletoComissao.getTotal()); } else if (boletoComissao.isMotivocancelacionDevolvido()) { @@ -467,33 +465,65 @@ public class ConferenciaComissaoServiceImpl implements ConferenciaComissaoServic resumoComissao.setTotalOcd(totalOcd); carregarTotalFormapago(resumoComissao, boletoComissaos, lsEventosFinanceiros); - subtrairOcdFormapagoDinheiro(totalOcd, resumoComissao); + carregarTotalDeposito(resumoComissao, boletoComissaos, lsEventosFinanceiros); - resumoComissao.setValorDeposito(carregarTotalDeposito(resumoComissao)); resumoComissao.setQuantidadeEcf(puntoVentaDAO.quantidadeECFPorPuntoVenta(conferencia.getEmpresa().getEmpresaId(), conferencia.getPuntoVenta().getPuntoventaId())); return resumoComissao; } /** - * Retorna o valor total de deposito + * Calcula o total de deposito * @param resumoComissao + * @param boletoComissaos + * @param lsEventosFinanceiros * @return */ - private BigDecimal carregarTotalDeposito(ResumoComissao resumoComissao) { + private void carregarTotalDeposito(ResumoComissao resumoComissao, List boletoComissaos, List lsEventosFinanceiros) { List formaspagosDeposito = new ArrayList(Arrays.asList(Constantes.FORMA_PAGO_DINHEIRO.intValue(), Constantes.FORMA_PAGO_TROCA_PASSAGEM.intValue())); - BigDecimal total = BigDecimal.ZERO; + BigDecimal totalDeposito = BigDecimal.ZERO; - for (FormapagoVO formapago : resumoComissao.getTotalFormapago()) { - if(formaspagosDeposito.contains(formapago.getFormapagoId())) { - total = MoneyHelper.somar(total, formapago.getImporte()); + for (BoletoComissao boletoComissao : boletoComissaos) { + if(boletoComissao.isNaoSomarBilhete()) { + continue; + } + for (FormapagoVO formapago : boletoComissao.getFormapagos()) { + if(formaspagosDeposito.contains(formapago.getFormapagoId())) { + //somando as vendas + if(boletoComissao.isAbaBilheteVendido() || boletoComissao.isAbaGapVendido() || boletoComissao.isAbaBilheteManual()) { + totalDeposito = MoneyHelper.somar(totalDeposito, formapago.getImporte()); + //subtraindo os cancelamentos + } else if(boletoComissao.isAbaBilheteCancelado() || boletoComissao.isAbaGapCancelado()) { + totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); + //subtraindo as trocas + } else if(boletoComissao.isAbaBilheteDevolvido() || boletoComissao.isAbaGapDevolvido()) { + if(boletoComissao.isMotivocancelacionTrocado() || boletoComissao.isMotivocancelacionDevolvido()) { + totalDeposito = MoneyHelper.subtrair(totalDeposito, formapago.getImporte()); + } + } + } } } - return total; + //calculando os movimentos financeiros + for (EventosFinanceirosVO eventosFinanceiros : lsEventosFinanceiros) { + if(formaspagosDeposito.contains(eventosFinanceiros.getFormapagoId())) { + if (eventosFinanceiros.isCredito()) { + totalDeposito = MoneyHelper.somar(totalDeposito, eventosFinanceiros.getImpingreso()); + } else if (eventosFinanceiros.isDebito()) { + totalDeposito = MoneyHelper.subtrair(totalDeposito, eventosFinanceiros.getImpingreso()); + } + } + } + + //subtraindo as ocds pagas + totalDeposito = MoneyHelper.subtrair(totalDeposito, resumoComissao.getTotalOcd().getValorPagar()); + + resumoComissao.setValorDeposito(totalDeposito); + } /** diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java index 386936f02..5a68138e9 100644 --- a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java +++ b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java @@ -980,6 +980,10 @@ public class BoletoComissao { return true; } + if(getIndreimpresion() != null && getIndreimpresion()) { + return true; + } + return false; }