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
master
wilian 2018-09-28 20:47:08 +00:00
parent ed30e82f3d
commit e175339630
3 changed files with 65 additions and 4 deletions

View File

@ -233,6 +233,9 @@ public class Empresa implements Serializable {
@Column(name = "INDPERMITETROCAVDAABERTO") @Column(name = "INDPERMITETROCAVDAABERTO")
private Boolean indPermiteTrocaVdaAberto; private Boolean indPermiteTrocaVdaAberto;
@Column(name = "INDEXIBECOMISSAOZERADAAGENCIA")
private Boolean indExibeComissaoZeradaAgencia;
public Empresa() { public Empresa() {
super(); super();
} }
@ -886,6 +889,14 @@ public class Empresa implements Serializable {
public void setIndPermiteTrocaVdaAberto(Boolean indPermiteTrocaVdaAberto) { public void setIndPermiteTrocaVdaAberto(Boolean indPermiteTrocaVdaAberto) {
this.indPermiteTrocaVdaAberto = indPermiteTrocaVdaAberto; this.indPermiteTrocaVdaAberto = indPermiteTrocaVdaAberto;
} }
public Boolean getIndExibeComissaoZeradaAgencia() {
return indExibeComissaoZeradaAgencia;
}
public void setIndExibeComissaoZeradaAgencia(Boolean indExibeComissaoZeradaAgencia) {
this.indExibeComissaoZeradaAgencia = indExibeComissaoZeradaAgencia;
}
} }

View File

@ -882,10 +882,20 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
public List<RegistroCalculo> relatorioCalculoComissao(Integer empresaId, Date periodo, Integer usuarioId, Boolean isRetencaoDiaria, Boolean isRefazerCalculo) throws ComissaoException, BusinessException { public List<RegistroCalculo> relatorioCalculoComissao(Integer empresaId, Date periodo, Integer usuarioId, Boolean isRetencaoDiaria, Boolean isRefazerCalculo) throws ComissaoException, BusinessException {
List<RegistroCalculo> registrosCalculo = new ArrayList<RegistroCalculo>(); List<RegistroCalculo> registrosCalculo = new ArrayList<RegistroCalculo>();
List<PuntoVenta> puntoventas = comissaoDAO.buscaPuntoVentasEmpresaComComissaoParametrizada(empresaId); List<PuntoVenta> puntoventas = comissaoDAO.buscaPuntoVentasEmpresaComComissaoParametrizada(empresaId);
Empresa empresa = empresaService.obtenerID(empresaId);
boolean indExibeComissaoZeradaAgencia = empresa.getIndExibeComissaoZeradaAgencia() != null ? empresa.getIndExibeComissaoZeradaAgencia() : false;
for (PuntoVenta puntoVenta : puntoventas) { for (PuntoVenta puntoVenta : puntoventas) {
RegistroCalculo registroCalculo = relatorioCalculoComissao(puntoVenta.getPuntoventaId(), empresaId, periodo, usuarioId, isRetencaoDiaria, isRefazerCalculo); 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<RegistroCalculo>() { Collections.sort(registrosCalculo, new Comparator<RegistroCalculo>() {
@Override @Override
@ -896,9 +906,11 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
return registrosCalculo; return registrosCalculo;
} }
private void totalizarRegistroCalculo(RegistroCalculo registroCalculo) { private void totalizarRegistroCalculo(RegistroCalculo registroCalculo, boolean indExibeComissaoZeradaAgencia) {
ComissaoReceita comissaoReceitaTotal = new ComissaoReceita(); ComissaoReceita comissaoReceitaTotal = new ComissaoReceita();
for (ComissaoReceita comissaoReceita : registroCalculo.getLsReceitas()) { for (ComissaoReceita comissaoReceita : registroCalculo.getLsReceitas()) {
comissaoReceitaTotal.setNumPuntoVenta(registroCalculo.getNumPuntoVenta());
comissaoReceitaTotal.setNombpuntoventa(registroCalculo.getNombpuntoventa());
comissaoReceitaTotal.setReceitaComissao(comissaoReceitaTotal.getReceitaComissao().add(comissaoReceita.getReceitaComissao())); comissaoReceitaTotal.setReceitaComissao(comissaoReceitaTotal.getReceitaComissao().add(comissaoReceita.getReceitaComissao()));
comissaoReceitaTotal.setReceitaBPR(comissaoReceitaTotal.getReceitaBPR().add(comissaoReceita.getReceitaBPR())); comissaoReceitaTotal.setReceitaBPR(comissaoReceitaTotal.getReceitaBPR().add(comissaoReceita.getReceitaBPR()));
comissaoReceitaTotal.setReceitaGAP(comissaoReceitaTotal.getReceitaGAP().add(comissaoReceita.getReceitaGAP())); comissaoReceitaTotal.setReceitaGAP(comissaoReceitaTotal.getReceitaGAP().add(comissaoReceita.getReceitaGAP()));
@ -921,7 +933,10 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
comissaoReceitaTotal.setComissaoOutrosDiaria(comissaoReceitaTotal.getComissaoOutrosDiaria().add(comissaoReceita.getComissaoOutrosDiaria())); comissaoReceitaTotal.setComissaoOutrosDiaria(comissaoReceitaTotal.getComissaoOutrosDiaria().add(comissaoReceita.getComissaoOutrosDiaria()));
} }
registroCalculo.getLsReceitas().clear(); 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 @Override

View File

@ -3,6 +3,9 @@ package com.rjconsultores.ventaboletos.vo.comissao;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
public class ComissaoReceita { public class ComissaoReceita {
private Date data; private Date data;
@ -28,6 +31,9 @@ public class ComissaoReceita {
private BigDecimal comissaoEntregaPassagemDiaria; private BigDecimal comissaoEntregaPassagemDiaria;
private BigDecimal comissaoOutrosDiaria; private BigDecimal comissaoOutrosDiaria;
private String nombpuntoventa;
private String numPuntoVenta;
public ComissaoReceita() { public ComissaoReceita() {
super(); super();
this.receitaComissao = BigDecimal.ZERO; this.receitaComissao = BigDecimal.ZERO;
@ -254,4 +260,33 @@ public class ComissaoReceita {
return totalComissao; 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();
}
} }