diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java index 6085979a9..a21f239e4 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java @@ -169,6 +169,7 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { BigDecimal valorContabil = BigDecimal.ZERO; BigDecimal baseCalculoICMS = BigDecimal.ZERO; + BigDecimal valorIsenta = BigDecimal.ZERO; ExportacaoBPEVo exportacaoBPEVo = new ExportacaoBPEVo(); TBPe tbpe = null; @@ -184,8 +185,6 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { String vICMS = null; String pRedBC = null; - String vIsenta = null; - if (StringUtils.isNotBlank(xml)) { if (tbpe.getInfBPe().getImp().getICMS().getICMS00() != null) { vBC = tbpe.getInfBPe().getImp().getICMS().getICMS00().getVBC(); @@ -198,32 +197,27 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { pRedBC = tbpe.getInfBPe().getImp().getICMS().getICMS20().getPRedBC(); } - valorContabil = new BigDecimal(vBC == null ? "0.0" : vBC); - if (tbpe.getInfBPe().getInfValorBPe() != null) { - for (TBPe.InfBPe.InfValorBPe.Comp comp : tbpe.getInfBPe().getInfValorBPe().getComp()) { + String vPgto = tbpe.getInfBPe().getInfValorBPe().getVPgto(); + valorContabil = new BigDecimal(vPgto == null ? "0.0" : vPgto); + + for (TBPe.InfBPe.InfValorBPe.Comp comp : tbpe.getInfBPe().getInfValorBPe().getComp()) { if (comp.getTpComp().equals(TipoComp.PEDAGIO)) { - baseCalculoICMS = baseCalculoICMS.add(isEstadual && db.getIndPedadioEstdual() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); - baseCalculoICMS = baseCalculoICMS.add(!isEstadual && db.getIndPedagioMunicipal() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); + valorIsenta = valorIsenta.add(isEstadual && !db.getIndPedadioEstdual() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); + valorIsenta = valorIsenta.add(!isEstadual && !db.getIndPedagioMunicipal() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); } if (comp.getTpComp().equals(TipoComp.TAXA_EMBARQUE)) { - baseCalculoICMS = baseCalculoICMS.add(isEstadual && db.getIndTxEmbarqueEstadual() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); - baseCalculoICMS = baseCalculoICMS.add(!isEstadual && db.getIndTxEmbarqueMunicipal() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); + valorIsenta = valorIsenta.add(isEstadual && !db.getIndTxEmbarqueEstadual() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); + valorIsenta = valorIsenta.add(!isEstadual && !db.getIndTxEmbarqueMunicipal() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); } if (comp.getTpComp().equals(TipoComp.SEGURO)) { - baseCalculoICMS = baseCalculoICMS.add(isEstadual && db.getIndSeguroEstadual() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); - baseCalculoICMS = baseCalculoICMS.add(!isEstadual && db.getIndSeguroMunicipal() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); - } - - if (!comp.getTpComp().equals("01")) { - vIsenta = comp.getVComp(); - valorContabil = valorContabil.add(new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp())); + valorIsenta = valorIsenta.add(isEstadual && !db.getIndSeguroEstadual() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); + valorIsenta = valorIsenta.add(!isEstadual && !db.getIndSeguroMunicipal() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO); } } - } } @@ -238,9 +232,7 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { db.setValorIcms(valorIcms); BigDecimal outras = new BigDecimal(pRedBC == null ? "0.0" : pRedBC); db.setValorOutras(outras); - - db.setValorIsenta(StringUtils.isNotBlank(xml) && db.getTotalBilhete().floatValue() > 0 ? new BigDecimal(vIsenta == null ? "0.0" : vIsenta) : BigDecimal.ZERO); - + db.setValorIsenta(valorIsenta); db.setEstornoEstadual(BigDecimal.ZERO); db.setEstornoMunicipal(BigDecimal.ZERO); @@ -255,42 +247,48 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { boolean isEstadual = rset.getInt("IS_ESTADUAL") == 1; db.setEstadual(isEstadual); + BigDecimal valorIsenta = BigDecimal.ZERO; BigDecimal valorContabil = BigDecimal.ZERO; if (isEstadual) { + valorContabil = valorContabil.add(db.getIndTarifaEstadual() ? db.getPrecioPagado() : BigDecimal.ZERO); valorContabil = valorContabil.add(db.getIndPedadioEstdual() ? db.getImportepedagio() : BigDecimal.ZERO); valorContabil = valorContabil.add(db.getIndSeguroEstadual() ? db.getImporteseguro() : BigDecimal.ZERO); - valorContabil = valorContabil.add(db.getIndTarifaEstadual() ? db.getPrecioPagado() : BigDecimal.ZERO); valorContabil = valorContabil.add(db.getIndTxEmbarqueEstadual() ? db.getImportetaxaembarque() : BigDecimal.ZERO); + + valorIsenta = valorIsenta.add(!db.getIndPedadioEstdual() ? db.getImportepedagio() : BigDecimal.ZERO); + valorIsenta = valorIsenta.add(!db.getIndSeguroEstadual() ? db.getImporteseguro() : BigDecimal.ZERO); + valorIsenta = valorIsenta.add(!db.getIndTxEmbarqueEstadual() ? db.getImportetaxaembarque() : BigDecimal.ZERO); } else { + valorContabil = valorContabil.add(db.getIndTarifaMunicipal() ? db.getPrecioPagado() : BigDecimal.ZERO); valorContabil = valorContabil.add(db.getIndPedagioMunicipal() ? db.getImportepedagio() : BigDecimal.ZERO); valorContabil = valorContabil.add(db.getIndSeguroMunicipal() ? db.getImporteseguro() : BigDecimal.ZERO); - valorContabil = valorContabil.add(db.getIndTarifaMunicipal() ? db.getPrecioPagado() : BigDecimal.ZERO); valorContabil = valorContabil.add(db.getIndTxEmbarqueMunicipal() ? db.getImportetaxaembarque() : BigDecimal.ZERO); + + valorIsenta = valorIsenta.add(!db.getIndPedagioMunicipal() ? db.getImportepedagio() : BigDecimal.ZERO); + valorIsenta = valorIsenta.add(!db.getIndSeguroMunicipal() ? db.getImporteseguro() : BigDecimal.ZERO); + valorIsenta = valorIsenta.add(!db.getIndTxEmbarqueMunicipal() ? db.getImportetaxaembarque() : BigDecimal.ZERO); } db.setValorContabil(valorContabil); + db.setValorIsenta(valorIsenta); BigDecimal baseCalculoIcms = BigDecimal.ZERO; BigDecimal valorIcms = BigDecimal.ZERO; - if (db.isIsenta()) { - db.setValorIsenta(valorContabil); + + BigDecimal redBaseCalcIcms = BigDecimal.ZERO; + + redBaseCalcIcms = db.getPorcredbaseicms() == null ? BigDecimal.ZERO : db.getPorcredbaseicms().divide(UtiliteriasFiscal.CEM); + + BigDecimal redutor = valorContabil.multiply(redBaseCalcIcms); + baseCalculoIcms = valorContabil.subtract(redutor); + + BigDecimal aliquota = BigDecimal.ZERO; + if (isEstadual) { + aliquota = db.getTributacaoimportacao() == null ? db.getIcmsInterestadual() : db.getTributacaoimportacao(); } else { - - BigDecimal redBaseCalcIcms = BigDecimal.ZERO; - - redBaseCalcIcms = db.getPorcredbaseicms() == null ? BigDecimal.ZERO : db.getPorcredbaseicms().divide(UtiliteriasFiscal.CEM); - - BigDecimal redutor = valorContabil.multiply(redBaseCalcIcms); - baseCalculoIcms = valorContabil.subtract(redutor); - - BigDecimal aliquota = BigDecimal.ZERO; - if (isEstadual) { - aliquota = db.getTributacaoimportacao() == null ? db.getIcmsInterestadual() : db.getTributacaoimportacao(); - } else { - aliquota = db.getTributacaoimportacao() == null ? db.getIcmsIntermunicipal() : db.getTributacaoimportacao(); - } - valorIcms = baseCalculoIcms.multiply(aliquota.divide(UtiliteriasFiscal.CEM)); - db.setValorIcms(valorIcms); + aliquota = db.getTributacaoimportacao() == null ? db.getIcmsIntermunicipal() : db.getTributacaoimportacao(); } + valorIcms = baseCalculoIcms.multiply(aliquota.divide(UtiliteriasFiscal.CEM)); + db.setValorIcms(valorIcms); db.setBaseCalculoIcms(baseCalculoIcms); db.setEstornoEstadual(BigDecimal.ZERO); @@ -304,9 +302,7 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { } lsDev.add(db); - } - setLsDadosRelatorio(lsDev); } }); @@ -452,21 +448,23 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { sql.append(" DBMS_LOB.SUBSTR((CASE WHEN BPEORI.TIPOEVENTO IS NOT NULL THEN BPEANT.XMLREGULAR ELSE BPEORI.XMLREGULAR END), 3000, 3001) AS XML_BPE_2, "); sql.append(" DBMS_LOB.SUBSTR((CASE WHEN BPEORI.TIPOEVENTO IS NOT NULL THEN BPEANT.XMLREGULAR ELSE BPEORI.XMLREGULAR END), 3000, 6001) AS XML_BPE_3 "); sql.append("FROM BOLETO BORI "); - sql.append(" INNER JOIN MARCA M ON M.MARCA_ID = BORI.MARCA_ID AND M.ACTIVO = 1 "); + sql.append(" INNER JOIN MARCA M ON M.MARCA_ID = BORI.MARCA_ID AND M.ACTIVO = 1 "); sql.append(" INNER JOIN EMPRESA E ON E.EMPRESA_ID = M.EMPRESA_ID "); sql.append(" INNER JOIN BPE BPE ON BPE.BOLETO_ID = BORI.BOLETO_ID "); sql.append(" INNER JOIN ESTADO EST_BPE ON BPE.UF = EST_BPE.CODIBGE "); - sql.append(" LEFT JOIN BOLETO B ON B.BOLETO_ID = BORI.BOLETOORIGINAL_ID "); +// sql.append(" LEFT JOIN BOLETO B ON B.BOLETO_ID = BORI.BOLETOORIGINAL_ID "); + sql.append(" LEFT JOIN BOLETO B ON B.BOLETO_ID = (CASE WHEN BORI.MOTIVOCANCELACION_ID = 99 THEN BORI.BOLETOANTERIOR_ID ELSE BORI.BOLETOORIGINAL_ID END) "); + sql.append(" LEFT JOIN BPE BPEORI ON B.BOLETO_ID = BPEORI.BOLETO_ID "); - sql.append(" INNER JOIN PUNTO_VENTA PTV ON PTV.PUNTOVENTA_ID = BORI.PUNTOVENTA_ID "); + sql.append(" INNER JOIN PUNTO_VENTA PTV ON PTV.PUNTOVENTA_ID = BORI.PUNTOVENTA_ID "); sql.append(" INNER JOIN PARADA ORI ON (B.ORIGEN_ID = ORI.PARADA_ID ) "); sql.append(" INNER JOIN PARADA DES ON (B.DESTINO_ID = DES.PARADA_ID ) "); sql.append(" INNER JOIN CIUDAD CO ON (CO.CIUDAD_ID = ORI.CIUDAD_ID ) "); sql.append(" INNER JOIN CIUDAD CD ON (CD.CIUDAD_ID = DES.CIUDAD_ID ) "); sql.append(" INNER JOIN ESTADO EST ON EST.ESTADO_ID = CO.ESTADO_ID "); sql.append("LEFT JOIN ALIAS_SERVICO S ON S.ORIGEN_ID = B.ORIGEN_ID "); - sql.append(" AND S.DESTINO_ID = B.DESTINO_ID AND (S.CORRIDA_ID = B.CORRIDA_ID OR S.CORRIDA_ID IS NULL) "); - sql.append(" AND S.RUTA_ID = B.RUTA_ID AND S.ACTIVO = 1 "); + sql.append(" AND S.DESTINO_ID = B.DESTINO_ID AND (S.CORRIDA_ID = B.CORRIDA_ID OR S.CORRIDA_ID IS NULL) "); + sql.append(" AND S.RUTA_ID = B.RUTA_ID AND S.ACTIVO = 1 "); sql.append("LEFT JOIN PARADA POS ON POS.PARADA_ID = S.ALIASORIGEN_ID "); sql.append("LEFT JOIN CIUDAD COS ON COS.CIUDAD_ID = POS.CIUDAD_ID "); sql.append("LEFT JOIN ESTADO EOS ON EOS.ESTADO_ID = COS.ESTADO_ID "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioRDI.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioRDI.jasper index fbdfb1d38..4937796c1 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioRDI.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioRDI.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioRDI.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioRDI.jrxml index 2dbd1767e..4f44da2f2 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioRDI.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioRDI.jrxml @@ -512,147 +512,133 @@ - + - + - + - - - - - - - - + - + - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -661,6 +647,20 @@ + + + + + + + + + + + + + + @@ -721,49 +721,35 @@ - + - - - - - - - - - - - - - - - + - + - + - + @@ -775,6 +761,20 @@ + + + + + + + + + + + + + + @@ -934,14 +934,14 @@ - + - + @@ -955,56 +955,56 @@ - + - + - + - + - + - + - + - + @@ -1088,75 +1088,75 @@ - + - - - - - - - - - - - - - - - + - + - + - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1294,147 +1294,147 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +