diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinha.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinha.java index 5f6089504..b7098051e 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinha.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioTaxasLinha.java @@ -78,8 +78,13 @@ public class RelatorioTaxasLinha extends Relatorio { while (rset1.next()) { + BigDecimal valorIcms; // Se não for pra subtrair o ICMS, realiza o calculo e adiciona o mesmo - BigDecimal valorIcms = BigDecimal.ZERO; + if(!(Boolean) parametros.get("B_SUBTRAIR_ICMS")){ + valorIcms = BigDecimal.ZERO; + }else{ + valorIcms = rset1.getBigDecimal("ICMS") == null ? BigDecimal.ZERO : rset1.getBigDecimal("ICMS"); + } String indInterestadual = rset1.getString("INTERESTADUAL"); Integer idEstado = rset1.getInt("ORIGEM_ESTADO_ID"); Integer empresaId = rset1.getInt("EMPRESA_ID"); @@ -219,17 +224,19 @@ public class RelatorioTaxasLinha extends Relatorio { sql.append(" END INTERESTADUAL, "); sql.append(" SUM( (case when cj.motivocancelacion_id is null then 1 else -1 end) * CJ.IMPORTETAXAEMBARQUE) TOTAL_EMBARQUE, "); sql.append(" SUM( (case when cj.motivocancelacion_id is null then 1 else -1 end) * CJ.IMPORTEPEDAGIO) TOTAL_PEDAGIO, "); - sql.append(" SUM( (case when cj.motivocancelacion_id is null then 1 else -1 end) * CJ.IMPORTESEGURO) TOTAL_SEGURO "); + sql.append(" SUM( (case when cj.motivocancelacion_id is null then 1 else -1 end) * CJ.IMPORTESEGURO) TOTAL_SEGURO, "); + sql.append(" EST.ICMS AS ICMS "); sql.append("FROM CAJA CJ "); - sql.append("INNER JOIN PUNTO_VENTA PV ON CJ.PUNTOVENTA_ID = PV.PUNTOVENTA_ID "); - sql.append("INNER JOIN EMPRESA EM ON CJ.EMPRESACORRIDA_ID = EM.EMPRESA_ID "); - sql.append("INNER JOIN PARADA PO ON CJ.ORIGEN_ID = PO.PARADA_ID "); - sql.append("INNER JOIN PARADA PD ON CJ.DESTINO_ID = PD.PARADA_ID "); - sql.append("INNER JOIN CIUDAD CO ON PO.CIUDAD_ID = CO.CIUDAD_ID "); - sql.append("INNER JOIN CIUDAD CD ON PD.CIUDAD_ID = CD.CIUDAD_ID "); - sql.append("LEFT JOIN CORRIDA CR ON (CJ.CORRIDA_ID = CR.CORRIDA_ID AND CJ.FECCORRIDA = CR.FECCORRIDA) "); - sql.append("LEFT JOIN RUTA RT ON RT.RUTA_ID = CR.RUTA_ID "); + sql.append("INNER JOIN PUNTO_VENTA PV ON CJ.PUNTOVENTA_ID = PV.PUNTOVENTA_ID "); + sql.append("INNER JOIN EMPRESA EM ON CJ.EMPRESACORRIDA_ID = EM.EMPRESA_ID "); + sql.append("INNER JOIN PARADA PO ON CJ.ORIGEN_ID = PO.PARADA_ID "); + sql.append("INNER JOIN PARADA PD ON CJ.DESTINO_ID = PD.PARADA_ID "); + sql.append("INNER JOIN CIUDAD CO ON PO.CIUDAD_ID = CO.CIUDAD_ID "); + sql.append("INNER JOIN ESTADO EST ON EST.ESTADO_ID = CO.estado_ID "); + sql.append("INNER JOIN CIUDAD CD ON PD.CIUDAD_ID = CD.CIUDAD_ID "); + sql.append("LEFT JOIN CORRIDA CR ON (CJ.CORRIDA_ID = CR.CORRIDA_ID AND CJ.FECCORRIDA = CR.FECCORRIDA) "); + sql.append("LEFT JOIN RUTA RT ON RT.RUTA_ID = CR.RUTA_ID "); sql.append("WHERE (CJ.IMPORTETAXAEMBARQUE>0 OR CJ.IMPORTEPEDAGIO>0 OR CJ.IMPORTESEGURO>0) "); sql.append("AND CJ.INDSTATUSOPERACION = 'F' "); @@ -254,7 +261,8 @@ public class RelatorioTaxasLinha extends Relatorio { sql.append(" EM.NOMBEMPRESA, "); sql.append(" EM.EMPRESA_ID, "); sql.append(" CJ.PUNTOVENTA_ID, "); - sql.append(" PV.NOMBPUNTOVENTA "); + sql.append(" PV.NOMBPUNTOVENTA, "); + sql.append(" EST.ICMS "); sql.append(" ORDER BY EM.NOMBEMPRESA, PO.DESCPARADA, PD.DESCPARADA, PV.NOMBPUNTOVENTA "); return sql.toString();