fabio 2018-02-23 20:38:49 +00:00
parent ae83540bf9
commit a8f5cef7c5
2 changed files with 48 additions and 41 deletions

View File

@ -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 ");

View File

@ -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 ");