Fixes bug #10732
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@79920 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
695cba5380
commit
9e485a64b8
|
@ -156,308 +156,330 @@ public class RelatorioFinanceiroSintetico extends Relatorio {
|
|||
|
||||
private String getSql(String ufs, String pdvs, Integer tipoptovtaId) {
|
||||
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("select * from ");
|
||||
sql.append(" ");
|
||||
sql.append("(select ");
|
||||
sql.append(" cdv.estadoOrigem as uf, ");
|
||||
sql.append(" cdv.estadoId, ");
|
||||
sql.append(" cdv.codigo, ");
|
||||
sql.append(" cdv.puntoventaId, ");
|
||||
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 in ('V', 'T') 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((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, ");
|
||||
sql.append(" trunc(c.feccreacion) as fechorVenta, ");
|
||||
sql.append(" e.empresa_id as empresaId, ");
|
||||
sql.append(" pv.puntoventa_id as puntoventaId, ");
|
||||
sql.append(" pv.numpuntoventa as codigo, ");
|
||||
sql.append(" (case when s.aliasorigen_id is null then eo.estado_id else eos.estado_id end) as estadoId, ");
|
||||
sql.append(" (case when s.aliasorigen_id is null then eo.cveestado else eos.cveestado end) as estadoOrigem, ");
|
||||
sql.append(" c.indstatusboleto, ");
|
||||
sql.append(" c.indreimpresion, ");
|
||||
sql.append(" c.indcancelacion, ");
|
||||
sql.append(" c.numfoliosistema, ");
|
||||
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(" ( 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(" 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 ");
|
||||
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(" 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 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 ");
|
||||
sql.append(" left join estado eos on eos.estado_id = cos.estado_id ");
|
||||
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 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 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 ");
|
||||
StringBuilder sql = new StringBuilder(20000);
|
||||
sql.append(" SELECT * ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" (SELECT cdv.estadoOrigem AS uf, ");
|
||||
sql.append(" cdv.estadoId, ");
|
||||
sql.append(" cdv.codigo, ");
|
||||
sql.append(" cdv.puntoventaId, ");
|
||||
sql.append(" cdv.empresaId, ");
|
||||
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 IN ('V', 'T') 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( (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 c.caja_id AS cajaid, ");
|
||||
sql.append(" e.empresa_id AS empresaId, ");
|
||||
sql.append(" pv.puntoventa_id AS puntoventaId, ");
|
||||
sql.append(" pv.numpuntoventa AS codigo, ");
|
||||
sql.append(" eo.estado_id AS estadoId, ");
|
||||
sql.append(" eo.cveestado AS estadoOrigem, ");
|
||||
sql.append(" c.indstatusboleto, ");
|
||||
sql.append(" c.indreimpresion, ");
|
||||
sql.append(" c.indcancelacion, ");
|
||||
sql.append(" c.numfoliosistema, ");
|
||||
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(" (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(" 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(" AND c.motivocancelacion_id IS NULL ");
|
||||
sql.append(" AND ccp.feccorte >= :DATE_INICIO ");
|
||||
sql.append(" AND ccp.feccorte <= :DATE_FIM ");
|
||||
sql.append(" AND ccp.empresa_id = :EMPRESA_ID ");
|
||||
|
||||
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.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(ufs == null ? "" : " and eo.estado_id in ( " + ufs + " ) ");
|
||||
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 ");
|
||||
sql.append(" ");
|
||||
sql.append(" select distinct ");
|
||||
sql.append(" c.caja_id as cajaid, ");
|
||||
sql.append(" trunc(c.feccreacion) as fechorVenta, ");
|
||||
sql.append(" e.empresa_id as empresaId, ");
|
||||
sql.append(" pv.puntoventa_id as puntoventaId, ");
|
||||
sql.append(" pv.numpuntoventa as codigo, ");
|
||||
sql.append(" coalesce(ae.estado_id, (case when s.aliasorigen_id is null then eo.estado_id else eos.estado_id end)) as estadoId, ");
|
||||
sql.append(" coalesce(ae.cveestado,(case when s.aliasorigen_id is null then eo.cveestado else eos.cveestado end)) as estadoOrigem, ");
|
||||
sql.append(" c.indstatusboleto, ");
|
||||
sql.append(" c.indreimpresion, ");
|
||||
sql.append(" c.indcancelacion, ");
|
||||
sql.append(" c.numfoliosistema, ");
|
||||
sql.append(" coalesce(cfp.importe, 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(" c.motivocancelacion_id as motivocancelacion_id, ");
|
||||
sql.append(" c.tipoventa_id as tipoventa_id, ");
|
||||
sql.append(" c.indstatusoperacion ");
|
||||
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(" 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 ciudad ce on ce.ciudad_id = e.ciudad_id ");
|
||||
sql.append(" join estado ee on ee.estado_id = ce.estado_id ");
|
||||
sql.append(" join parada po on po.parada_id = c.origen_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(" 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(" left join alias_servico s on s.origen_id = c.origen_id ");
|
||||
sql.append(" and s.destino_id = c.destino_id and (s.corrida_id = c.corrida_id or s.corrida_id is null) ");
|
||||
sql.append(" 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 ");
|
||||
sql.append(" left join estado eos on eos.estado_id = cos.estado_id ");
|
||||
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 estado ae on ae.estado_id = a.estado_id ");
|
||||
sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id ");
|
||||
sql.append(" and ie.estado_id = coalesce(ae.estado_id, eos.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 empresa_imposto ei on ei.empresa_id = c.empresacorrida_id ");
|
||||
sql.append(" and ei.estado_id = coalesce(ae.estado_id, eos.estado_id) and ei.activo = 1 ");
|
||||
sql.append("where ((c.tipoventa_id = 3 and c.indstatusboleto = 'V' and c.indreimpresion = 0) ");
|
||||
sql.append(" or (c.tipoventa_id in (12,18) and c.indstatusboleto = 'E' and c.numfoliosistema = c.numfoliopreimpreso)) ");
|
||||
sql.append(" and (c.motivocancelacion_id is null or c.motivocancelacion_id <> 35) ");
|
||||
sql.append(" and c.indcancelacion = 0 ");
|
||||
sql.append(" and c.indstatusboleto = 'V' and c.indreimpresion = 0 ");
|
||||
sql.append(" and c.feccreacion >= :DATE_INICIO and c.feccreacion <= :DATE_FIM ");
|
||||
sql.append(" and c.empresacorrida_id = :EMPRESA_ID ");
|
||||
sql.append(ufs == null ? "" : " and coalesce(ae.estado_id, eos.estado_id) in ( " + ufs + " ) ");
|
||||
|
||||
sql.append(" UNION ALL ");
|
||||
sql.append(" SELECT DISTINCT c.caja_id AS cajaid, ");
|
||||
sql.append(" e.empresa_id AS empresaId, ");
|
||||
sql.append(" pv.puntoventa_id AS puntoventaId, ");
|
||||
sql.append(" pv.numpuntoventa AS codigo, ");
|
||||
sql.append(" eo.estado_id AS estadoId, ");
|
||||
sql.append(" eo.cveestado AS estadoOrigem, ");
|
||||
sql.append(" c.indstatusboleto, ");
|
||||
sql.append(" c.indreimpresion, ");
|
||||
sql.append(" c.indcancelacion, ");
|
||||
sql.append(" c.numfoliosistema, ");
|
||||
sql.append(" COALESCE(cfp.importe, 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(" c.motivocancelacion_id AS motivocancelacion_id, ");
|
||||
sql.append(" c.tipoventa_id AS tipoventa_id, ");
|
||||
sql.append(" c.indstatusoperacion ");
|
||||
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(" 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 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.indstatusboleto = 'V' ");
|
||||
sql.append(" AND c.indreimpresion = 0 ");
|
||||
sql.append(" AND c.feccreacion >= :DATE_INICIO ");
|
||||
sql.append(" AND c.feccreacion <= :DATE_FIM ");
|
||||
sql.append(" AND c.empresacorrida_id = :EMPRESA_ID ");
|
||||
|
||||
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(" ) cdv ");
|
||||
sql.append(" group by cdv.estadoOrigem, cdv.estadoId, cdv.codigo, cdv.puntoventaId, cdv.empresaId, cdv.fechorVenta ) agrc ");
|
||||
sql.append(" ");
|
||||
sql.append("left join (select ");
|
||||
sql.append(" cdc.estadoOrigem as uf, ");
|
||||
sql.append(" cdc.estadoId, ");
|
||||
sql.append(" cdc.codigo, ");
|
||||
sql.append(" cdc.puntoventaId, ");
|
||||
sql.append(" cdc.empresaId, ");
|
||||
sql.append(" cdc.fechorVenta, ");
|
||||
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 (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(" from ( ");
|
||||
sql.append(" select distinct ");
|
||||
sql.append(" c.caja_id as cajaid, ");
|
||||
sql.append(" trunc(c.feccreacion) as fechorVenta, ");
|
||||
sql.append(" e.empresa_id as empresaId, ");
|
||||
sql.append(" ptv.puntoventa_id as puntoventaId, ");
|
||||
sql.append(" ptv.numpuntoventa as codigo, ");
|
||||
sql.append(" coalesce(esaidf.estado_id, eos.estado_id, est.estado_id) as estadoId, ");
|
||||
sql.append(" coalesce(esaidf.cveestado, eos.cveestado, est.cveestado) as estadoOrigem, ");
|
||||
sql.append(" c.indstatusboleto, ");
|
||||
sql.append(" c.indreimpresion, ");
|
||||
sql.append(" c.indcancelacion, ");
|
||||
sql.append(" c.numfoliosistema, ");
|
||||
sql.append(" coalesce(cfp.importe, 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(" 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("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 ptv on ptv.puntoventa_id = c.puntoventa_id ");
|
||||
sql.append("inner join parada ori on (c.origen_id = ori.parada_id ) ");
|
||||
sql.append("inner join parada des on (c.destino_id = des.parada_id ) ");
|
||||
sql.append("inner join ciudad co on (co.ciudad_id = ori.ciudad_id ) ");
|
||||
sql.append("inner join ciudad cd on (cd.ciudad_id = des.ciudad_id ) ");
|
||||
sql.append("inner join estado est on est.estado_id = co.estado_id ");
|
||||
sql.append("left join punto_venta ptvo on ptvo.puntoventa_id = c.ptovtaventa_id ");
|
||||
sql.append("left join alias_servico s on s.origen_id = c.origen_id ");
|
||||
sql.append(" and s.destino_id = c.destino_id and (s.corrida_id = c.corrida_id or s.corrida_id is null) ");
|
||||
sql.append(" 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 ");
|
||||
sql.append("left join estado eos on eos.estado_id = cos.estado_id ");
|
||||
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 aidf aidf on aidf.aidf_id = c.aidf_id and c.tipoventa_id = 3 ");
|
||||
sql.append("left join estado esaidf on esaidf.estado_id = aidf.estado_id ");
|
||||
sql.append("join inscricao_estadual ie on e.empresa_id = ie.empresa_id ");
|
||||
sql.append(" and ie.estado_id = coalesce(aidf.estado_id, eos.estado_id, est.estado_id) and ie.activo = 1 ");
|
||||
sql.append("join empresa_imposto ei on ei.empresa_id = e.empresa_id ");
|
||||
sql.append(" and ei.estado_id = coalesce(aidf.estado_id, eos.estado_id, est.estado_id) and ei.activo = 1 ");
|
||||
sql.append("where (c.motivocancelacion_id IN (31,32,10,37,99,36) or c.motivocancelacion_id is null) ");
|
||||
sql.append(" and c.feccorte >= :DATE_INICIO and c.feccorte <= :DATE_FIM ");
|
||||
sql.append(" and c.empresacorrida_id = :EMPRESA_ID ");
|
||||
sql.append(ufs == null ? "" : " and coalesce(esaidf.estado_id, eos.estado_id, est.estado_id) in ( " + ufs + " ) ");
|
||||
|
||||
sql.append(" ) cdv ");
|
||||
sql.append(" GROUP BY cdv.estadoOrigem, ");
|
||||
sql.append(" cdv.estadoId, ");
|
||||
sql.append(" cdv.codigo, ");
|
||||
sql.append(" cdv.puntoventaId, ");
|
||||
sql.append(" cdv.empresaId ");
|
||||
sql.append(" ) agrc ");
|
||||
sql.append(" LEFT JOIN ");
|
||||
sql.append(" (SELECT cdc.estadoOrigem AS uf, ");
|
||||
sql.append(" cdc.estadoId, ");
|
||||
sql.append(" cdc.codigo, ");
|
||||
sql.append(" cdc.puntoventaId, ");
|
||||
sql.append(" cdc.empresaId, ");
|
||||
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 (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(" FROM ");
|
||||
sql.append(" ( SELECT DISTINCT c.caja_id AS cajaid, ");
|
||||
sql.append(" e.empresa_id AS empresaId, ");
|
||||
sql.append(" pv.puntoventa_id AS puntoventaId, ");
|
||||
sql.append(" pv.numpuntoventa AS codigo, ");
|
||||
sql.append(" eo.estado_id AS estadoId, ");
|
||||
sql.append(" eo.cveestado AS estadoOrigem, ");
|
||||
sql.append(" c.indstatusboleto, ");
|
||||
sql.append(" c.indreimpresion, ");
|
||||
sql.append(" c.indcancelacion, ");
|
||||
sql.append(" c.numfoliosistema, ");
|
||||
sql.append(" COALESCE(cfp.importe, 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(" c.motivocancelacion_id AS motivocancelacion_id, ");
|
||||
sql.append(" c.tipoventa_id AS tipoventa_id, ");
|
||||
sql.append(" c.indstatusoperacion ");
|
||||
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(" 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 ");
|
||||
sql.append(" AND c.feccorte <= :DATE_FIM ");
|
||||
sql.append(" AND c.empresacorrida_id = :EMPRESA_ID ");
|
||||
|
||||
sql.append(ufs == null ? "" : " and eo.estado_id in ( " + ufs + " ) ");
|
||||
sql.append(pdvs == null ? "" : "and ptv.puntoventa_id in ( " + pdvs + " ) ");
|
||||
sql.append(tipoptovtaId == -1 ? "" : "and ptv.tipoptovta_id = " + tipoptovtaId);
|
||||
sql.append(" and c.categoria_id not in (select valorconstante from constante where nombconstante = 'GRATUIDADE_CRIANCA') ");
|
||||
sql.append(" ) cdc ");
|
||||
sql.append(" group by cdc.estadoOrigem, cdc.estadoId, cdc.codigo, cdc.puntoventaId, cdc.empresaId, cdc.fechorVenta ");
|
||||
sql.append(") canc on agrc.empresaId = canc.empresaId and agrc.puntoventaId = canc.puntoventaId and agrc.estadoId = canc.estadoId and agrc.fechorVenta = canc.fechorVenta ");
|
||||
sql.append(" left join ( ");
|
||||
sql.append(" select ");
|
||||
sql.append(" ee.empresa_id AS empresaId, cd.puntoventa_id AS puntoventaId, eo.estado_id AS estadoId, trunc(ee.fechoringreso) as fechorVenta, ");
|
||||
sql.append(" sum( case when tee.tipoeventoextra_id = 2 and indtipo = 1 then cdp.importe else 0 end) as taxaembarque, ");
|
||||
sql.append(" sum( case when tee.tipoeventoextra_id = 25 and indtipo = 1 then cdp.importe else 0 end) as segurofac, ");
|
||||
sql.append(" sum( case when tee.tipoeventoextra_id = 82 and indtipo = 1 then cdp.importe else 0 end) as receita_eb, ");
|
||||
sql.append(" sum( case when tee.tipoeventoextra_id in (41) and indtipo = 1 then cdp.importe else 0 end) as receita_multa, ");
|
||||
sql.append(" sum( case when tee.tipoeventoextra_id in (103,99978,99999) and indtipo = 1 then cdp.importe else 0 end) as receita_dif_troca_ocd, ");
|
||||
sql.append(" sum( case when tee.tipoeventoextra_id in (43) and indtipo = 1 then cdp.importe else 0 end) as receita_dif_dif_tarifa_maior, ");
|
||||
sql.append(" sum( case when tee.tipoeventoextra_id in (44) and indtipo = 0 then cdp.importe else 0 end) as receita_dif_dif_tarifa_menor, ");
|
||||
sql.append(" sum( case when tee.tipoeventoextra_id not in (44) and indtipo = 0 then cdp.importe else 0 end) as despesas, ");
|
||||
sql.append(" sum( case when (cdp.formapago_id in (2,25) and tee.tipoeventoextra_id in (2,25,82,41,43,103,99978,99999) and indtipo = 1) then cdp.importe else 0 end) as cartao_credito_ee, ");
|
||||
sql.append(" sum( case when (cdp.formapago_id in (3,26) and tee.tipoeventoextra_id in (2,25,82,41,43,103,99978,99999) and indtipo = 1) then cdp.importe else 0 end) as cartao_debito_ee ");
|
||||
sql.append(" from caja_diversos cd ");
|
||||
sql.append(" 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(" join caja_diversos_pago cdp on cdp.cajadiversos_id = cd.cajadiversos_id ");
|
||||
sql.append(" join conta_corrente_ptovta ccp on ccp.empresa_id = ee.empresa_id ");
|
||||
sql.append(" and ccp.puntoventa_id = cd.puntoventa_id ");
|
||||
sql.append(" and ccp.turno_id = cd.turno_id ");
|
||||
sql.append(" and ccp.usuario_id = cd.usuario_id ");
|
||||
sql.append(" and cd.feccorte = ccp.feccorte ");
|
||||
sql.append(" join punto_venta pv on pv.puntoventa_id = ee.puntoventa_id ");
|
||||
sql.append(" left join boleto b on b.boleto_id = ee.boleto_id ");
|
||||
sql.append(" left join parada po on po.parada_id = coalesce(b.origen_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 ");
|
||||
sql.append(" ( cd.indreimpresion = 0 or cd.indreimpresion is null ) ");
|
||||
sql.append(" and ee.empresa_id = :EMPRESA_ID ");
|
||||
sql.append(ufs == null ? "" : "and eo.estado_id in ( " + ufs + " ) ");
|
||||
sql.append(pdvs == null ? "" : "and ccp.puntoventa_id in ( " + pdvs + " ) ");
|
||||
sql.append(tipoptovtaId == -1 ? "" : "and pv.tipoptovta_id = " + tipoptovtaId);
|
||||
sql.append(" and ccp.FECCORTE between :DATE_INICIO and :DATE_FIM ");
|
||||
sql.append(" group by ee.empresa_id, cd.puntoventa_id, eo.estado_id, trunc(ee.fechoringreso) ");
|
||||
sql.append(" ) eed on agrc.empresaId = eed.empresaId and agrc.puntoventaId = eed.puntoventaId and agrc.estadoId = eed.estadoId AND agrc.fechorVenta = eed.fechorVenta ");
|
||||
sql.append("left join ( ");
|
||||
sql.append(" select coalesce(sum(fd.valor), 0) as deposito, pv.puntoventa_id as puntoventaId, fcc.empresa_id as empresaId, eo.estado_id as estadoId, ");
|
||||
sql.append(" trunc(fd.feccreacion) as fechorVenta ");
|
||||
sql.append(" from fechamento_cntcorrente fcc ");
|
||||
sql.append(" join fechamento_cct_deposito fcd on fcd.fechamentocntcorrente_id = fcc.fechamentocntcorrente_id ");
|
||||
sql.append(" join fechamento_deposito fd on fd.fechamentocntcorrente_id = fcd.fechamentocntcorrente_id ");
|
||||
sql.append(" join punto_venta pv on pv.puntoventa_id = fcc.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 fcc.activo = 1 and fcc.empresa_id = :EMPRESA_ID ");
|
||||
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 fd.feccreacion between :DATE_INICIO and :DATE_FIM ");
|
||||
sql.append(" group by pv.puntoventa_id, fcc.empresa_id, eo.estado_id, trunc(fd.feccreacion) ");
|
||||
sql.append(" ) depd on agrc.empresaId = depd.empresaId and agrc.puntoventaId = depd.puntoventaId and agrc.estadoId = depd.estadoId and agrc.fechorVenta = depd.fechorVenta ");
|
||||
sql.append("left join ( ");
|
||||
sql.append(" select coalesce(sum(fb.valordocumento), 0) as boleto_bnc , pv.puntoventa_id as puntoventaId, fcc.empresa_id as empresaId, eo.estado_id as estadoId, ");
|
||||
sql.append(" trunc(fcc.fecinifechamento) as fechorVenta ");
|
||||
sql.append(" from fechamento_cntcorrente fcc ");
|
||||
sql.append(" join fechamento_boleto fb on fb.fechamentocntcorrente_id = fcc.fechamentocntcorrente_id ");
|
||||
sql.append(" join punto_venta pv on pv.puntoventa_id = fcc.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 fcc.activo = 1 and fcc.empresa_id = :EMPRESA_ID ");
|
||||
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 fcc.fecinifechamento >= :DATE_INICIO and fcc.fecfinfechamento <= :DATE_FIM ");
|
||||
sql.append(" group by pv.puntoventa_id, fcc.empresa_id, eo.estado_id, trunc(fcc.fecinifechamento) ");
|
||||
sql.append(" ) bold on agrc.empresaId = bold.empresaId and agrc.puntoventaId = bold.puntoventaId and agrc.estadoId = bold.estadoId and agrc.fechorVenta = bold.fechorVenta ");
|
||||
|
||||
sql.append(" AND c.categoria_id NOT IN ");
|
||||
sql.append(" (SELECT valorconstante FROM constante WHERE nombconstante = 'GRATUIDADE_CRIANCA' ) ");
|
||||
sql.append(" ) cdc ");
|
||||
sql.append(" GROUP BY cdc.estadoOrigem, ");
|
||||
sql.append(" cdc.estadoId, ");
|
||||
sql.append(" cdc.codigo, ");
|
||||
sql.append(" cdc.puntoventaId, ");
|
||||
sql.append(" cdc.empresaId ");
|
||||
sql.append(" ) canc ON agrc.empresaId = canc.empresaId ");
|
||||
sql.append(" AND agrc.puntoventaId = canc.puntoventaId ");
|
||||
sql.append(" AND agrc.estadoId = canc.estadoId ");
|
||||
sql.append(" LEFT JOIN ");
|
||||
sql.append(" (SELECT ee.empresa_id AS empresaId, ");
|
||||
sql.append(" cd.puntoventa_id AS puntoventaId, ");
|
||||
sql.append(" eo.estado_id AS estadoId, ");
|
||||
sql.append(" SUM( CASE WHEN tee.tipoeventoextra_id = 2 AND indtipo = 1 THEN cdp.importe ELSE 0 END) AS taxaembarque, ");
|
||||
sql.append(" SUM( CASE WHEN tee.tipoeventoextra_id = 25 AND indtipo = 1 THEN cdp.importe ELSE 0 END) AS segurofac, ");
|
||||
sql.append(" SUM( CASE WHEN tee.tipoeventoextra_id = 82 AND indtipo = 1 THEN cdp.importe ELSE 0 END) AS receita_eb, ");
|
||||
sql.append(" SUM( CASE WHEN tee.tipoeventoextra_id IN (41) AND indtipo = 1 THEN cdp.importe ELSE 0 END) AS receita_multa, ");
|
||||
sql.append(" SUM( CASE WHEN tee.tipoeventoextra_id IN (103,99978,99999) AND indtipo = 1 THEN cdp.importe ELSE 0 END) AS receita_dif_troca_ocd, ");
|
||||
sql.append(" SUM( CASE WHEN tee.tipoeventoextra_id IN (43) AND indtipo = 1 THEN cdp.importe ELSE 0 END) AS receita_dif_dif_tarifa_maior, ");
|
||||
sql.append(" SUM( CASE WHEN tee.tipoeventoextra_id IN (44) AND indtipo = 0 THEN cdp.importe ELSE 0 END) AS receita_dif_dif_tarifa_menor, ");
|
||||
sql.append(" SUM( CASE WHEN tee.tipoeventoextra_id NOT IN (44) AND indtipo = 0 THEN cdp.importe ELSE 0 END) AS despesas, ");
|
||||
sql.append(" SUM( CASE WHEN (cdp.formapago_id IN (2,25) AND tee.tipoeventoextra_id IN (2,25,82,41,43,103,99978,99999) AND indtipo = 1) THEN cdp.importe ELSE 0 END) AS cartao_credito_ee, ");
|
||||
sql.append(" SUM( CASE WHEN (cdp.formapago_id IN (3,26) AND tee.tipoeventoextra_id IN (2,25,82,41,43,103,99978,99999) AND indtipo = 1) THEN cdp.importe ELSE 0 END) AS cartao_debito_ee ");
|
||||
sql.append(" FROM caja_diversos cd ");
|
||||
sql.append(" 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(" JOIN caja_diversos_pago cdp ");
|
||||
sql.append(" ON cdp.cajadiversos_id = cd.cajadiversos_id ");
|
||||
sql.append(" JOIN conta_corrente_ptovta ccp ");
|
||||
sql.append(" ON ccp.empresa_id = ee.empresa_id ");
|
||||
sql.append(" AND ccp.puntoventa_id = cd.puntoventa_id ");
|
||||
sql.append(" AND ccp.turno_id = cd.turno_id ");
|
||||
sql.append(" AND ccp.usuario_id = cd.usuario_id ");
|
||||
sql.append(" AND cd.feccorte = ccp.feccorte ");
|
||||
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(" WHERE ( cd.indreimpresion = 0 ");
|
||||
sql.append(" OR cd.indreimpresion IS NULL ) ");
|
||||
sql.append(" AND ee.empresa_id = :EMPRESA_ID ");
|
||||
|
||||
sql.append(ufs == null ? "" : " and eo.estado_id in ( " + ufs + " ) ");
|
||||
sql.append(pdvs == null ? "" : "and ccp.puntoventa_id in ( " + pdvs + " ) ");
|
||||
sql.append(tipoptovtaId == -1 ? "" : "and pv.tipoptovta_id = " + tipoptovtaId);
|
||||
|
||||
sql.append(" AND ccp.FECCORTE BETWEEN :DATE_INICIO AND :DATE_FIM ");
|
||||
sql.append(" GROUP BY ee.empresa_id, ");
|
||||
sql.append(" cd.puntoventa_id, ");
|
||||
sql.append(" eo.estado_id ");
|
||||
sql.append(" ) eed ON agrc.empresaId = eed.empresaId ");
|
||||
sql.append(" AND agrc.puntoventaId = eed.puntoventaId ");
|
||||
sql.append(" AND agrc.estadoId = eed.estadoId ");
|
||||
sql.append(" LEFT JOIN ");
|
||||
sql.append(" (SELECT COALESCE(SUM(fd.valor), 0) AS deposito, ");
|
||||
sql.append(" pv.puntoventa_id AS puntoventaId, ");
|
||||
sql.append(" fcc.empresa_id AS empresaId, ");
|
||||
sql.append(" eo.estado_id AS estadoId ");
|
||||
sql.append(" FROM fechamento_cntcorrente fcc ");
|
||||
sql.append(" JOIN fechamento_cct_deposito fcd ");
|
||||
sql.append(" ON fcd.fechamentocntcorrente_id = fcc.fechamentocntcorrente_id ");
|
||||
sql.append(" JOIN fechamento_deposito fd ");
|
||||
sql.append(" ON fd.fechamentocntcorrente_id = fcd.fechamentocntcorrente_id ");
|
||||
sql.append(" JOIN punto_venta pv ");
|
||||
sql.append(" ON pv.puntoventa_id = fcc.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 fcc.activo = 1 ");
|
||||
sql.append(" AND fcc.empresa_id = :EMPRESA_ID ");
|
||||
|
||||
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 fd.feccreacion BETWEEN :DATE_INICIO AND :DATE_FIM ");
|
||||
sql.append(" GROUP BY pv.puntoventa_id, ");
|
||||
sql.append(" fcc.empresa_id, ");
|
||||
sql.append(" eo.estado_id ");
|
||||
sql.append(" ) depd ON agrc.empresaId = depd.empresaId ");
|
||||
sql.append(" AND agrc.puntoventaId = depd.puntoventaId ");
|
||||
sql.append(" AND agrc.estadoId = depd.estadoId ");
|
||||
|
||||
sql.append(" LEFT JOIN ");
|
||||
sql.append(" (SELECT COALESCE(SUM(fb.valordocumento), 0) AS boleto_bnc , ");
|
||||
sql.append(" pv.puntoventa_id AS puntoventaId, ");
|
||||
sql.append(" fcc.empresa_id AS empresaId, ");
|
||||
sql.append(" eo.estado_id AS estadoId ");
|
||||
sql.append(" FROM fechamento_cntcorrente fcc ");
|
||||
sql.append(" JOIN fechamento_boleto fb ");
|
||||
sql.append(" ON fb.fechamentocntcorrente_id = fcc.fechamentocntcorrente_id ");
|
||||
sql.append(" JOIN punto_venta pv ");
|
||||
sql.append(" ON pv.puntoventa_id = fcc.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 fcc.activo = 1 ");
|
||||
sql.append(" AND fcc.empresa_id = :EMPRESA_ID ");
|
||||
|
||||
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 fcc.fecinifechamento >= :DATE_INICIO ");
|
||||
sql.append(" AND fcc.fecfinfechamento <= :DATE_FIM ");
|
||||
sql.append(" GROUP BY pv.puntoventa_id, ");
|
||||
sql.append(" fcc.empresa_id, ");
|
||||
sql.append(" eo.estado_id, ");
|
||||
sql.append(" TRUNC(fcc.fecinifechamento) ");
|
||||
sql.append(" ) bold ON agrc.empresaId = bold.empresaId ");
|
||||
sql.append(" AND agrc.puntoventaId = bold.puntoventaId ");
|
||||
sql.append(" AND agrc.estadoId = bold.estadoId ");
|
||||
sql.append(" ORDER BY agrc.puntoventaId ");
|
||||
|
||||
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue