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 b9e5146f4..cc41a6b30 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioFinanceiroSintetico.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioFinanceiroSintetico.jasper differ 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +