fixes bug#21515
dev:wallace qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@105818 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
f6469e9e27
commit
fe224ee4a9
|
@ -179,36 +179,40 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
BigDecimal issComissao = configComissao.get("ISSRETIDO") != null ? (BigDecimal) configComissao.get("ISSRETIDO") : BigDecimal.ZERO;
|
||||
BigDecimal royatilesComissao = configComissao.get("ROYALTIES") != null ? (BigDecimal) configComissao.get("ROYALTIES") : BigDecimal.ZERO;
|
||||
|
||||
BigDecimal baseCalculoSeguro = BigDecimal.ZERO;
|
||||
BigDecimal percComissaoSeguro = BigDecimal.ZERO;
|
||||
BigDecimal valorComissaoSeguro = BigDecimal.ZERO;
|
||||
|
||||
// Defini a base de calculo da comissão
|
||||
if (motivoCancelacionId == null) {
|
||||
if ((Boolean) configComissao.get("TARIFARECEITA") && this.resultSet.getBigDecimal("PRECIOPAGADO") != null)
|
||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("PRECIOPAGADO") );
|
||||
if ((Boolean) configComissao.get("SEGURORECEITA") && this.resultSet.getBigDecimal("IMPORTESEGURO") != null)
|
||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTESEGURO"));
|
||||
baseCalculoSeguro = baseCalculoSeguro.add(this.resultSet.getBigDecimal("IMPORTESEGURO"));
|
||||
if ((Boolean) configComissao.get("TAXARECEITA") && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null)
|
||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE"));
|
||||
if ((Boolean) configComissao.get("PEDAGIORECEITA") && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null)
|
||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO"));
|
||||
|
||||
// Caso esteje setado na configuração de comissão que o calculo deve ser sobre o liquido, deduz o imposto.
|
||||
if (configComissao.get("RECEITA") != null && ((String) configComissao.get("RECEITA")).equals("RL") &&
|
||||
(!tipoVentaId.equals(18) || (tipoVentaId.equals(18) && (Boolean) this.relatorio.getParametros().get("B_CONTEMPLAR_GAP"))) &&
|
||||
rowOrigem.get("IMPOSTOS") != null)
|
||||
baseCalculo = baseCalculo.subtract((BigDecimal) rowOrigem.get("IMPOSTOS"));
|
||||
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if ((Boolean) configComissao.get("TARIFADEV") && this.resultSet.getBigDecimal("PRECIOPAGADO") != null)
|
||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("PRECIOPAGADO"));
|
||||
if ((Boolean) configComissao.get("SEGURO_DEV") && this.resultSet.getBigDecimal("IMPORTESEGURO") != null)
|
||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTESEGURO"));
|
||||
baseCalculoSeguro = baseCalculoSeguro.add(this.resultSet.getBigDecimal("IMPORTESEGURO"));
|
||||
if ((Boolean) configComissao.get("TAXADEV") && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null)
|
||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE"));
|
||||
if ((Boolean) configComissao.get("PEDAGIODEV") && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null)
|
||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO"));
|
||||
}
|
||||
|
||||
if (BigDecimal.ZERO.equals(baseCalculo) || BigDecimal.ZERO.compareTo(baseCalculo) >= 0) {
|
||||
// Caso esteje setado na configuração de comissão que o calculo deve ser sobre o liquido, deduz o imposto.
|
||||
if (configComissao.get("RECEITA") != null && ((String) configComissao.get("RECEITA")).equals("RL") &&
|
||||
(!tipoVentaId.equals(18) || (tipoVentaId.equals(18) && (Boolean) this.relatorio.getParametros().get("B_CONTEMPLAR_GAP"))) &&
|
||||
rowOrigem.get("IMPOSTOS") != null) {
|
||||
baseCalculo = baseCalculo.subtract((BigDecimal) rowOrigem.get("IMPOSTOS"));
|
||||
baseCalculoSeguro = baseCalculoSeguro.subtract((BigDecimal) rowOrigem.get("IMPOSTOS"));
|
||||
}
|
||||
|
||||
if (MoneyHelper.isMenorIgual(baseCalculo, BigDecimal.ZERO) && MoneyHelper.isMenorIgual(baseCalculoSeguro, BigDecimal.ZERO)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -227,25 +231,29 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
}
|
||||
|
||||
percComissao = isAltaTemporada ? (BigDecimal) configComissao.get("PASSAGEMALTA") : (BigDecimal) configComissao.get("PASSAGEMBAIXA");
|
||||
percComissaoSeguro = isAltaTemporada ? (BigDecimal) configComissao.get("SEGUROOBRIGATORIOALTA") : (BigDecimal) configComissao.get("SEGUROOBRIGATORIOBAIXA");
|
||||
|
||||
if (percComissao == null)
|
||||
if (percComissao == null && percComissaoSeguro == null)
|
||||
return;
|
||||
// VALOR COMISSAO = BASE DE CALCULO * (PERCENTUAL COMISSAO / 100)
|
||||
valorComissao = baseCalculo.multiply(MoneyHelper.dividir(percComissao, MoneyHelper.HUNDRED, 4));
|
||||
valorComissaoSeguro = baseCalculoSeguro.multiply(MoneyHelper.dividir(percComissaoSeguro, MoneyHelper.HUNDRED, 4));
|
||||
|
||||
// Deduz o ISS: VALOR COMISSAO = VALOR COMISSAO * (PERCENTUAL ISS / 100) - 1
|
||||
if (issComissao != null && !issComissao.equals(BigDecimal.ZERO)) {
|
||||
BigDecimal fator = BigDecimal.ONE.subtract(MoneyHelper.dividir(issComissao, MoneyHelper.HUNDRED, 4));
|
||||
valorComissao = valorComissao.multiply(fator);
|
||||
valorComissaoSeguro = valorComissaoSeguro.multiply(fator);
|
||||
}
|
||||
|
||||
// Deduz os royatiles
|
||||
if (royatilesComissao != null && !royatilesComissao.equals(BigDecimal.ZERO)) {
|
||||
BigDecimal fator = BigDecimal.ONE.subtract(MoneyHelper.dividir(royatilesComissao, MoneyHelper.HUNDRED, 4));
|
||||
valorComissao = valorComissao.multiply(fator);
|
||||
valorComissaoSeguro = valorComissaoSeguro.multiply(fator);
|
||||
}
|
||||
|
||||
rowDestino.put("VALOR_COMISSAO", ((BigDecimal) rowDestino.get("VALOR_COMISSAO")).add(valorComissao));
|
||||
rowDestino.put("VALOR_COMISSAO", ((BigDecimal) rowDestino.get("VALOR_COMISSAO")).add(valorComissao).add(valorComissaoSeguro));
|
||||
|
||||
// Se a agencia de destino não estiver na listagem, finaliza o preenchimento do map e adiciona na listagem
|
||||
if (!mapDados.containsKey(puntoVentaId)) {
|
||||
|
@ -478,7 +486,7 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
sql.append(" PC.SEGUROALTA, PC.SEGUROBAIXA, PC.OUTROSBAIXA, PC.OUTROSALTA, PC.EXCESSOALTA, PC.EXCESSOBAIXA, ");
|
||||
sql.append(" PC.TARIFARECEITA, PC.SEGURORECEITA, PC.TAXARECEITA, PC.PEDAGIORECEITA, TP.CVEPTOVTA TIPO_AGENCIA, ");
|
||||
sql.append(" PC.TARIFADEV, PC.SEGURO_DEV, PC.TAXADEV, PC.PEDAGIODEV, PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA, PV.NOMBPUNTOVENTA, ");
|
||||
sql.append(" ES.CVEESTADO, ES.ESTADO_ID ");
|
||||
sql.append(" ES.CVEESTADO, ES.ESTADO_ID, PC.SEGUROOBRIGATORIOALTA, PC.SEGUROOBRIGATORIOBAIXA ");
|
||||
sql.append(" FROM PTOVTA_COMISSAO PC ");
|
||||
sql.append(" INNER JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = PC.PUNTOVENTA_ID AND PC.PTOVTADESCOMISSAO_ID = PV.PUNTOVENTA_ID ");
|
||||
sql.append(" INNER JOIN PARADA PR ON PR.PARADA_ID = PV.PARADA_ID ");
|
||||
|
@ -508,6 +516,8 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
cacheConfig.put("OUTROSBAIXA", rs.getBigDecimal("OUTROSBAIXA"));
|
||||
cacheConfig.put("EXCESSOALTA", rs.getBigDecimal("EXCESSOALTA"));
|
||||
cacheConfig.put("EXCESSOBAIXA", rs.getBigDecimal("EXCESSOBAIXA"));
|
||||
cacheConfig.put("SEGUROOBRIGATORIOBAIXA", rs.getBigDecimal("SEGUROOBRIGATORIOBAIXA"));
|
||||
cacheConfig.put("SEGUROOBRIGATORIOALTA", rs.getBigDecimal("SEGUROOBRIGATORIOALTA"));
|
||||
|
||||
cacheConfig.put("TARIFARECEITA", rs.getBoolean("TARIFARECEITA"));
|
||||
cacheConfig.put("SEGURORECEITA", rs.getBoolean("SEGURORECEITA"));
|
||||
|
|
Loading…
Reference in New Issue