diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java index 775f23f59..18e6db168 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java @@ -297,10 +297,12 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { this.mapDados.put(row.get("PUNTOVENTA_ID") + "-" + empresaId.toString(), (HashMap) row); row.put("TOTAL_BILHETES", ((BigDecimal) row.get("TOTAL_BILHETES")).add(motivoCancelacionId == 0 && !tipoVentaId.equals(18) ? BigDecimal.ONE : BigDecimal.ZERO)); - row.put("TOTAL_BILHETES_GAP", ((BigDecimal) row.get("TOTAL_BILHETES_GAP")).add(motivoCancelacionId == 0 && tipoVentaId.equals(18) ? BigDecimal.ONE : BigDecimal.ZERO)); - row.put("TOTAL_BILHETES_CANC", ((BigDecimal) row.get("TOTAL_BILHETES_CANC")).add(motivoCancelacionId == 31 || motivoCancelacionId == 32 ? BigDecimal.ONE : BigDecimal.ZERO)); + row.put("TOTAL_BILHETES_GAP", ((BigDecimal) row.get("TOTAL_BILHETES_GAP")).add(motivoCancelacionId == 0 && tipoVentaId.equals(18) && this.resultSet.getInt("INDREIMPRESION") == 0 ? BigDecimal.ONE : BigDecimal.ZERO)); + row.put("TOTAL_BILHETES_CANC", ((BigDecimal) row.get("TOTAL_BILHETES_CANC")).add(motivoCancelacionId == 31 ? BigDecimal.ONE : BigDecimal.ZERO)); - if (motivoCancelacionId == 0) { + // Aumenta receita + // Não se trate de cancelamento e não seja uma impressão de pré venda + if (motivoCancelacionId == 0 && !((tipoVentaId.equals(18) && this.resultSet.getInt("INDREIMPRESION") == 1))) { row.put("RECEITA_TARIFA", ((BigDecimal) row.get("RECEITA_TARIFA")).add(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO)); row.put("RECEITA_TARIFA_GAP", ((BigDecimal) row.get("RECEITA_TARIFA_GAP")).add((tipoVentaId.equals(18) || tipoVentaId.equals(39)) ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO)); @@ -315,14 +317,24 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { row.put("RECEITA_EMBARQUE", ((BigDecimal) row.get("RECEITA_EMBARQUE")).add(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null ? this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") : BigDecimal.ZERO)); row.put("RECEITA_EMBARQUE_GAP", ((BigDecimal) row.get("RECEITA_EMBARQUE_GAP")).add((tipoVentaId.equals(18) || tipoVentaId.equals(39)) && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null ? this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") : BigDecimal.ZERO)); - row.put("IMPOSTOS", ((BigDecimal) row.get("IMPOSTOS")).add(!tipoVentaId.equals(18) || ((tipoVentaId.equals(18) && this.resultSet.getInt("INDREIMPRESION") == 1)) ? getValorImposto(idEstado, empresaId, this.resultSet.getString("INTERESTADUAL"), this.resultSet.getBigDecimal("PRECIOPAGADO"), this.resultSet.getBigDecimal("IMPORTESEGURO"), this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE"), this.resultSet.getBigDecimal("IMPORTEPEDAGIO"), BigDecimal.ZERO) : BigDecimal.ZERO)); // Realiza os calculos de comissão se o tipo de venda não for "EM ABERTO" e se for venda normal, ou se for GAP e o check estiver marcado if (!tipoVentaId.equals(9) && ((!tipoVentaId.equals(18) && !tipoVentaId.equals(39)) || ((tipoVentaId.equals(18) || tipoVentaId.equals(39)) && (Boolean) this.relatorio.getParametros().get("B_CONTEMPLAR_GAP")))) this.setRowComissao(row); } - //Deduz os cancelamentos e os registros de impressão dao GAP - if (motivoCancelacionId == 31 || motivoCancelacionId == 10 || ((tipoVentaId.equals(18) && this.resultSet.getInt("INDREIMPRESION") == 1)) ) { + // Aumenta imposto + if ((motivoCancelacionId == 0 && tipoVentaId != 18) || ((tipoVentaId == 18 && this.resultSet.getInt("INDREIMPRESION") == 1))) { + row.put("IMPOSTOS", ((BigDecimal) row.get("IMPOSTOS")).add(getValorImposto(idEstado, empresaId, this.resultSet.getString("INTERESTADUAL"), this.resultSet.getBigDecimal("PRECIOPAGADO"), this.resultSet.getBigDecimal("IMPORTESEGURO"), this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE"), this.resultSet.getBigDecimal("IMPORTEPEDAGIO"), BigDecimal.ZERO))); + } + + //Deduz imposto + if(( tipoVentaId != 18 && motivoCancelacionId != 0 ) || (tipoVentaId == 18 && this.resultSet.getInt("INDREIMPRESION") == 1 && this.resultSet.getInt("POSSUI_CANC") == 1 )){ + row.put("IMPOSTOS", ((BigDecimal) row.get("IMPOSTOS")).subtract( getValorImposto(idEstado, empresaId, this.resultSet.getString("INTERESTADUAL"), this.resultSet.getBigDecimal("PRECIOPAGADO"), this.resultSet.getBigDecimal("IMPORTESEGURO"), this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE"), this.resultSet.getBigDecimal("IMPORTEPEDAGIO"), BigDecimal.ZERO))); + + } + + // Deduz os cancelamentos e trocas + if (motivoCancelacionId == 31 || motivoCancelacionId == 10) { row.put("RECEITA_TARIFA", ((BigDecimal) row.get("RECEITA_TARIFA")).subtract(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO)); row.put("RECEITA_TARIFA_GAP", ((BigDecimal) row.get("RECEITA_TARIFA_GAP")).subtract((tipoVentaId.equals(18) || tipoVentaId.equals(39)) ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO)); @@ -336,20 +348,17 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { row.put("RECEITA_PEDAGIO_GAP", ((BigDecimal) row.get("RECEITA_PEDAGIO_GAP")).subtract((tipoVentaId.equals(18) || tipoVentaId.equals(39)) && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null ? this.resultSet.getBigDecimal("IMPORTEPEDAGIO") : BigDecimal.ZERO)); row.put("RECEITA_EMBARQUE", ((BigDecimal) row.get("RECEITA_EMBARQUE")).subtract(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null ? this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") : BigDecimal.ZERO)); row.put("RECEITA_EMBARQUE_GAP", ((BigDecimal) row.get("RECEITA_EMBARQUE_GAP")).subtract((tipoVentaId.equals(18) || tipoVentaId.equals(39)) && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null ? this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") : BigDecimal.ZERO)); - row.put("IMPOSTOS", ((BigDecimal) row.get("IMPOSTOS")).subtract(!tipoVentaId.equals(18) || ((tipoVentaId.equals(18) && this.resultSet.getInt("INDREIMPRESION") == 1)) ? getValorImposto(idEstado, empresaId, this.resultSet.getString("INTERESTADUAL"), this.resultSet.getBigDecimal("PRECIOPAGADO"), this.resultSet.getBigDecimal("IMPORTESEGURO"), this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE"), this.resultSet.getBigDecimal("IMPORTEPEDAGIO"), BigDecimal.ZERO) : BigDecimal.ZERO)); - - - + } - + // Aumenta devolução if (motivoCancelacionId == 32) { // Verificia se a devolução é pra ser contabilizada na agência de destino ou de origem da venda - //if (((Integer) this.relatorio.getParametros().get("ISDEVOLUCAODESTINO") == 1) || (((Integer) this.relatorio.getParametros().get("ISDEVOLUCAODESTINO")).equals(0) && this.resultSet.getInt("POSSUI_CANC") == 1)) { - row.put("TOTAL_DEVOL", ((BigDecimal) row.get("TOTAL_DEVOL")).add(!tipoVentaId.equals(18) ? this.resultSet.getBigDecimal("PRECIOPAGADO").add(this.resultSet.getBigDecimal("IMPORTESEGURO")).add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE")).add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO")).add(this.resultSet.getBigDecimal("IMPORTEOUTROS")) : BigDecimal.ZERO)); - row.put("TOTAL_DEVOL_GAP", ((BigDecimal) row.get("TOTAL_DEVOL_GAP")).add(tipoVentaId.equals(18) ? this.resultSet.getBigDecimal("PRECIOPAGADO").add(this.resultSet.getBigDecimal("IMPORTESEGURO")).add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE")).add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO")).add(this.resultSet.getBigDecimal("IMPORTEOUTROS")) : BigDecimal.ZERO)); + // if (((Integer) this.relatorio.getParametros().get("ISDEVOLUCAODESTINO") == 1) || (((Integer) this.relatorio.getParametros().get("ISDEVOLUCAODESTINO")).equals(0) && this.resultSet.getInt("POSSUI_CANC") == 1)) { + row.put("TOTAL_DEVOL", ((BigDecimal) row.get("TOTAL_DEVOL")).add(!tipoVentaId.equals(18) ? this.resultSet.getBigDecimal("PRECIOPAGADO").add(this.resultSet.getBigDecimal("IMPORTESEGURO")).add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE")).add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO")).add(this.resultSet.getBigDecimal("IMPORTEOUTROS")) : BigDecimal.ZERO)); + row.put("TOTAL_DEVOL_GAP", ((BigDecimal) row.get("TOTAL_DEVOL_GAP")).add(tipoVentaId.equals(18) ? this.resultSet.getBigDecimal("PRECIOPAGADO").add(this.resultSet.getBigDecimal("IMPORTESEGURO")).add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE")).add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO")).add(this.resultSet.getBigDecimal("IMPORTEOUTROS")) : BigDecimal.ZERO)); - //} + // } } } @@ -473,7 +482,7 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { HashMap cacheConfig = null; try { - cacheConfig = (HashMap) CalculoImposto.getConfigImpostoByEstadoOrigem(this.getConexao(), estadoId, empresaId); + cacheConfig = (HashMap) CalculoImposto.getConfigImpostoByEstadoOrigem(this.getConexao(), estadoId, empresaId); } catch (Exception e) { if (e instanceof ExceptionConfiguracao) this.addInfoMsg(e.getMessage());