From a8f5cef7c5ec385cfa10f06bfb9716c7761ac14a Mon Sep 17 00:00:00 2001 From: fabio Date: Fri, 23 Feb 2018 20:38:49 +0000 Subject: [PATCH] Fixes bug #10637 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@79148 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioFinanceiroAnalitico.java | 44 +++++++++--------- .../impl/RelatorioFinanceiroSintetico.java | 45 ++++++++++--------- 2 files changed, 48 insertions(+), 41 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroAnalitico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroAnalitico.java index 82c7cc83f..36552327c 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroAnalitico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroAnalitico.java @@ -169,11 +169,12 @@ public class RelatorioFinanceiroAnalitico extends Relatorio { sql.append(" cdv.empresaId, "); sql.append(" cdv.fechorVenta, "); sql.append(" sum(case when (cdv.indreimpresion = 0 and cdv.indstatusoperacion = 'F' and cdv.motivocancelacion_id is null) then cdv.pedagio else 0 end) as pedagio, "); + sql.append(" sum(case when (cdv.indreimpresion = 0 and cdv.indstatusoperacion = 'F' and cdv.motivocancelacion_id is null) then cdv.taxaEmbarque else 0 end) as taxaEmbarque, "); sql.append(" sum(case when (cdv.indreimpresion = 0 and cdv.indstatusoperacion = 'F' and cdv.motivocancelacion_id is null) then cdv.valorpago else 0 end) as receita_bpr, "); sql.append(" sum(case when (cdv.indreimpresion = 0 and cdv.indstatusboleto = 'V' and cdv.tipoventa_id in (5,12,18,49)) then cdv.valorpago else 0 end) as receita_gap, "); sql.append(" sum(case when (cdv.indreimpresion = 1 and cdv.indstatusboleto = 'E' and cdv.tipoventa_id in (5,12,18,49)) then cdv.valorpago else 0 end) as entrega_gap, "); - sql.append(" sum(case when (cdv.motivocancelacion_id is null and cdv.indreimpresion = 0 and cdv.indstatusoperacion = 'F' and cdv.formapago_id in (2,25)) then cdv.valorpago else 0 end) as cartao_credito, "); - sql.append(" sum(case when (cdv.motivocancelacion_id is null and cdv.indreimpresion = 0 and cdv.indstatusoperacion = 'F' and cdv.formapago_id in (3,26)) then cdv.valorpago else 0 end) as cartao_debito "); + sql.append(" sum((select sum(cfp.importe) from caja_formapago cfp where cfp.caja_id = cdv.cajaid and cfp.activo = 1 and cfp.FORMAPAGO_ID in (2,25) and (cdv.motivocancelacion_id IS NULL AND cdv.indreimpresion = 0 AND cdv.indstatusoperacion = 'F')) ) as cartao_credito, "); + sql.append(" sum((select sum(cfp.importe) from caja_formapago cfp where cfp.caja_id = cdv.cajaid and cfp.activo = 1 and cfp.FORMAPAGO_ID in (3,26) and (cdv.motivocancelacion_id IS NULL AND cdv.indreimpresion = 0 AND cdv.indstatusoperacion = 'F')) ) as cartao_debito "); sql.append("from ( "); sql.append(" select distinct "); sql.append(" c.caja_id as cajaid, "); @@ -187,21 +188,27 @@ public class RelatorioFinanceiroAnalitico extends Relatorio { sql.append(" c.indreimpresion, "); sql.append(" c.indcancelacion, "); sql.append(" c.numfoliosistema, "); - sql.append(" coalesce(cfp.importe, 0) as valorpago, "); + sql.append(" coalesce(c.preciopagado, 0) as valorpago, "); sql.append(" coalesce(c.preciobase, 0) as precobase, "); 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(" cfp.formapago_id, "); + sql.append(" ( select min(formapago_id) from caja_formapago cfp where cfp.caja_id = c.caja_id and cfp.activo = 1) as formapago_id , "); sql.append(" c.motivocancelacion_id as motivocancelacion_id, "); sql.append(" c.tipoventa_id as tipoventa_id, "); sql.append(" c.indstatusoperacion "); sql.append(" "); - sql.append(" from caja c "); - 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(" 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 on e.empresa_id = c.empresacorrida_id "); sql.append(" join ruta r on r.ruta_id = c.ruta_id "); sql.append(" join parada po on po.parada_id = c.origen_id "); @@ -210,9 +217,9 @@ public class RelatorioFinanceiroAnalitico extends Relatorio { sql.append(" join parada pd on pd.parada_id = c.destino_id "); sql.append(" join ciudad cd on cd.ciudad_id = pd.ciudad_id "); sql.append(" join estado ed on ed.estado_id = cd.estado_id "); - sql.append(" join empresa_imposto ei on ei.empresa_id = c.empresacorrida_id and ei.estado_id = eo.estado_id "); - sql.append(" join fiscal_impressora imp on imp.numserie = c.serieimpfiscal "); - sql.append(" left join estado e on e.estado_id = imp.estadolocal_id "); + sql.append(" join empresa_imposto ei on ei.empresa_id = c.empresacorrida_id and ei.estado_id = eo.estado_id AND ei.activo = 1 "); + sql.append(" left join fiscal_impressora imp on imp.numserie = c.serieimpfiscal "); + sql.append(" left join estado es on es.estado_id = imp.estadolocal_id "); sql.append(" left join alias_servico s on s.origen_id = c.origen_id and s.destino_id = c.destino_id and (s.corrida_id = c.corrida_id or s.corrida_id is null) and s.ruta_id = c.ruta_id "); 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 "); @@ -220,28 +227,25 @@ public class RelatorioFinanceiroAnalitico extends Relatorio { sql.append(" left join parada pds on pds.parada_id = s.aliasdestino_id "); sql.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id "); sql.append(" left join estado eds on eds.estado_id = cds.estado_id "); - sql.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id "); + sql.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id AND eis.activo = 1 "); sql.append(" left join fiscal_r4 r4 on r4.caja_id = c.caja_id "); sql.append(" left join fiscal_r2 r2 on r2.numserie20 = imp.numserie20 and r2.datamov = to_char(c.feccreacion, 'YYYYMMDD') "); sql.append(" join inscricao_estadual ie on c.empresacorrida_id = ie.empresa_id and ie.estado_id = coalesce(eos.estado_id, eo.estado_id) and ie.activo = 1 "); sql.append(" join ciudad cie on cie.ciudad_id = ie.ciudad_id "); sql.append(" join estado eie on eie.estado_id = cie.estado_id "); - sql.append(" join marca ma on c.marca_id = ma.marca_id "); sql.append(" join empresa ep on ep.empresa_id = ma.empresa_id "); sql.append(" join punto_venta pv on pv.puntoventa_id = c.puntoventa_id "); sql.append(" left join parada ppv on ppv.parada_id = pv.parada_id "); sql.append(" left join ciudad cpv on cpv.ciudad_id = ppv.ciudad_id "); sql.append(" left join estado epv on epv.estado_id = cpv.estado_id "); - sql.append(" "); - sql.append(" where c.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 "); + + sql.append(" where c.activo = 1 AND po.activo = 1 AND co.activo = 1 AND eo.activo = 1 "); sql.append(" and coalesce(case when s.aliasorigen_id is null then ei.activo else eis.activo end, 0) = 1 "); - sql.append(" and c.serieimpfiscal is not null "); - sql.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null 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 "); - sql.append(" and c.feccreacion >= :DATE_INICIO and c.feccreacion <= :DATE_FIM "); - sql.append(" and c.empresacorrida_id = :EMPRESA_ID "); + sql.append(" and (c.indreimpresion = 0 and c.motivocancelacion_id is null) "); + sql.append(" and ccp.feccorte >= :DATE_INICIO and ccp.feccorte <= :DATE_FIM "); + sql.append(" and ccp.empresa_id = :EMPRESA_ID "); sql.append(ufs == null ? "" : " and ((case when s.aliasorigen_id is null then eo.estado_id else eos.estado_id end) in ( " + ufs + " )) "); - sql.append(pdvs == null ? "" : "and pv.puntoventa_id in ( " + pdvs + " ) "); + sql.append(pdvs == null ? "" : "and ccp.puntoventa_id in ( " + pdvs + " ) "); sql.append(tipoptovtaId == -1 ? "" : "and pv.tipoptovta_id = " + tipoptovtaId); sql.append(" "); sql.append("union all "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java index 67fcf2107..cb4bea2c2 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioFinanceiroSintetico.java @@ -175,11 +175,12 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" cdv.empresaId, "); sql.append(" cdv.fechorVenta, "); sql.append(" sum(case when (cdv.indreimpresion = 0 and cdv.indstatusoperacion = 'F' and cdv.motivocancelacion_id is null) then cdv.pedagio else 0 end) as pedagio, "); + sql.append(" sum(case when (cdv.indreimpresion = 0 and cdv.indstatusoperacion = 'F' and cdv.motivocancelacion_id is null) then cdv.taxaEmbarque else 0 end) as taxaEmbarque, "); sql.append(" sum(case when (cdv.indreimpresion = 0 and cdv.indstatusoperacion = 'F' and cdv.motivocancelacion_id is null) then cdv.valorpago else 0 end) as receita_bpr, "); sql.append(" sum(case when (cdv.indreimpresion = 0 and cdv.indstatusboleto = 'V' and cdv.tipoventa_id in (5,12,18,49)) then cdv.valorpago else 0 end) as receita_gap, "); sql.append(" sum(case when (cdv.indreimpresion = 1 and cdv.indstatusboleto = 'E' and cdv.tipoventa_id in (5,12,18,49)) then cdv.valorpago else 0 end) as entrega_gap, "); - sql.append(" sum(case when (cdv.motivocancelacion_id is null and cdv.indreimpresion = 0 and cdv.indstatusoperacion = 'F' and cdv.formapago_id in (2,25)) then cdv.valorpago else 0 end) as cartao_credito, "); - sql.append(" sum(case when (cdv.motivocancelacion_id is null and cdv.indreimpresion = 0 and cdv.indstatusoperacion = 'F' and cdv.formapago_id in (3,26)) then cdv.valorpago else 0 end) as cartao_debito "); + sql.append(" sum((select sum(cfp.importe) from caja_formapago cfp where cfp.caja_id = cdv.cajaid and cfp.activo = 1 and cfp.FORMAPAGO_ID in (2,25) and (cdv.motivocancelacion_id IS NULL AND cdv.indreimpresion = 0 AND cdv.indstatusoperacion = 'F')) ) as cartao_credito, "); + sql.append(" sum((select sum(cfp.importe) from caja_formapago cfp where cfp.caja_id = cdv.cajaid and cfp.activo = 1 and cfp.FORMAPAGO_ID in (3,26) and (cdv.motivocancelacion_id IS NULL AND cdv.indreimpresion = 0 AND cdv.indstatusoperacion = 'F')) ) as cartao_debito "); sql.append("from ( "); sql.append(" select distinct "); sql.append(" c.caja_id as cajaid, "); @@ -193,21 +194,26 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" c.indreimpresion, "); sql.append(" c.indcancelacion, "); sql.append(" c.numfoliosistema, "); - sql.append(" coalesce(cfp.importe, 0) as valorpago, "); + sql.append(" coalesce(c.preciopagado, 0) as valorpago, "); sql.append(" coalesce(c.preciobase, 0) as precobase, "); 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(" cfp.formapago_id, "); + sql.append(" ( select min(formapago_id) from caja_formapago cfp where cfp.caja_id = c.caja_id and cfp.activo = 1) as formapago_id , "); sql.append(" c.motivocancelacion_id as motivocancelacion_id, "); sql.append(" c.tipoventa_id as tipoventa_id, "); sql.append(" c.indstatusoperacion "); - sql.append(" "); - sql.append(" from caja c "); - 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(" 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 on e.empresa_id = c.empresacorrida_id "); sql.append(" join ruta r on r.ruta_id = c.ruta_id "); sql.append(" join parada po on po.parada_id = c.origen_id "); @@ -216,9 +222,9 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" join parada pd on pd.parada_id = c.destino_id "); sql.append(" join ciudad cd on cd.ciudad_id = pd.ciudad_id "); sql.append(" join estado ed on ed.estado_id = cd.estado_id "); - sql.append(" join empresa_imposto ei on ei.empresa_id = c.empresacorrida_id and ei.estado_id = eo.estado_id "); - sql.append(" join fiscal_impressora imp on imp.numserie = c.serieimpfiscal "); - sql.append(" left join estado e on e.estado_id = imp.estadolocal_id "); + sql.append(" join empresa_imposto ei on ei.empresa_id = c.empresacorrida_id and ei.estado_id = eo.estado_id AND ei.activo = 1 "); + sql.append(" left join fiscal_impressora imp on imp.numserie = c.serieimpfiscal "); + sql.append(" left join estado es on es.estado_id = imp.estadolocal_id "); sql.append(" left join alias_servico s on s.origen_id = c.origen_id and s.destino_id = c.destino_id and (s.corrida_id = c.corrida_id or s.corrida_id is null) and s.ruta_id = c.ruta_id "); 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 "); @@ -226,28 +232,25 @@ public class RelatorioFinanceiroSintetico extends Relatorio { sql.append(" left join parada pds on pds.parada_id = s.aliasdestino_id "); sql.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id "); sql.append(" left join estado eds on eds.estado_id = cds.estado_id "); - sql.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id "); + sql.append(" left join empresa_imposto eis on eis.empresa_id = c.empresacorrida_id and eis.estado_id = eos.estado_id AND eis.activo = 1 "); sql.append(" left join fiscal_r4 r4 on r4.caja_id = c.caja_id "); sql.append(" left join fiscal_r2 r2 on r2.numserie20 = imp.numserie20 and r2.datamov = to_char(c.feccreacion, 'YYYYMMDD') "); sql.append(" join inscricao_estadual ie on c.empresacorrida_id = ie.empresa_id and ie.estado_id = coalesce(eos.estado_id, eo.estado_id) and ie.activo = 1 "); sql.append(" join ciudad cie on cie.ciudad_id = ie.ciudad_id "); sql.append(" join estado eie on eie.estado_id = cie.estado_id "); - sql.append(" join marca ma on c.marca_id = ma.marca_id "); sql.append(" join empresa ep on ep.empresa_id = ma.empresa_id "); sql.append(" join punto_venta pv on pv.puntoventa_id = c.puntoventa_id "); sql.append(" left join parada ppv on ppv.parada_id = pv.parada_id "); sql.append(" left join ciudad cpv on cpv.ciudad_id = ppv.ciudad_id "); sql.append(" left join estado epv on epv.estado_id = cpv.estado_id "); - sql.append(" "); - sql.append(" where c.activo = 1 and po.activo = 1 and co.activo = 1 and eo.activo = 1 and ei.activo = 1 "); + + sql.append(" where c.activo = 1 AND po.activo = 1 AND co.activo = 1 AND eo.activo = 1 "); sql.append(" and coalesce(case when s.aliasorigen_id is null then ei.activo else eis.activo end, 0) = 1 "); - sql.append(" and c.serieimpfiscal is not null "); - sql.append(" and ((c.indreimpresion = 0 and c.motivocancelacion_id is null 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 "); - sql.append(" and c.feccreacion >= :DATE_INICIO and c.feccreacion <= :DATE_FIM "); - sql.append(" and c.empresacorrida_id = :EMPRESA_ID "); + sql.append(" and (c.indreimpresion = 0 and c.motivocancelacion_id is null) "); + sql.append(" and ccp.feccorte >= :DATE_INICIO and ccp.feccorte <= :DATE_FIM "); + sql.append(" and ccp.empresa_id = :EMPRESA_ID "); sql.append(ufs == null ? "" : " and ((case when s.aliasorigen_id is null then eo.estado_id else eos.estado_id end) in ( " + ufs + " )) "); - sql.append(pdvs == null ? "" : "and pv.puntoventa_id in ( " + pdvs + " ) "); + sql.append(pdvs == null ? "" : "and ccp.puntoventa_id in ( " + pdvs + " ) "); sql.append(tipoptovtaId == -1 ? "" : "and pv.tipoptovta_id = " + tipoptovtaId); sql.append(" "); sql.append("union all ");