From e7ebe9779dc1bb41bf865c0074e7a545cf6f7887 Mon Sep 17 00:00:00 2001 From: julio Date: Fri, 14 Sep 2018 15:07:15 +0000 Subject: [PATCH] bug#11600 dev: julio qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@85402 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioDevolucaoBilhetes.java | 95 +++--- .../impl/RelatorioFinanceiroSintetico.java | 178 +++++------ .../RelatorioFinanceiroSintetico.jasper | Bin 77314 -> 78998 bytes .../RelatorioFinanceiroSintetico.jrxml | 278 ++++++++++-------- 4 files changed, 285 insertions(+), 266 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java index 820414b01..1a8f9f4d6 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java @@ -247,51 +247,20 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { boolean isEstadual = rset.getInt("IS_ESTADUAL") == 1; db.setEstadual(isEstadual); - BigDecimal valorIsenta = BigDecimal.ZERO; - BigDecimal valorContabil = BigDecimal.ZERO; - BigDecimal baseCalculoIcms = BigDecimal.ZERO; - - if (isEstadual) { - baseCalculoIcms = baseCalculoIcms.add(db.getIndTarifaEstadual() ? db.getPrecioPagado() : BigDecimal.ZERO); - baseCalculoIcms = baseCalculoIcms.add(db.getIndPedadioEstdual() ? db.getImportepedagio() : BigDecimal.ZERO); - baseCalculoIcms = baseCalculoIcms.add(db.getIndSeguroEstadual() ? db.getImporteseguro() : BigDecimal.ZERO); - baseCalculoIcms = baseCalculoIcms.add(db.getIndTxEmbarqueEstadual() ? db.getImportetaxaembarque() : BigDecimal.ZERO); - - valorContabil = valorContabil.add(db.getPrecioPagado()); - valorContabil = valorContabil.add(db.getImportepedagio()); - valorContabil = valorContabil.add(db.getImporteseguro()); - valorContabil = valorContabil.add(db.getImportetaxaembarque()); - - 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 { - baseCalculoIcms = baseCalculoIcms.add(db.getIndTarifaMunicipal() ? db.getPrecioPagado() : BigDecimal.ZERO); - baseCalculoIcms = baseCalculoIcms.add(db.getIndPedagioMunicipal() ? db.getImportepedagio() : BigDecimal.ZERO); - baseCalculoIcms = baseCalculoIcms.add(db.getIndSeguroMunicipal() ? db.getImporteseguro() : BigDecimal.ZERO); - baseCalculoIcms = baseCalculoIcms.add(db.getIndTxEmbarqueMunicipal() ? db.getImportetaxaembarque() : BigDecimal.ZERO); - - valorContabil = valorContabil.add(db.getPrecioPagado()); - valorContabil = valorContabil.add(db.getImportepedagio()); - valorContabil = valorContabil.add(db.getImporteseguro()); - valorContabil = valorContabil.add(db.getImportetaxaembarque()); - - 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); - } - + BigDecimal valorContabil = valorPassagem(db); db.setValorContabil(valorContabil); - db.setValorIsenta(valorIsenta); - BigDecimal valorIcms = BigDecimal.ZERO; + db.setValorOutras(BigDecimal.ZERO); + + BigDecimal isenta = valorIsenta(db); + db.setValorIsenta(isenta); 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 tarifa = valorBaseCalculo(db); + BigDecimal redutor = tarifa.multiply(redBaseCalcIcms); + BigDecimal baseCalculoIcms = tarifa.subtract(redutor); BigDecimal aliquota = BigDecimal.ZERO; if (isEstadual) { @@ -299,9 +268,10 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { } else { aliquota = db.getTributacaoimportacao() == null ? db.getIcmsIntermunicipal() : db.getTributacaoimportacao(); } - valorIcms = baseCalculoIcms.multiply(aliquota.divide(UtiliteriasFiscal.CEM)); - db.setValorIcms(valorIcms); + BigDecimal valorIcms = baseCalculoIcms.multiply(aliquota.divide(UtiliteriasFiscal.CEM)); + + db.setValorIcms(valorIcms); db.setBaseCalculoIcms(baseCalculoIcms); db.setEstornoEstadual(BigDecimal.ZERO); db.setEstornoMunicipal(BigDecimal.ZERO); @@ -321,6 +291,45 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { } + private BigDecimal valorBaseCalculo(DevolucaoBilhetes det) { + BigDecimal total = BigDecimal.ZERO; + total = total.add(det.getPrecioPagado() == null ? BigDecimal.ZERO : det.getPrecioPagado()); + + if (det.isEstadual() && det.getIndTxEmbarqueEstadual() || !det.isEstadual() && det.getIndTxEmbarqueMunicipal()) + total = total.add(det.getImportetaxaembarque() == null ? BigDecimal.ZERO : det.getImportetaxaembarque()); + + if (det.isEstadual() && det.getIndPedadioEstdual() || !det.isEstadual() && det.getIndPedagioMunicipal()) + total = total.add(det.getImportepedagio() == null ? BigDecimal.ZERO : det.getImportepedagio()); + + if (det.isEstadual() && det.getIndSeguroEstadual() || !det.isEstadual() && det.getIndSeguroMunicipal()) + total = total.add(det.getImporteseguro() == null ? BigDecimal.ZERO : det.getImporteseguro()); + + return total; + } + + private BigDecimal valorIsenta(DevolucaoBilhetes det) { + BigDecimal total = BigDecimal.ZERO; + if (det.isEstadual() && !det.getIndTxEmbarqueEstadual() || !det.isEstadual() && !det.getIndTxEmbarqueMunicipal()) + total = total.add(det.getImportetaxaembarque() == null ? BigDecimal.ZERO : det.getImportetaxaembarque()); + + if (det.isEstadual() && !det.getIndPedadioEstdual() || !det.isEstadual() && !det.getIndPedagioMunicipal()) + total = total.add(det.getImportepedagio() == null ? BigDecimal.ZERO : det.getImportepedagio()); + + if (det.isEstadual() && !det.getIndSeguroEstadual() || !det.isEstadual() && !det.getIndSeguroMunicipal()) + total = total.add(det.getImporteseguro() == null ? BigDecimal.ZERO : det.getImporteseguro()); + + return total; + } + + private BigDecimal valorPassagem(DevolucaoBilhetes det) { + BigDecimal total = BigDecimal.ZERO; + total = total.add(det.getPrecioPagado() == null ? BigDecimal.ZERO : det.getPrecioPagado()); + total = total.add(det.getImportetaxaembarque() == null ? BigDecimal.ZERO : det.getImportetaxaembarque()); + total = total.add(det.getImportepedagio() == null ? BigDecimal.ZERO : det.getImportepedagio()); + total = total.add(det.getImporteseguro() == null ? BigDecimal.ZERO : det.getImporteseguro()); + return total; + } + public void setLsDadosRelatorio(List lsDev) { this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDev)); } @@ -464,9 +473,7 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { 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 = (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 PARADA ORI ON (B.ORIGEN_ID = ORI.PARADA_ID ) "); @@ -600,7 +607,7 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { sql.append(estados == null ? "" : "AND COALESCE(ESAIDF.ESTADO_ID, EOS.ESTADO_ID, EST.ESTADO_ID) IN (" + estados + ") "); sql.append(puntoVentas == null ? "" : "AND PTV.PUNTOVENTA_ID IN (" + puntoVentas + ") "); sql.append(empresaId == null ? "" : "AND E.EMPRESA_ID IN (" + empresaId + ") "); - + sql.append("AND B.CATEGORIA_ID NOT IN (SELECT VALORCONSTANTE FROM CONSTANTE WHERE NOMBCONSTANTE = 'GRATUIDADE_CRIANCA') "); sql.append("AND B.NUM_BPE IS NULL "); sql.append("ORDER BY NOMB_EMPRESA, ESTADO, UF, FECHOR_DEVOLUCAO, NUMFOLIOSISTEMA"); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java index 8034fe0e0..ed7ca7b1b 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java @@ -81,15 +81,16 @@ public class RelatorioFinanceiroSintetico extends Relatorio { BigDecimal totalOutrasReceitas = fs.getReceitaEb().add(fs.getMultaComp()).add(fs.getDifTrocaOCD()).add(fs.getDifTarifaMaior()); fs.setTotalOutrasReceitas(totalOutrasReceitas); - + BigDecimal taxaEmbarque = getBigDecimal(rset, "taxaEmbarque"); taxaEmbarque = taxaEmbarque.add(getBigDecimal(rset, "taxaEmbarque_ee")); fs.setTxEmb(taxaEmbarque); - + fs.setPedagio(getBigDecimal(rset, "pedagio")); fs.setSegFacult(getBigDecimal(rset, "segurofac")); + fs.setTxConveniencia(getBigDecimal(rset, "txconveniencia_ee")); - BigDecimal totalTerceiros = fs.getTxEmb().add(fs.getPedagio()).add(fs.getSegFacult()); + BigDecimal totalTerceiros = fs.getTxEmb().add(fs.getPedagio()).add(fs.getSegFacult().add(fs.getTxConveniencia())); fs.setTotalTerceiros(totalTerceiros); BigDecimal receitaBruta = totalVendaPassagens.add(totalOutrasReceitas).add(totalTerceiros); @@ -97,13 +98,14 @@ public class RelatorioFinanceiroSintetico extends Relatorio { fs.setDevolBPR(getBigDecimal(rset, "receita_cancel_rdi_bpr")); fs.setDevolGAP(getBigDecimal(rset, "receita_devol_gap")); + fs.setDevolOCD(getBigDecimal(rset, "receita_ocd_dev")); BigDecimal totalDevolucao = fs.getDevolBPR().add(fs.getDevolGAP()); BigDecimal receitaLiquida = receitaBruta.subtract(totalDevolucao); fs.setReceitaLiquida(receitaLiquida); fs.setDespesas(getBigDecimal(rset, "despesas")); - fs.setPgOCD(getBigDecimal(rset, "receita_ocd_deb")); + fs.setPgOCD(getBigDecimal(rset, "receita_ocd_pg")); fs.setDifTarifaMenor(getBigDecimal(rset, "receita_dif_dif_tarifa_menor")); BigDecimal cartaoCredito = getBigDecimal(rset, "cartao_credito"); @@ -193,28 +195,16 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" c.tipoventa_id AS tipoventa_id, "); sql.append(" c.indstatusoperacion "); sql.append(" FROM CONTA_CORRENTE_PTOVTA ccp "); - sql.append(" INNER JOIN marca ma "); - sql.append(" ON ma.empresa_id = ccp.EMPRESA_ID "); - sql.append(" INNER JOIN CAJA c "); - sql.append(" ON c.FECCORTE = ccp.FECCORTE "); - sql.append(" AND c.TURNO_ID = ccp.TURNO_ID "); - sql.append(" AND c.PUNTOVENTA_ID = ccp.PUNTOVENTA_ID "); - sql.append(" AND c.marca_id = ma.marca_id "); - sql.append(" AND c.USUARIO_ID = ccp.USUARIO_ID "); - sql.append(" INNER JOIN empresa e "); - sql.append(" ON e.empresa_id = c.empresacorrida_id "); - sql.append(" JOIN punto_venta pv "); - sql.append(" ON pv.puntoventa_id = c.puntoventa_id "); - sql.append(" JOIN parada po "); - sql.append(" ON po.parada_id = pv.parada_id "); - sql.append(" JOIN ciudad co "); - sql.append(" ON co.ciudad_id = po.ciudad_id "); - sql.append(" JOIN estado eo "); - sql.append(" ON eo.estado_id = co.estado_id "); - sql.append(" WHERE c.activo = 1 "); - sql.append(" AND po.activo = 1 "); - sql.append(" AND co.activo = 1 "); - sql.append(" AND eo.activo = 1 "); + sql.append(" INNER JOIN marca ma ON ma.empresa_id = ccp.EMPRESA_ID "); + sql.append(" INNER JOIN CAJA c ON c.FECCORTE = ccp.FECCORTE "); + sql.append(" AND c.TURNO_ID = ccp.TURNO_ID AND c.PUNTOVENTA_ID = ccp.PUNTOVENTA_ID "); + sql.append(" AND c.marca_id = ma.marca_id AND c.USUARIO_ID = ccp.USUARIO_ID "); + sql.append(" INNER JOIN empresa e ON e.empresa_id = c.empresacorrida_id "); + sql.append(" JOIN punto_venta pv ON pv.puntoventa_id = c.puntoventa_id "); + sql.append(" JOIN parada po ON po.parada_id = pv.parada_id "); + sql.append(" JOIN ciudad co ON co.ciudad_id = po.ciudad_id "); + sql.append(" JOIN estado eo ON eo.estado_id = co.estado_id "); + sql.append(" WHERE c.activo = 1 AND po.activo = 1 AND co.activo = 1 AND eo.activo = 1 "); sql.append(" AND ccp.feccorte >= :DATE_INICIO "); sql.append(" AND ccp.feccorte <= :DATE_FIM "); sql.append(" AND ccp.empresa_id = :EMPRESA_ID "); @@ -239,8 +229,11 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" SUM( CASE WHEN (cdc.indstatusboleto IN ('C', 'T') AND cdc.motivocancelacion_id IN (32,10,37)) THEN cdc.valorpago ELSE 0 END) AS receita_devol_bpr, "); sql.append(" SUM( CASE WHEN (cdc.indstatusboleto IN ('C', 'T') AND cdc.motivocancelacion_id IN (31)) THEN cdc.valorpago ELSE 0 END) AS receita_cancel_bpr, "); sql.append(" SUM( CASE WHEN ( (cdc.indstatusboleto = 'C' AND cdc.motivocancelacion_id IN (31,32,10,37) OR (cdc.indstatusboleto = 'T' AND cdc.motivocancelacion_id IS NULL )) AND cdc.numfoliosistema IS NULL AND cdc.tipoventa_id IN (5,12,18,49)) THEN cdc.valorpago ELSE 0 END) AS receita_devol_gap, "); - sql.append(" SUM( CASE WHEN (cdc.indstatusboleto = 'C' AND cdc.motivocancelacion_id IN (35)) THEN cdc.valorpago ELSE 0 END) AS receita_ocd_deb, "); - sql.append(" SUM( CASE WHEN (cdc.indstatusboleto = 'C' AND cdc.motivocancelacion_id IN (99) ) THEN cdc.valorpago ELSE 0 END) AS receita_ocd_cred "); + + sql.append(" SUM( CASE WHEN (trunc(cdc.fecinc) = trunc(cdc.feccorte)) THEN cdc.valor_ocd ELSE 0 END) AS receita_ocd_dev, "); + // sql.append(" SUM( CASE WHEN (cdc.fecpago is not null ) THEN cdc.valor_ocd ELSE 0 END) AS receita_ocd_pg "); + sql.append(" SUM( CASE WHEN (cdc.fecpago is not null and cdc.fecpago between :DATE_INICIO and :DATE_FIM) THEN cdc.valor_ocd ELSE 0 END) AS receita_ocd_pg "); + sql.append(" FROM "); sql.append(" ( SELECT DISTINCT c.caja_id AS cajaid, "); sql.append(" e.empresa_id AS empresaId, "); @@ -262,25 +255,23 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" cfp.formapago_id, "); sql.append(" c.motivocancelacion_id AS motivocancelacion_id, "); sql.append(" c.tipoventa_id AS tipoventa_id, "); - sql.append(" c.indstatusoperacion "); + sql.append(" c.indstatusoperacion, "); + + sql.append(" c.feccorte, "); + sql.append(" ocd.fecinc, "); + sql.append(" ocd.fecpago, "); + sql.append(" ocd.valor_pagar as valor_ocd "); + sql.append(" FROM caja c "); - sql.append(" INNER JOIN caja_formapago cfp "); - sql.append(" ON cfp.caja_id = c.caja_id "); - sql.append(" INNER JOIN forma_pago fp "); - sql.append(" ON cfp.formapago_id = fp.formapago_id "); - sql.append(" INNER JOIN marca m "); - sql.append(" ON m.marca_id = c.marca_id "); - sql.append(" AND m.activo = 1 "); - sql.append(" INNER JOIN empresa e "); - sql.append(" ON e.empresa_id = m.empresa_id "); - sql.append(" INNER JOIN punto_venta pv "); - sql.append(" ON pv.puntoventa_id = c.puntoventa_id "); - sql.append(" JOIN parada po "); - sql.append(" ON po.parada_id = pv.parada_id "); - sql.append(" JOIN ciudad co "); - sql.append(" ON co.ciudad_id = po.ciudad_id "); - sql.append(" JOIN estado eo "); - sql.append(" ON eo.estado_id = co.estado_id "); + sql.append(" INNER JOIN caja_formapago cfp ON cfp.caja_id = c.caja_id "); + sql.append(" INNER JOIN forma_pago fp ON cfp.formapago_id = fp.formapago_id "); + sql.append(" INNER JOIN marca m ON m.marca_id = c.marca_id AND m.activo = 1 "); + sql.append(" INNER JOIN empresa e ON e.empresa_id = m.empresa_id "); + sql.append(" INNER JOIN punto_venta pv ON pv.puntoventa_id = c.puntoventa_id "); + sql.append(" JOIN parada po ON po.parada_id = pv.parada_id "); + sql.append(" JOIN ciudad co ON co.ciudad_id = po.ciudad_id "); + sql.append(" JOIN estado eo ON eo.estado_id = co.estado_id "); + sql.append(" LEFT JOIN ocd ocd on ocd.boleto_id = c.transacao_id "); sql.append(" WHERE (c.motivocancelacion_id IN (31,32,10,37,99,36) "); sql.append(" OR c.motivocancelacion_id IS NULL) "); sql.append(" AND c.feccorte >= :DATE_INICIO "); @@ -309,6 +300,7 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" SUM( CASE WHEN ee.tipoeventoextra_id = 2 AND tee.indtipo = 1 THEN cdp.importe ELSE 0 END) AS taxaembarque_ee, "); sql.append(" SUM( CASE WHEN ee.tipoeventoextra_id = 25 AND tee.indtipo = 1 THEN cdp.importe ELSE 0 END) AS segurofac, "); sql.append(" SUM( CASE WHEN ee.tipoeventoextra_id = 82 AND tee.indtipo = 1 THEN cdp.importe ELSE 0 END) AS receita_eb, "); + sql.append(" SUM( CASE WHEN ee.tipoeventoextra_id = 61 AND tee.indtipo = 1 THEN cdp.importe ELSE 0 END) AS txconveniencia_ee, "); sql.append(" SUM( CASE WHEN ee.tipoeventoextra_id IN (41) AND tee.indtipo = 1 THEN cdp.importe ELSE 0 END) AS receita_multa, "); sql.append(" SUM( CASE WHEN ee.tipoeventoextra_id IN (103,99978,99999) AND tee.indtipo = 1 THEN cdp.importe ELSE 0 END) AS receita_dif_troca_ocd, "); sql.append(" SUM( CASE WHEN ee.tipoeventoextra_id IN (43) AND tee.indtipo = 1 THEN cdp.importe ELSE 0 END) AS receita_dif_dif_tarifa_maior, "); @@ -318,30 +310,18 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" SUM( CASE WHEN (cdp.formapago_id IN (3) AND e.indtipo = 1) THEN cdp.importe ELSE 0 END) AS cartao_debito_ee, "); sql.append(" SUM( CASE WHEN (cdp.formapago_id IN (1) AND e.indtipo = 1) THEN cdp.importe ELSE 0 END) AS boleto_bnc_ee "); sql.append(" FROM CAJA_DIVERSOS cd "); - sql.append(" JOIN CAJA_DIVERSOS_PAGO cdp "); - sql.append(" ON cdp.CAJADIVERSOS_ID = cd.CAJADIVERSOS_ID "); - sql.append(" INNER JOIN forma_pago fp "); - sql.append(" ON fp.formapago_id = cdp.formapago_id "); - sql.append(" INNER JOIN EVENTO_EXTRA EE "); - sql.append(" ON EE.EVENTOEXTRA_ID = cd.EVENTOEXTRA_ID "); - sql.append(" JOIN tipo_evento_extra tee "); - sql.append(" ON tee.tipoeventoextra_id = ee.tipoeventoextra_id "); - sql.append(" LEFT OUTER JOIN empresa e "); - sql.append(" ON ee.empresa_id = e.empresa_id "); - sql.append(" INNER JOIN CONTA_CORRENTE_PTOVTA ccp "); - sql.append(" ON e.EMPRESA_ID = ccp.EMPRESA_ID "); - sql.append(" AND ccp.PUNTOVENTA_ID = cd.PUNTOVENTA_ID "); - sql.append(" AND ccp.FECCORTE = cd.FECCORTE "); - sql.append(" AND ccp.TURNO_ID = cd.turno_id "); - sql.append(" AND cd.USUARIO_ID = ccp.USUARIO_ID "); - sql.append(" JOIN punto_venta pv "); - sql.append(" ON pv.puntoventa_id = ee.puntoventa_id "); - sql.append(" LEFT JOIN parada po "); - sql.append(" ON po.parada_id = pv.parada_id "); - sql.append(" LEFT JOIN ciudad co "); - sql.append(" ON co.ciudad_id = po.ciudad_id "); - sql.append(" LEFT JOIN estado eo "); - sql.append(" ON eo.estado_id = co.estado_id "); + sql.append(" JOIN CAJA_DIVERSOS_PAGO cdp ON cdp.CAJADIVERSOS_ID = cd.CAJADIVERSOS_ID "); + sql.append(" INNER JOIN forma_pago fp ON fp.formapago_id = cdp.formapago_id "); + sql.append(" INNER JOIN EVENTO_EXTRA EE ON EE.EVENTOEXTRA_ID = cd.EVENTOEXTRA_ID "); + sql.append(" JOIN tipo_evento_extra tee ON tee.tipoeventoextra_id = ee.tipoeventoextra_id "); + sql.append(" LEFT OUTER JOIN empresa e ON ee.empresa_id = e.empresa_id "); + sql.append(" INNER JOIN CONTA_CORRENTE_PTOVTA ccp ON e.EMPRESA_ID = ccp.EMPRESA_ID "); + sql.append(" AND ccp.PUNTOVENTA_ID = cd.PUNTOVENTA_ID AND ccp.FECCORTE = cd.FECCORTE "); + sql.append(" AND ccp.TURNO_ID = cd.turno_id AND cd.USUARIO_ID = ccp.USUARIO_ID "); + sql.append(" JOIN punto_venta pv ON pv.puntoventa_id = ee.puntoventa_id "); + sql.append(" LEFT JOIN parada po ON po.parada_id = pv.parada_id "); + sql.append(" LEFT JOIN ciudad co ON co.ciudad_id = po.ciudad_id "); + sql.append(" LEFT JOIN estado eo ON eo.estado_id = co.estado_id "); sql.append(" WHERE ( cd.indreimpresion = 0 "); sql.append(" OR cd.indreimpresion IS NULL ) "); sql.append(" AND ee.empresa_id = :EMPRESA_ID "); @@ -358,6 +338,10 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" AND agrc.puntoventaId = eed.puntoventaId "); sql.append(" AND agrc.estadoId = eed.estadoId "); sql.append(" LEFT JOIN "); + + + + //alterar para o BPe sql.append(" (select empresaId, puntoventaId, estadoId, sum(tarifa) receita_rdi_bpr from ( "); sql.append(" SELECT DISTINCT "); sql.append(isBpe ? " c.boleto_id as cajaId, " : " c.caja_id as cajaId, "); @@ -381,7 +365,8 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" AND p.activo = 1 "); sql.append(" AND co.activo = 1 "); sql.append(" AND eo.activo = 1 "); - sql.append(isBpe ? " and bpe.bpe_id is not null " : " AND c.serieimpfiscal IS NOT NULL "); + sql.append(" AND c.serieimpfiscal IS NOT NULL "); + sql.append(isBpe ? " and bpe.bpe_id is not null " : " and c.num_bpe is null "); sql.append(" AND ((c.indreimpresion = 0 AND c.motivocancelacion_id IS NULL "); sql.append(" AND c.numfoliosistema IS NOT NULL) OR (c.indstatusboleto = 'E' AND c.indreimpresion = 1)) "); sql.append(" AND (COALESCE(c.preciopagado,0) + COALESCE(c.importetaxaembarque,0) + COALESCE(c.importeseguro,0) + COALESCE(c.importepedagio,0) + COALESCE(c.importeoutros,0)) > 0 "); @@ -403,20 +388,13 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" COALESCE(c.importeseguro, 0) AS seguro, "); sql.append(" COALESCE(c.importeoutros, 0) AS outros "); sql.append(" FROM caja c "); - sql.append(" JOIN marca m "); - sql.append(" ON c.marca_id = m.marca_id "); - sql.append(" JOIN empresa e "); - sql.append(" ON e.empresa_id = m.empresa_id "); - sql.append(" JOIN aidf a "); - sql.append(" ON a.aidf_id = c.aidf_id "); - sql.append(" JOIN punto_venta pv "); - sql.append(" ON pv.puntoventa_id = c.puntoventa_id "); - sql.append(" JOIN parada po "); - sql.append(" ON po.parada_id = pv.parada_id "); - sql.append(" JOIN ciudad co "); - sql.append(" ON co.ciudad_id = po.ciudad_id "); - sql.append(" JOIN estado eo "); - sql.append(" ON eo.estado_id = co.estado_id "); + sql.append(" JOIN marca m ON c.marca_id = m.marca_id "); + sql.append(" JOIN empresa e ON e.empresa_id = m.empresa_id "); + sql.append(" JOIN aidf a ON a.aidf_id = c.aidf_id "); + sql.append(" JOIN punto_venta pv ON pv.puntoventa_id = c.puntoventa_id "); + sql.append(" JOIN parada po ON po.parada_id = pv.parada_id "); + sql.append(" JOIN ciudad co ON co.ciudad_id = po.ciudad_id "); + sql.append(" JOIN estado eo ON eo.estado_id = co.estado_id "); sql.append(" WHERE ((c.tipoventa_id = 3 "); sql.append(" AND c.indstatusboleto = 'V' "); sql.append(" AND c.indreimpresion = 0) "); @@ -426,6 +404,7 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" AND (c.motivocancelacion_id IS NULL "); sql.append(" OR c.motivocancelacion_id <> 35) "); sql.append(" AND c.indcancelacion = 0 "); + sql.append(isBpe ? " " : " AND c.num_bpe is null "); sql.append(" AND e.empresa_id = :EMPRESA_ID "); sql.append(" AND c.feccreacion BETWEEN :DATE_INICIO AND :DATE_FIM "); @@ -440,6 +419,9 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" )rbpr ON agrc.empresaId = rbpr.empresaId "); sql.append(" AND agrc.puntoventaId = rbpr.puntoventaId "); sql.append(" AND agrc.estadoId = rbpr.estadoId "); + + // alterar para o BPe deve ser validado pelo xml + sql.append(" LEFT JOIN "); sql.append(" ( select empresaId, puntoventaId, estadoId, sum(tarifa) receita_cancel_rdi_bpr from ( "); sql.append(" SELECT DISTINCT b.boleto_id AS cajaId, "); @@ -452,23 +434,17 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" COALESCE(b.importeseguro, 0) AS seguro, "); sql.append(" COALESCE(b.importeoutros, 0) AS outros "); sql.append(" FROM boleto b "); - sql.append(" INNER JOIN marca m "); - sql.append(" ON m.marca_id = b.marca_id "); - sql.append(" AND m.activo = 1 "); - sql.append(" INNER JOIN empresa e "); - sql.append(" ON e.empresa_id = m.empresa_id "); - sql.append(" INNER JOIN punto_venta pv "); - sql.append(" ON pv.puntoventa_id = b.puntoventa_id "); - sql.append(" INNER JOIN parada p "); - sql.append(" ON pv.parada_id = p.parada_id "); - sql.append(" INNER JOIN ciudad co "); - sql.append(" ON co.ciudad_id = p.ciudad_id "); - sql.append(" INNER JOIN estado eo "); - sql.append(" ON eo.estado_id = co.estado_id "); + sql.append(" INNER JOIN marca m ON m.marca_id = b.marca_id AND m.activo = 1 "); + sql.append(" INNER JOIN empresa e ON e.empresa_id = m.empresa_id "); + sql.append(" INNER JOIN punto_venta pv ON pv.puntoventa_id = b.puntoventa_id "); + sql.append(" INNER JOIN parada p ON pv.parada_id = p.parada_id "); + sql.append(" INNER JOIN ciudad co ON co.ciudad_id = p.ciudad_id "); + sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_id "); sql.append(" WHERE b.motivocancelacion_id IN (31,32,10,37,99,36) "); sql.append(" AND b.indstatusboleto = 'C' "); sql.append(" AND b.indcancelacion = 1 "); sql.append(" AND b.numfoliopreimpreso IS NOT NULL "); + sql.append(isBpe ? " " : " AND c.num_bpe is null "); sql.append(" AND e.empresa_id = :EMPRESA_ID "); sql.append(" AND b.fechorventa >= :DATE_INICIO "); sql.append(" AND b.fechorventa <= :DATE_FIM "); @@ -477,11 +453,7 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(pdvs == null ? "" : "and pv.puntoventa_id in ( " + pdvs + " ) "); sql.append(tipoptovtaId == -1 ? "" : "and pv.tipoptovta_id = " + tipoptovtaId); - sql.append(" AND b.categoria_id NOT IN "); - sql.append(" (SELECT valorconstante "); - sql.append(" FROM constante "); - sql.append(" WHERE nombconstante = 'GRATUIDADE_CRIANCA' "); - sql.append(" ) "); + sql.append(" AND b.categoria_id NOT IN (SELECT valorconstante FROM constante WHERE nombconstante = 'GRATUIDADE_CRIANCA') "); sql.append(" ) cbl "); sql.append(" GROUP BY cbl.estadoId, "); sql.append(" cbl.puntoventaId, "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioFinanceiroSintetico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioFinanceiroSintetico.jasper index b9e5146f4b1ab31aa4510e423ac34f63db63064b..cc41a6b30277de49be346d1a056ee4086a0267e9 100644 GIT binary patch literal 78998 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioFinanceiroSintetico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioFinanceiroSintetico.jrxml index 5e7a51988..2bd6ba8a6 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioFinanceiroSintetico.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioFinanceiroSintetico.jrxml @@ -1,7 +1,7 @@ - - + + @@ -36,6 +36,8 @@ + + @@ -114,6 +116,12 @@ + + + + + + @@ -245,7 +253,7 @@ - + @@ -256,7 +264,7 @@ - + @@ -267,7 +275,7 @@ - + @@ -278,7 +286,7 @@ - + @@ -289,7 +297,7 @@ - + @@ -300,7 +308,7 @@ - + @@ -311,7 +319,7 @@ - + @@ -322,7 +330,7 @@ - + @@ -333,7 +341,7 @@ - + @@ -344,7 +352,7 @@ - + @@ -355,7 +363,7 @@ - + @@ -366,7 +374,7 @@ - + @@ -377,7 +385,7 @@ - + @@ -388,7 +396,7 @@ - + @@ -399,7 +407,7 @@ - + @@ -409,17 +417,6 @@ - - - - - - - - - - - @@ -444,7 +441,7 @@ ]]> - + @@ -455,7 +452,7 @@ - + @@ -467,7 +464,7 @@ - + @@ -478,7 +475,7 @@ - + @@ -489,7 +486,7 @@ - + @@ -571,6 +568,28 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -679,7 +698,7 @@ - + @@ -689,17 +708,7 @@ - - - - - - - - - - - + @@ -709,7 +718,7 @@ - + @@ -720,7 +729,7 @@ - + @@ -731,17 +740,7 @@ - - - - - - - - - - - + @@ -752,7 +751,7 @@ - + @@ -763,7 +762,7 @@ - + @@ -773,7 +772,7 @@ - + @@ -783,7 +782,7 @@ - + @@ -793,7 +792,7 @@ - + @@ -803,7 +802,7 @@ - + @@ -813,7 +812,7 @@ - + @@ -823,7 +822,7 @@ - + @@ -833,16 +832,6 @@ - - - - - - - - - - @@ -853,12 +842,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -868,7 +898,7 @@ - + @@ -888,7 +918,7 @@ - + @@ -898,7 +928,7 @@ - + @@ -918,7 +948,7 @@ - + @@ -928,17 +958,7 @@ - - - - - - - - - - - + @@ -948,7 +968,7 @@ - + @@ -958,17 +978,7 @@ - - - - - - - - - - - + @@ -978,7 +988,7 @@ - + @@ -988,7 +998,7 @@ - + @@ -1008,17 +1018,7 @@ - - - - - - - - - - - + @@ -1059,7 +1059,7 @@ - + @@ -1099,7 +1099,7 @@ - + @@ -1119,6 +1119,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +