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
|
@ -178,37 +178,41 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
||||||
BigDecimal percComissao = BigDecimal.ZERO;
|
BigDecimal percComissao = BigDecimal.ZERO;
|
||||||
BigDecimal issComissao = configComissao.get("ISSRETIDO") != null ? (BigDecimal) configComissao.get("ISSRETIDO") : BigDecimal.ZERO;
|
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 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
|
// Defini a base de calculo da comissão
|
||||||
if (motivoCancelacionId == null) {
|
if (motivoCancelacionId == null) {
|
||||||
if ((Boolean) configComissao.get("TARIFARECEITA") && this.resultSet.getBigDecimal("PRECIOPAGADO") != null)
|
if ((Boolean) configComissao.get("TARIFARECEITA") && this.resultSet.getBigDecimal("PRECIOPAGADO") != null)
|
||||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("PRECIOPAGADO") );
|
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("PRECIOPAGADO") );
|
||||||
if ((Boolean) configComissao.get("SEGURORECEITA") && this.resultSet.getBigDecimal("IMPORTESEGURO") != null)
|
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)
|
if ((Boolean) configComissao.get("TAXARECEITA") && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null)
|
||||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE"));
|
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE"));
|
||||||
if ((Boolean) configComissao.get("PEDAGIORECEITA") && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null)
|
if ((Boolean) configComissao.get("PEDAGIORECEITA") && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null)
|
||||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO"));
|
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO"));
|
||||||
|
} else {
|
||||||
// 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 {
|
|
||||||
if ((Boolean) configComissao.get("TARIFADEV") && this.resultSet.getBigDecimal("PRECIOPAGADO") != null)
|
if ((Boolean) configComissao.get("TARIFADEV") && this.resultSet.getBigDecimal("PRECIOPAGADO") != null)
|
||||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("PRECIOPAGADO"));
|
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("PRECIOPAGADO"));
|
||||||
if ((Boolean) configComissao.get("SEGURO_DEV") && this.resultSet.getBigDecimal("IMPORTESEGURO") != null)
|
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)
|
if ((Boolean) configComissao.get("TAXADEV") && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null)
|
||||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE"));
|
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE"));
|
||||||
if ((Boolean) configComissao.get("PEDAGIODEV") && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null)
|
if ((Boolean) configComissao.get("PEDAGIODEV") && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null)
|
||||||
baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO"));
|
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"));
|
||||||
|
baseCalculoSeguro = baseCalculoSeguro.subtract((BigDecimal) rowOrigem.get("IMPOSTOS"));
|
||||||
|
}
|
||||||
|
|
||||||
if (BigDecimal.ZERO.equals(baseCalculo) || BigDecimal.ZERO.compareTo(baseCalculo) >= 0) {
|
if (MoneyHelper.isMenorIgual(baseCalculo, BigDecimal.ZERO) && MoneyHelper.isMenorIgual(baseCalculoSeguro, BigDecimal.ZERO)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -227,25 +231,29 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
||||||
}
|
}
|
||||||
|
|
||||||
percComissao = isAltaTemporada ? (BigDecimal) configComissao.get("PASSAGEMALTA") : (BigDecimal) configComissao.get("PASSAGEMBAIXA");
|
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;
|
return;
|
||||||
// VALOR COMISSAO = BASE DE CALCULO * (PERCENTUAL COMISSAO / 100)
|
// VALOR COMISSAO = BASE DE CALCULO * (PERCENTUAL COMISSAO / 100)
|
||||||
valorComissao = baseCalculo.multiply(MoneyHelper.dividir(percComissao, MoneyHelper.HUNDRED, 4));
|
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
|
// Deduz o ISS: VALOR COMISSAO = VALOR COMISSAO * (PERCENTUAL ISS / 100) - 1
|
||||||
if (issComissao != null && !issComissao.equals(BigDecimal.ZERO)) {
|
if (issComissao != null && !issComissao.equals(BigDecimal.ZERO)) {
|
||||||
BigDecimal fator = BigDecimal.ONE.subtract(MoneyHelper.dividir(issComissao, MoneyHelper.HUNDRED, 4));
|
BigDecimal fator = BigDecimal.ONE.subtract(MoneyHelper.dividir(issComissao, MoneyHelper.HUNDRED, 4));
|
||||||
valorComissao = valorComissao.multiply(fator);
|
valorComissao = valorComissao.multiply(fator);
|
||||||
|
valorComissaoSeguro = valorComissaoSeguro.multiply(fator);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deduz os royatiles
|
// Deduz os royatiles
|
||||||
if (royatilesComissao != null && !royatilesComissao.equals(BigDecimal.ZERO)) {
|
if (royatilesComissao != null && !royatilesComissao.equals(BigDecimal.ZERO)) {
|
||||||
BigDecimal fator = BigDecimal.ONE.subtract(MoneyHelper.dividir(royatilesComissao, MoneyHelper.HUNDRED, 4));
|
BigDecimal fator = BigDecimal.ONE.subtract(MoneyHelper.dividir(royatilesComissao, MoneyHelper.HUNDRED, 4));
|
||||||
valorComissao = valorComissao.multiply(fator);
|
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
|
// Se a agencia de destino não estiver na listagem, finaliza o preenchimento do map e adiciona na listagem
|
||||||
if (!mapDados.containsKey(puntoVentaId)) {
|
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.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.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(" 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(" 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 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 ");
|
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("OUTROSBAIXA", rs.getBigDecimal("OUTROSBAIXA"));
|
||||||
cacheConfig.put("EXCESSOALTA", rs.getBigDecimal("EXCESSOALTA"));
|
cacheConfig.put("EXCESSOALTA", rs.getBigDecimal("EXCESSOALTA"));
|
||||||
cacheConfig.put("EXCESSOBAIXA", rs.getBigDecimal("EXCESSOBAIXA"));
|
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("TARIFARECEITA", rs.getBoolean("TARIFARECEITA"));
|
||||||
cacheConfig.put("SEGURORECEITA", rs.getBoolean("SEGURORECEITA"));
|
cacheConfig.put("SEGURORECEITA", rs.getBoolean("SEGURORECEITA"));
|
||||||
|
|
Loading…
Reference in New Issue