diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinha.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinha.java index fd63c97e2..e5818408f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinha.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinha.java @@ -99,8 +99,8 @@ public class RelatorioTaxasLinha extends Relatorio { else throw e; } - } + return null; } }); @@ -142,13 +142,16 @@ public class RelatorioTaxasLinha extends Relatorio { sql.append(" EM.NOMBEMPRESA, "); sql.append(" CJ.PUNTOVENTA_ID, "); sql.append(" PV.NOMBPUNTOVENTA, "); + sql.append(" SUM(CASE WHEN CJ.IMPORTETAXAEMBARQUE>0 THEN 1 ELSE 0 END) EMBARQUE_VENDIDOS, "); + sql.append(" SUM(CASE WHEN CJ.IMPORTEPEDAGIO>0 THEN 1 ELSE 0 END) PEDAGIO_VENDIDOS, "); + sql.append(" SUM(CASE WHEN CJ.IMPORTESEGURO>0 THEN 1 ELSE 0 END) SEGURO_VENDIDOS, "); + sql.append(" CASE "); sql.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN "); sql.append(" 'S' "); sql.append(" ELSE "); sql.append(" 'N' "); sql.append(" END INTERESTADUAL, "); - sql.append(" COUNT(1) TOTAL_VENDIDOS, "); sql.append(" SUM(CJ.IMPORTETAXAEMBARQUE) TOTAL_EMBARQUE, "); sql.append(" SUM(CJ.IMPORTEPEDAGIO) TOTAL_PEDAGIO, "); sql.append(" SUM(CJ.IMPORTESEGURO) TOTAL_SEGURO "); @@ -162,6 +165,9 @@ public class RelatorioTaxasLinha extends Relatorio { sql.append(" CIUDAD CD, "); sql.append(" EMPRESA EM "); sql.append(" WHERE CR.RUTA_ID = RT.RUTA_ID "); + + sql.append(" AND (CJ.IMPORTETAXAEMBARQUE>0 OR CJ.IMPORTEPEDAGIO>0 OR CJ.IMPORTESEGURO>0) "); + sql.append(" AND CJ.CORRIDA_ID = CR.CORRIDA_ID "); sql.append(" AND CJ.FECCORRIDA = CR.FECCORRIDA "); sql.append(" AND PO.PARADA_ID = CJ.ORIGEN_ID "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/negocio/CalculoImposto.java b/src/java/com/rjconsultores/ventaboletos/relatorios/negocio/CalculoImposto.java index 11d328970..a88ff21a1 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/negocio/CalculoImposto.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/negocio/CalculoImposto.java @@ -81,14 +81,12 @@ public class CalculoImposto { cacheConfig.put("ICMS", rs.getBigDecimal("ICMS")); cacheConfig.put("PORCREDBASEICMS", rs.getBigDecimal("PORCREDBASEICMS")); - } String estado = rs.getString("NOMBESTADO"); String empresa = rs.getString("NOMBEMPRESA"); if (!isBuscouConfig) throw new ExceptionConfiguracao("Não foi possivel obter a configuração de imposto para o estado: " + estado + " empresa: " + empresa); - } ; @@ -102,8 +100,7 @@ public class CalculoImposto { mapCacheConfigImposto.put(puntoVentaId.toString(), cacheConfig); - } - else + } else cacheConfig = mapCacheConfigImposto.get(puntoVentaId.toString()); return cacheConfig; @@ -139,8 +136,6 @@ public class CalculoImposto { baseCalculo = indBaseEmbarque && embarque != null ? baseCalculo.add(embarque) : baseCalculo; baseCalculo = indBasePedagio && pedagio != null ? baseCalculo.add(pedagio) : baseCalculo; baseCalculo = indBaseBagagem && bagagem != null ? baseCalculo.add(bagagem) : baseCalculo; - - // Redução da base de calculo if (porcRedBaseIcms != null && porcRedBaseIcms.equals(BigDecimal.ZERO)) @@ -154,14 +149,10 @@ public class CalculoImposto { if (porcRedEstadualMunicipal != null && porcRedEstadualMunicipal.equals(BigDecimal.ZERO)) valorIcms = valorIcms.subtract(porcRedEstadualMunicipal.divide(BigDecimal.valueOf(100)).multiply(valorIcms)); - - return valorIcms; - } public static BigDecimal getValorImposto(Connection conexao, Integer puntoVentaId, String indInterestadual, BigDecimal tarifa, BigDecimal seguro, BigDecimal embarque, BigDecimal pedagio) throws Exception { - HashMap configImposto = new HashMap(); BigDecimal baseCalculo = BigDecimal.ZERO; @@ -202,9 +193,7 @@ public class CalculoImposto { baseCalculo = indSeguroEstadual && seguro != null ? baseCalculo.add(seguro) : baseCalculo; baseCalculo = indTxEmbarqueEstadual && embarque != null ? baseCalculo.add(embarque) : baseCalculo; baseCalculo = indPedagioEstadual && pedagio != null ? baseCalculo.add(pedagio) : baseCalculo; - - } - else { + } else { porcRedEstadualMunicipal = (BigDecimal) configImposto.get("PORCREDMUNICIPAL"); indTarifaMunicipal = (Boolean) configImposto.get("INDTARIFAMUNICIPAL"); @@ -216,8 +205,6 @@ public class CalculoImposto { baseCalculo = indSeguroMunicipal && seguro != null ? baseCalculo.add(seguro) : baseCalculo; baseCalculo = indTxEmbarqueMunicipal && embarque != null ? baseCalculo.add(embarque) : baseCalculo; baseCalculo = indPedagioMunicipal && pedagio != null ? baseCalculo.add(pedagio) : baseCalculo; - - } // Redução da base de calculo @@ -233,7 +220,5 @@ public class CalculoImposto { valorIcms = valorIcms.subtract(porcRedEstadualMunicipal.divide(BigDecimal.valueOf(100)).multiply(valorIcms)); return valorIcms; - } - } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jasper index 0bcd6f4a9..c6044c6b0 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jrxml index 068996cbf..d9703a02e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jrxml @@ -1,7 +1,7 @@ - - + +