From e1753396309617b60af0289d6b7b708a80393518 Mon Sep 17 00:00:00 2001 From: wilian Date: Fri, 28 Sep 2018 20:47:08 +0000 Subject: [PATCH] fixes bug#12260 dev:thiago qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@85734 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/entidad/Empresa.java | 11 ++++++ .../impl/CalculoComissaoServiceImpl.java | 23 +++++++++--- .../vo/comissao/ComissaoReceita.java | 35 +++++++++++++++++++ 3 files changed, 65 insertions(+), 4 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java index 93e3a6257..880174d43 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java @@ -233,6 +233,9 @@ public class Empresa implements Serializable { @Column(name = "INDPERMITETROCAVDAABERTO") private Boolean indPermiteTrocaVdaAberto; + @Column(name = "INDEXIBECOMISSAOZERADAAGENCIA") + private Boolean indExibeComissaoZeradaAgencia; + public Empresa() { super(); } @@ -886,6 +889,14 @@ public class Empresa implements Serializable { public void setIndPermiteTrocaVdaAberto(Boolean indPermiteTrocaVdaAberto) { this.indPermiteTrocaVdaAberto = indPermiteTrocaVdaAberto; } + + public Boolean getIndExibeComissaoZeradaAgencia() { + return indExibeComissaoZeradaAgencia; + } + + public void setIndExibeComissaoZeradaAgencia(Boolean indExibeComissaoZeradaAgencia) { + this.indExibeComissaoZeradaAgencia = indExibeComissaoZeradaAgencia; + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java index d1c106466..74edccd3c 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java @@ -882,10 +882,20 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { public List relatorioCalculoComissao(Integer empresaId, Date periodo, Integer usuarioId, Boolean isRetencaoDiaria, Boolean isRefazerCalculo) throws ComissaoException, BusinessException { List registrosCalculo = new ArrayList(); List puntoventas = comissaoDAO.buscaPuntoVentasEmpresaComComissaoParametrizada(empresaId); + Empresa empresa = empresaService.obtenerID(empresaId); + boolean indExibeComissaoZeradaAgencia = empresa.getIndExibeComissaoZeradaAgencia() != null ? empresa.getIndExibeComissaoZeradaAgencia() : false; for (PuntoVenta puntoVenta : puntoventas) { RegistroCalculo registroCalculo = relatorioCalculoComissao(puntoVenta.getPuntoventaId(), empresaId, periodo, usuarioId, isRetencaoDiaria, isRefazerCalculo); - totalizarRegistroCalculo(registroCalculo); - registrosCalculo.add(registroCalculo); + + /* + * Caso parametro de não exibir as agencias com comissão zerada esteja ativado + * o registro de calculo não deverá ser adicionado + * Mantis #12260 + */ + totalizarRegistroCalculo(registroCalculo, indExibeComissaoZeradaAgencia); + if(registroCalculo.getLsReceitas() != null && !registroCalculo.getLsReceitas().isEmpty()) { + registrosCalculo.add(registroCalculo); + } } Collections.sort(registrosCalculo, new Comparator() { @Override @@ -896,9 +906,11 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { return registrosCalculo; } - private void totalizarRegistroCalculo(RegistroCalculo registroCalculo) { + private void totalizarRegistroCalculo(RegistroCalculo registroCalculo, boolean indExibeComissaoZeradaAgencia) { ComissaoReceita comissaoReceitaTotal = new ComissaoReceita(); for (ComissaoReceita comissaoReceita : registroCalculo.getLsReceitas()) { + comissaoReceitaTotal.setNumPuntoVenta(registroCalculo.getNumPuntoVenta()); + comissaoReceitaTotal.setNombpuntoventa(registroCalculo.getNombpuntoventa()); comissaoReceitaTotal.setReceitaComissao(comissaoReceitaTotal.getReceitaComissao().add(comissaoReceita.getReceitaComissao())); comissaoReceitaTotal.setReceitaBPR(comissaoReceitaTotal.getReceitaBPR().add(comissaoReceita.getReceitaBPR())); comissaoReceitaTotal.setReceitaGAP(comissaoReceitaTotal.getReceitaGAP().add(comissaoReceita.getReceitaGAP())); @@ -921,7 +933,10 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { comissaoReceitaTotal.setComissaoOutrosDiaria(comissaoReceitaTotal.getComissaoOutrosDiaria().add(comissaoReceita.getComissaoOutrosDiaria())); } registroCalculo.getLsReceitas().clear(); - registroCalculo.getLsReceitas().add(comissaoReceitaTotal); + if(indExibeComissaoZeradaAgencia || + (MoneyHelper.isMaior(comissaoReceitaTotal.getTotal(), BigDecimal.ZERO) || MoneyHelper.isMaior(comissaoReceitaTotal.getTotalComissao(), BigDecimal.ZERO))) { + registroCalculo.getLsReceitas().add(comissaoReceitaTotal); + } } @Override diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/ComissaoReceita.java b/src/com/rjconsultores/ventaboletos/vo/comissao/ComissaoReceita.java index 5f01625b9..96086e84c 100644 --- a/src/com/rjconsultores/ventaboletos/vo/comissao/ComissaoReceita.java +++ b/src/com/rjconsultores/ventaboletos/vo/comissao/ComissaoReceita.java @@ -3,6 +3,9 @@ package com.rjconsultores.ventaboletos.vo.comissao; import java.math.BigDecimal; import java.util.Date; +import org.apache.commons.lang.StringEscapeUtils; +import org.apache.commons.lang.StringUtils; + public class ComissaoReceita { private Date data; @@ -28,6 +31,9 @@ public class ComissaoReceita { private BigDecimal comissaoEntregaPassagemDiaria; private BigDecimal comissaoOutrosDiaria; + private String nombpuntoventa; + private String numPuntoVenta; + public ComissaoReceita() { super(); this.receitaComissao = BigDecimal.ZERO; @@ -254,4 +260,33 @@ public class ComissaoReceita { return totalComissao; } + public String getNombpuntoventa() { + return nombpuntoventa; + } + + public void setNombpuntoventa(String nombpuntoventa) { + this.nombpuntoventa = nombpuntoventa; + } + + public String getNumPuntoVenta() { + return numPuntoVenta; + } + + public void setNumPuntoVenta(String numPuntoVenta) { + this.numPuntoVenta = numPuntoVenta; + } + + public String getDescricaoPuntoVenta() { + StringBuilder str = new StringBuilder(); + + if(StringUtils.isNotBlank(nombpuntoventa)) { + if(str.length() > 0) { + str.append(" - "); + } + str.append(nombpuntoventa); + } + + return str.toString(); + } + }