From 19191acac71b97585c81db22d291d75df3c31613 Mon Sep 17 00:00:00 2001 From: fabio Date: Thu, 5 Apr 2018 14:02:42 +0000 Subject: [PATCH] fixes bug#10830 dev: Gleimar qua: Gleimar git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@80537 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioFinanceiroAnalitico.java | 149 ++++++++++++++++-- .../impl/RelatorioFinanceiroSintetico.java | 4 +- 2 files changed, 141 insertions(+), 12 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroAnalitico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroAnalitico.java index fdfb41684..fe326d79b 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroAnalitico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroAnalitico.java @@ -62,17 +62,11 @@ public class RelatorioFinanceiroAnalitico extends Relatorio { while (rset.next()) { FinanceiroAnalitico fs = new FinanceiroAnalitico(); fs.setFechorVenta(rset.getDate("fechorVenta")); - - BigDecimal receitaBPR = getBigDecimal(rset, "receita_bpr"); + fs.setGapVenda(getBigDecimal(rset, "receita_gap")); fs.setGapImpressa(getBigDecimal(rset, "entrega_gap")); - BigDecimal receita_cancel_bpr =getBigDecimal(rset, "receita_cancel_bpr"); - - receitaBPR = receitaBPR.add(fs.getGapImpressa()); - receitaBPR = receitaBPR.subtract(receita_cancel_bpr); - receitaBPR = receitaBPR.subtract(fs.getGapVenda()); - fs.setReceitaBPR(receitaBPR); + fs.setReceitaBPR(getBigDecimal(rset, "receita_rdi_bpr")); BigDecimal totalVendaPassagens = fs.getReceitaBPR().add(fs.getGapVenda()); totalVendaPassagens = totalVendaPassagens.subtract(fs.getGapImpressa()); @@ -99,7 +93,7 @@ public class RelatorioFinanceiroAnalitico extends Relatorio { BigDecimal receitaBruta = totalVendaPassagens.add(totalOutrasReceitas).add(totalTerceiros); fs.setReceitaBruta(receitaBruta); - fs.setDevolBPR(getBigDecimal(rset, "receita_devol_bpr")); + fs.setDevolBPR(getBigDecimal(rset, "receita_cancel_rdi_bpr")); fs.setDevolGAP(getBigDecimal(rset, "receita_devol_gap")); BigDecimal totalDevolucao = fs.getDevolBPR().add(fs.getDevolGAP()); @@ -338,7 +332,142 @@ public class RelatorioFinanceiroAnalitico extends Relatorio { sql.append(" GROUP BY ee.empresa_id, "); sql.append(" trunc(ee.fechoringreso) "); sql.append(" ) eed ON agrc.empresaId = eed.empresaId "); - sql.append(" AND agrc.fechorVenta = eed.fechorVenta "); + sql.append(" AND agrc.fechorVenta = eed.fechorVenta "); + sql.append(" LEFT JOIN "); + sql.append(" (select empresaId, fechorVenta, sum(tarifa) receita_rdi_bpr from ( "); + sql.append(" SELECT DISTINCT c.caja_id AS cajaId, "); + sql.append(" e.empresa_id AS empresaId, "); + sql.append(" TRUNC(c.feccreacion) AS fechorVenta, "); + sql.append(" COALESCE(c.preciopagado, 0)AS tarifa, "); + sql.append(" COALESCE(c.importetaxaembarque, 0) AS taxaEmbarque, "); + sql.append(" COALESCE(c.importepedagio, 0) AS pedagio, "); + sql.append(" COALESCE(c.importeseguro, 0) AS seguro, "); + sql.append(" COALESCE(c.importeoutros, 0) AS outros "); + sql.append(" FROM caja c "); + 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(" 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(" WHERE c.activo = 1 "); + sql.append(" AND p.activo = 1 "); + sql.append(" AND co.activo = 1 "); + sql.append(" AND eo.activo = 1 "); + sql.append(" AND c.serieimpfiscal IS NOT NULL "); + sql.append(" AND ((c.indreimpresion = 0 "); + sql.append(" AND c.motivocancelacion_id IS NULL "); + sql.append(" AND c.numfoliosistema IS NOT NULL) "); + sql.append(" OR (c.indstatusboleto = 'E' "); + sql.append(" 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 "); + sql.append(" AND c.feccreacion >= :DATE_INICIO "); + sql.append(" AND c.feccreacion <= :DATE_FIM "); + sql.append(" AND c.empresacorrida_id = 10 "); + + sql.append(ufs == null ? "" : " and eo.estado_id in ( " + ufs + " ) "); + sql.append(pdvs == null ? "" : "and pv.puntoventa_id in ( " + pdvs + " ) "); + sql.append(tipoptovtaId == -1 ? "" : "and pv.tipoptovta_id = " + tipoptovtaId); + + sql.append(" UNION ALL "); + sql.append(" SELECT DISTINCT c.caja_id AS cajaId, "); + sql.append(" e.empresa_id AS empresaId, "); + sql.append(" TRUNC(c.feccreacion) AS fechorVenta, "); + sql.append(" COALESCE(c.preciopagado, 0) AS tarifa, "); + sql.append(" COALESCE(c.importetaxaembarque, 0) AS taxaEmbarque, "); + sql.append(" COALESCE(c.importepedagio, 0) AS pedagio, "); + 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(" WHERE ((c.tipoventa_id = 3 "); + sql.append(" AND c.indstatusboleto = 'V' "); + sql.append(" AND c.indreimpresion = 0) "); + sql.append(" OR (c.tipoventa_id IN (12,18) "); + sql.append(" AND c.indstatusboleto = 'E' "); + sql.append(" AND c.numfoliosistema = c.numfoliopreimpreso)) "); + sql.append(" AND (c.motivocancelacion_id IS NULL "); + sql.append(" OR c.motivocancelacion_id <> 35) "); + sql.append(" AND c.indcancelacion = 0 "); + sql.append(" AND c.empresacorrida_id = :EMPRESA_ID "); + sql.append(" AND c.feccreacion BETWEEN :DATE_INICIO AND :DATE_FIM "); + + sql.append(ufs == null ? "" : " and eo.estado_id in ( " + ufs + " ) "); + sql.append(pdvs == null ? "" : "and pv.puntoventa_id in ( " + pdvs + " ) "); + sql.append(tipoptovtaId == -1 ? "" : "and pv.tipoptovta_id = " + tipoptovtaId); + + sql.append(" ) rbl "); + sql.append(" GROUP BY rbl.fechorVenta, "); + sql.append(" rbl.empresaId "); + sql.append(" )rbpr ON agrc.empresaId = rbpr.empresaId "); + sql.append(" AND agrc.fechorVenta = rbpr.fechorVenta "); + sql.append(" LEFT JOIN "); + sql.append(" ( select empresaId, fechorVenta, sum(tarifa) receita_cancel_rdi_bpr from ( "); + sql.append(" SELECT DISTINCT b.boleto_id AS cajaId, "); + sql.append(" e.empresa_id AS empresaId, "); + sql.append(" TRUNC(b.feccreacion) AS fechorVenta, "); + sql.append(" COALESCE(b.preciopagado, 0) AS tarifa, "); + sql.append(" COALESCE(b.importetaxaembarque, 0) AS taxaEmbarque, "); + sql.append(" COALESCE(b.importepedagio, 0) AS pedagio, "); + 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(" 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(" AND e.empresa_id = :EMPRESA_ID "); + sql.append(" AND b.fechorventa >= :DATE_INICIO "); + sql.append(" AND b.fechorventa <= :DATE_FIM "); + + sql.append(ufs == null ? "" : " and eo.estado_id in ( " + ufs + " ) "); + 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(" ) cbl "); + sql.append(" GROUP BY cbl.fechorVenta, "); + sql.append(" cbl.empresaId "); + sql.append(" ) cbpr "); + sql.append(" ON agrc.empresaId = cbpr.empresaId "); + sql.append(" AND agrc.fechorVenta = cbpr.fechorVenta "); sql.append(" order by agrc.fechorVenta "); return sql.toString(); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java index 7b5acade5..b8c8c7563 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java @@ -397,7 +397,7 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" AND c.empresacorrida_id = 10 "); sql.append(ufs == null ? "" : " and eo.estado_id in ( " + ufs + " ) "); - sql.append(pdvs == null ? "" : "and ccp.puntoventa_id in ( " + pdvs + " ) "); + sql.append(pdvs == null ? "" : "and pv.puntoventa_id in ( " + pdvs + " ) "); sql.append(tipoptovtaId == -1 ? "" : "and pv.tipoptovta_id = " + tipoptovtaId); sql.append(" UNION ALL "); @@ -438,7 +438,7 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" AND c.feccreacion BETWEEN :DATE_INICIO AND :DATE_FIM "); sql.append(ufs == null ? "" : " and eo.estado_id in ( " + ufs + " ) "); - sql.append(pdvs == null ? "" : "and ccp.puntoventa_id in ( " + pdvs + " ) "); + sql.append(pdvs == null ? "" : "and pv.puntoventa_id in ( " + pdvs + " ) "); sql.append(tipoptovtaId == -1 ? "" : "and pv.tipoptovta_id = " + tipoptovtaId); sql.append(" ) rbl ");