fixes bug#22066
qua: dev:Celio git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@106230 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
26ad356220
commit
23c53888d1
|
@ -124,239 +124,280 @@ public class RelatorioResumoLinhasAnaliticoSimplificadoSumarizado extends Relato
|
|||
* @return
|
||||
*/
|
||||
private String getSql(Integer rutaId, Integer grupoRutaId) {
|
||||
StringBuilder sqlSb = new StringBuilder();
|
||||
sqlSb.append(" SELECT SUB.*, ");
|
||||
sqlSb.append(" (NVL(SUB.PASSAGEIROS,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPA, ");
|
||||
sqlSb.append(" ( ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPE, ");
|
||||
sqlSb.append(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0))) RECEITA_KM, ");
|
||||
sqlSb.append(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS RECEITA_VIAGEM, ");
|
||||
sqlSb.append(" (ROUND(NVL(SUB.PASSAGEIROS_EQUIVALENTE,0), 2) * NVL(SUB.EXTENSAO_KM,0)) AS PAX_KM, ");
|
||||
sqlSb.append(" (NVL(SUB.ASSENTOS,0) * NVL(SUB.KM_RODADO,0)) AS PAX_OFERTADO ");
|
||||
sqlSb.append(" FROM ");
|
||||
sqlSb.append(" (SELECT TAB.INDSENTIDOIDA, ");
|
||||
sqlSb.append(" TAB.PREFIXO, ");
|
||||
sqlSb.append(" TAB.DESCRUTA, ");
|
||||
sqlSb.append(" TAB.RUTA_ID, ");
|
||||
sqlSb.append(" TAB.NUMRUTA, ");
|
||||
sqlSb.append(" TAB.INTERESTADUAL, ");
|
||||
sqlSb.append(" TAB.GRUPO_LINHA, ");
|
||||
sqlSb.append(" TAB.EXTENSAO_KM, ");
|
||||
sqlSb.append(" TAB.CVE_CLASE_SERVICIO, ");
|
||||
sqlSb.append(" TAB.DESC_CLASE_SERVICIO, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO,0)) AS RECEITA_SEGURO, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.RECEITA_BAGAGEM,0)) AS RECEITA_BAGAGEM, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO_OUTROS,0)) AS RECEITA_SEGURO_OUTROS, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.RECEITA_TARIFA,0)) AS RECEITA_TARIFA, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.RECEITA_PEDAGIO,0)) AS RECEITA_PEDAGIO, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.RECEITA_EMBARQUE,0)) AS RECEITA_EMBARQUE, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.PASSAGEIROS,0)) AS PASSAGEIROS, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.VIAGENS_EXTRA,0)) AS VIAGENS_EXTRA, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.VIAGENS,0)) AS VIAGENS, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.RECEITA_TOTAL,0)) AS RECEITA_TOTAL, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.VIAGENS_TOTAL,0)) AS VIAGENS_TOTAL, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.KM_RODADO,0)) AS KM_RODADO, ");
|
||||
sqlSb.append(" SUM(NVL(TAB.PASSAGEIROS_EQUIVALENTE,0)) AS PASSAGEIROS_EQUIVALENTE, ");
|
||||
sqlSb.append(" TAB.ASSENTOS AS ASSENTOS ");
|
||||
sqlSb.append(" FROM ");
|
||||
sqlSb.append(" (SELECT TAB1.*, ");
|
||||
sqlSb.append(" (TAB1.RECEITA_TARIFA + RECEITA_SEGURO + RECEITA_EMBARQUE + RECEITA_PEDAGIO) RECEITA_TOTAL, ");
|
||||
sqlSb.append(" (NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) VIAGENS_TOTAL, ");
|
||||
sqlSb.append(" ((NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) * NVL(TAB1.EXTENSAO_KM,0)) KM_RODADO, ");
|
||||
sqlSb.append(" (SELECT SUM(NVL(PE.EQUIVALENTE,0)) ");
|
||||
sqlSb.append(" FROM ");
|
||||
sqlSb.append(" (SELECT CO.FECCORRIDA, ");
|
||||
sqlSb.append(" CO.RUTA_ID, ");
|
||||
sqlSb.append(" BO.PRECIOBASE, ");
|
||||
sqlSb.append(" ROUND((BO.NUMKMVIAJE * COUNT(1) / ");
|
||||
sqlSb.append(" (SELECT SUM(NVL(TR.CANTKMREAL,0)) ");
|
||||
sqlSb.append(" FROM RUTA_COMBINACION RS, ");
|
||||
sqlSb.append(" TRAMO TR ");
|
||||
sqlSb.append(" WHERE RS.RUTA_ID = CO.RUTA_ID ");
|
||||
sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID ");
|
||||
sqlSb.append(" )), 2) EQUIVALENTE ");
|
||||
sqlSb.append(" FROM CORRIDA CO, ");
|
||||
sqlSb.append(" BOLETO BO ");
|
||||
sqlSb.append(" WHERE CO.CORRIDA_ID = BO.CORRIDA_ID ");
|
||||
sqlSb.append(" AND CO.FECCORRIDA = BO.FECCORRIDA ");
|
||||
sqlSb.append(" AND BO.ACTIVO = 1 ");
|
||||
sqlSb.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL ");
|
||||
sqlSb.append(" OR BO.MOTIVOCANCELACION_ID = 0) ");
|
||||
sqlSb.append(" GROUP BY CO.FECCORRIDA, ");
|
||||
sqlSb.append(" CO.RUTA_ID, ");
|
||||
sqlSb.append(" BO.PRECIOBASE, ");
|
||||
sqlSb.append(" BO.NUMKMVIAJE ");
|
||||
sqlSb.append(" ) PE ");
|
||||
sqlSb.append(" WHERE PE.FECCORRIDA = TAB1.FECCORRIDA ");
|
||||
sqlSb.append(" AND PE.RUTA_ID = TAB1.RUTA_ID ");
|
||||
sqlSb.append(" ) PASSAGEIROS_EQUIVALENTE, ");
|
||||
sqlSb.append(" (SELECT SUM(NVL(DA.CANTASIENTOS,0)) FROM DIAGRAMA_AUTOBUS DA ");
|
||||
sqlSb.append(" INNER JOIN ROL_OPERATIVO RO ON (DA.DIAGRAMAAUTOBUS_ID = RO.DIAGRAMAAUTOBUS_ID) ");
|
||||
sqlSb.append(" INNER JOIN CORRIDA CO ON (RO.ROLOPERATIVO_ID = CO.ROLOPERATIVO_ID) ");
|
||||
sqlSb.append(" INNER JOIN RUTA RU ON (RU.RUTA_ID = CO.RUTA_ID) ");
|
||||
sqlSb.append(" WHERE CO.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIAL, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') ");
|
||||
sqlSb.append(" AND RU.RUTA_ID = TAB1.RUTA_ID ");
|
||||
sqlSb.append(" AND DA.ACTIVO = 1 ");
|
||||
sqlSb.append(" AND RO.ACTIVO = 1 ");
|
||||
sqlSb.append(" AND CO.ACTIVO = 1 ");
|
||||
sqlSb.append(" AND RU.ACTIVO = 1) ASSENTOS ");
|
||||
sqlSb.append(" FROM ");
|
||||
sqlSb.append(" (SELECT RUTA_ID, ");
|
||||
sqlSb.append(" INDSENTIDOIDA, ");
|
||||
sqlSb.append(" NUMRUTA, ");
|
||||
sqlSb.append(" PREFIXO, ");
|
||||
sqlSb.append(" FECCORRIDA, ");
|
||||
sqlSb.append(" DESCRUTA, ");
|
||||
sqlSb.append(" INTERESTADUAL, ");
|
||||
sqlSb.append(" GRUPO_LINHA, ");
|
||||
sqlSb.append(" EXTENSAO_KM, ");
|
||||
sqlSb.append(" RECEITA_SEGURO, ");
|
||||
sqlSb.append(" RECEITA_BAGAGEM, ");
|
||||
sqlSb.append(" RECEITA_SEGURO_OUTROS, ");
|
||||
sqlSb.append(" RECEITA_PEDAGIO, ");
|
||||
sqlSb.append(" RECEITA_EMBARQUE, ");
|
||||
sqlSb.append(" SUM(PASSAGEIROS) AS PASSAGEIROS, ");
|
||||
sqlSb.append(" VIAGENS_EXTRA, ");
|
||||
sqlSb.append(" VIAGENS, ");
|
||||
sqlSb.append(" CVE_CLASE_SERVICIO, ");
|
||||
sqlSb.append(" DESC_CLASE_SERVICIO, ");
|
||||
sqlSb.append(" SUM(PRECIOPAGADO) AS RECEITA_TARIFA ");
|
||||
sqlSb.append(" FROM ");
|
||||
sqlSb.append(" (SELECT RT.RUTA_ID, ");
|
||||
sqlSb.append(" BL.BOLETO_ID, ");
|
||||
sqlSb.append(" SUM(BL.PRECIOPAGADO) AS preciototal, ");
|
||||
sqlSb.append(" BL.preciopagado AS PRECIOPAGADO, ");
|
||||
sqlSb.append(" RT.INDSENTIDOIDA, ");
|
||||
sqlSb.append(" RT.NUMRUTA, ");
|
||||
sqlSb.append(" RT.PREFIXO, ");
|
||||
sqlSb.append(" CR.FECCORRIDA, ");
|
||||
sqlSb.append(" RT.DESCRUTA, ");
|
||||
sqlSb.append(" CASE ");
|
||||
sqlSb.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID ");
|
||||
sqlSb.append(" THEN 'S' ");
|
||||
sqlSb.append(" ELSE 'N' ");
|
||||
sqlSb.append(" END INTERESTADUAL, ");
|
||||
sqlSb.append(" NVL(GR.DESCGRUPO, 'Não Definido') GRUPO_LINHA, ");
|
||||
sqlSb.append(" (SELECT SUM(NVL(RS.KMORIGINAL,0)) ");
|
||||
sqlSb.append(" FROM RUTA_SECUENCIA RS, ");
|
||||
sqlSb.append(" TRAMO TR ");
|
||||
sqlSb.append(" WHERE RS.RUTA_ID = RT.RUTA_ID ");
|
||||
sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID ");
|
||||
sqlSb.append(" AND RS.ACTIVO = 1 ");
|
||||
sqlSb.append(" ) EXTENSAO_KM, ");
|
||||
sqlSb.append(" NVL(SUM(NVL(BL.IMPORTESEGURO,0)), 0) RECEITA_SEGURO, ");
|
||||
sqlSb.append(" 0 RECEITA_BAGAGEM, ");
|
||||
sqlSb.append(" 0 RECEITA_SEGURO_OUTROS, ");
|
||||
sqlSb.append(" SUM(NVL(BL.IMPORTEPEDAGIO,0)) RECEITA_PEDAGIO, ");
|
||||
sqlSb.append(" SUM(NVL(BL.IMPORTETAXAEMBARQUE,0)) RECEITA_EMBARQUE, ");
|
||||
sqlSb.append(" COUNT(DISTINCT BOLETO_ID) PASSAGEIROS, ");
|
||||
sqlSb.append(" COUNT(DISTINCT ");
|
||||
sqlSb.append(" CASE ");
|
||||
sqlSb.append(" WHEN CR.TIPOSERVICIO_ID = 2 ");
|
||||
sqlSb.append(" THEN CR.FECCORRIDA ");
|
||||
sqlSb.append(" || CR.CORRIDA_ID ");
|
||||
sqlSb.append(" ELSE NULL ");
|
||||
sqlSb.append(" END) VIAGENS_EXTRA, ");
|
||||
sqlSb.append(" COUNT(DISTINCT ");
|
||||
sqlSb.append(" CASE ");
|
||||
sqlSb.append(" WHEN CR.TIPOSERVICIO_ID <> 2 ");
|
||||
sqlSb.append(" THEN CR.FECCORRIDA ");
|
||||
sqlSb.append(" || CR.CORRIDA_ID ");
|
||||
sqlSb.append(" ELSE NULL ");
|
||||
sqlSb.append(" END) VIAGENS, ");
|
||||
sqlSb.append(" NVL(CS.CVECLASE, ' ') CVE_CLASE_SERVICIO ,");
|
||||
sqlSb.append(" NVL(CS.DESCCLASE, ' ') DESC_CLASE_SERVICIO ");
|
||||
sqlSb.append(" FROM RUTA RT, ");
|
||||
sqlSb.append(" BOLETO BL, ");
|
||||
sqlSb.append(" CORRIDA CR, ");
|
||||
sqlSb.append(" TRAMO TR, ");
|
||||
sqlSb.append(" VIGENCIA_TARIFA VT, ");
|
||||
sqlSb.append(" GRUPO_RUTA GR, ");
|
||||
sqlSb.append(" PARADA PO, ");
|
||||
sqlSb.append(" PARADA PD, ");
|
||||
sqlSb.append(" CIUDAD CO, ");
|
||||
sqlSb.append(" CIUDAD CD, ");
|
||||
sqlSb.append(" CLASE_SERVICIO CS ");
|
||||
sqlSb.append(" WHERE RT.RUTA_ID = CR.RUTA_ID ");
|
||||
sqlSb.append(" AND CS.CLASESERVICIO_ID = RT.CLASESERVICIO_ID ");
|
||||
sqlSb.append(" AND CR.FECCORRIDA = BL.FECCORRIDA ");
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("SELECT ");
|
||||
sql.append(" subnivel2.*, ");
|
||||
sql.append(" ( nvl(subnivel2.passageiros, 0) / decode(nvl(subnivel2.viagens_total, 0), 0, 1, nvl(subnivel2.viagens_total, 0)) ) AS passageiros_mpa, ");
|
||||
sql.append(" ( round(nvl(subnivel2.passageiros_equivalente, 0), 2) / decode(nvl(subnivel2.viagens_total, 0), 0, 1, nvl(subnivel2.viagens_total, ");
|
||||
sql.append(" 0)) ) AS passageiros_mpe, ");
|
||||
sql.append(" ( nvl(subnivel2.receita_total, 0) / decode(nvl(subnivel2.km_rodado, 0), 0, 1, nvl(subnivel2.km_rodado, 0)) ) receita_km, ");
|
||||
sql.append(" ( nvl(subnivel2.receita_total, 0) / decode(nvl(subnivel2.viagens_total, 0), 0, 1, nvl(subnivel2.viagens_total, 0)) ) AS receita_viagem, ");
|
||||
sql.append(" ( nvl(subnivel2.assentos, 0) * nvl(subnivel2.km_rodado, 0) ) AS pax_ofertado ");
|
||||
sql.append("FROM");
|
||||
sql.append(" ( ");
|
||||
sql.append(" SELECT");
|
||||
sql.append(" subnivel3.*,");
|
||||
sql.append(" ( round(nvl(subnivel3.passageiros_equivalente, 0), 2) * nvl(subnivel3.extensao_km, 0) ) AS pax_km, ");
|
||||
sql.append(" ( nvl(subnivel3.viagens, 0) + nvl(subnivel3.viagens_extra, 0) ) viagens_total,");
|
||||
sql.append(" ( ( nvl(subnivel3.viagens, 0) + nvl(subnivel3.viagens_extra, 0) ) * nvl(subnivel3.extensao_km, 0) ) km_rodado ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" SELECT");
|
||||
sql.append(" subnivel4.indsentidoida, ");
|
||||
sql.append(" subnivel4.prefixo, ");
|
||||
sql.append(" subnivel4.descruta,");
|
||||
sql.append(" subnivel4.ruta_id, ");
|
||||
sql.append(" subnivel4.numruta, ");
|
||||
sql.append(" subnivel4.interestadual,");
|
||||
sql.append(" subnivel4.grupo_linha, ");
|
||||
sql.append(" subnivel4.extensao_km,");
|
||||
sql.append(" subnivel4.cve_clase_servicio, ");
|
||||
sql.append(" subnivel4.desc_clase_servicio,");
|
||||
sql.append(" SUM(nvl(subnivel4.receita_seguro, 0)) AS receita_seguro, ");
|
||||
sql.append(" SUM(nvl(subnivel4.receita_bagagem, 0)) AS receita_bagagem, ");
|
||||
sql.append(" SUM(nvl(subnivel4.receita_seguro_outros, 0)) AS receita_seguro_outros, ");
|
||||
sql.append(" SUM(nvl(subnivel4.receita_tarifa, 0)) AS receita_tarifa, ");
|
||||
sql.append(" SUM(nvl(subnivel4.receita_pedagio, 0)) AS receita_pedagio, ");
|
||||
sql.append(" SUM(nvl(subnivel4.receita_embarque, 0)) AS receita_embarque, ");
|
||||
sql.append(" SUM(nvl(subnivel4.passageiros, 0)) AS passageiros,");
|
||||
sql.append(" SUM(nvl(subnivel4.receita_total, 0)) AS receita_total,");
|
||||
sql.append(" SUM(nvl(subnivel4.passageiros_equivalente, 0)) AS passageiros_equivalente, ");
|
||||
sql.append(" subnivel4.assentos AS assentos, ");
|
||||
sql.append(" COUNT(DISTINCT ");
|
||||
sql.append(" CASE ");
|
||||
sql.append(" WHEN subnivel4.tiposervicio_id = 2 THEN ");
|
||||
sql.append(" subnivel4.feccorrida || subnivel4.corrida_id ");
|
||||
sql.append(" ELSE ");
|
||||
sql.append(" NULL ");
|
||||
sql.append(" END ");
|
||||
sql.append(" ) viagens_extra, ");
|
||||
sql.append(" COUNT(DISTINCT ");
|
||||
sql.append(" CASE ");
|
||||
sql.append(" WHEN subnivel4.tiposervicio_id <> 2 THEN ");
|
||||
sql.append(" subnivel4.feccorrida || subnivel4.corrida_id ");
|
||||
sql.append(" ELSE ");
|
||||
sql.append(" NULL ");
|
||||
sql.append(" END ");
|
||||
sql.append(" ) viagens ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" subnivel5.*, ");
|
||||
sql.append(" ( subnivel5.receita_tarifa + receita_seguro + receita_embarque + receita_pedagio ) receita_total, ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" SUM(nvl(pe.equivalente, 0)) ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" co.feccorrida, ");
|
||||
sql.append(" co.ruta_id, ");
|
||||
sql.append(" bo.preciobase, ");
|
||||
sql.append(" round((bo.numkmviaje * COUNT(1) /( ");
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" SUM(nvl(tr.cantkmreal, 0)) ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" ruta_combinacion rs, ");
|
||||
sql.append(" tramo tr ");
|
||||
sql.append(" WHERE ");
|
||||
sql.append(" rs.ruta_id = co.ruta_id ");
|
||||
sql.append(" AND rs.tramo_id = tr.tramo_id ");
|
||||
sql.append(" )), ");
|
||||
sql.append(" 2) equivalente ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" corrida co, ");
|
||||
sql.append(" boleto bo ");
|
||||
sql.append(" WHERE ");
|
||||
sql.append(" co.corrida_id = bo.corrida_id ");
|
||||
sql.append(" AND co.feccorrida = bo.feccorrida ");
|
||||
sql.append(" AND bo.activo = 1 ");
|
||||
sql.append(" AND ( bo.motivocancelacion_id IS NULL ");
|
||||
sql.append(" OR bo.motivocancelacion_id = 0 ) ");
|
||||
sql.append(" GROUP BY ");
|
||||
sql.append(" co.feccorrida, ");
|
||||
sql.append(" co.ruta_id, ");
|
||||
sql.append(" bo.preciobase, ");
|
||||
sql.append(" bo.numkmviaje ");
|
||||
sql.append(" ) pe ");
|
||||
sql.append(" WHERE ");
|
||||
sql.append(" pe.feccorrida = subnivel5.feccorrida ");
|
||||
sql.append(" AND pe.ruta_id = subnivel5.ruta_id ");
|
||||
sql.append(" ) passageiros_equivalente, ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" SUM(nvl(da.cantasientos, 0)) ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" diagrama_autobus da ");
|
||||
sql.append(" INNER JOIN rol_operativo ro ON ( da.diagramaautobus_id = ro.diagramaautobus_id ) ");
|
||||
sql.append(" INNER JOIN corrida co ON ( ro.roloperativo_id = co.roloperativo_id ) ");
|
||||
sql.append(" INNER JOIN ruta ru ON ( ru.ruta_id = co.ruta_id ) ");
|
||||
sql.append(" WHERE ");
|
||||
sql.append(" co.feccorrida BETWEEN TO_DATE('01/03/2021', 'DD/MM/YY hh24:mi:ss') AND TO_DATE('10/03/2021', 'DD/MM/YY hh24:mi:ss') ");
|
||||
sql.append(" AND ru.ruta_id = subnivel5.ruta_id ");
|
||||
sql.append(" AND da.activo = 1 ");
|
||||
sql.append(" AND ro.activo = 1 ");
|
||||
sql.append(" AND co.activo = 1 ");
|
||||
sql.append(" AND ru.activo = 1 ");
|
||||
sql.append(" ) assentos ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" ruta_id, ");
|
||||
sql.append(" indsentidoida, ");
|
||||
sql.append(" numruta, ");
|
||||
sql.append(" prefixo, ");
|
||||
sql.append(" feccorrida, ");
|
||||
sql.append(" corrida_id, ");
|
||||
sql.append(" tiposervicio_id, ");
|
||||
sql.append(" descruta, ");
|
||||
sql.append(" interestadual, ");
|
||||
sql.append(" grupo_linha, ");
|
||||
sql.append(" extensao_km, ");
|
||||
sql.append(" receita_seguro, ");
|
||||
sql.append(" receita_bagagem, ");
|
||||
sql.append(" receita_seguro_outros, ");
|
||||
sql.append(" receita_pedagio, ");
|
||||
sql.append(" receita_embarque, ");
|
||||
sql.append(" SUM(passageiros) AS passageiros, ");
|
||||
sql.append(" cve_clase_servicio, ");
|
||||
sql.append(" desc_clase_servicio, ");
|
||||
sql.append(" SUM(preciopagado) AS receita_tarifa ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" rt.ruta_id, ");
|
||||
sql.append(" bl.boleto_id, ");
|
||||
sql.append(" SUM(bl.preciopagado) AS preciototal, ");
|
||||
sql.append(" bl.preciopagado AS preciopagado, ");
|
||||
sql.append(" rt.indsentidoida, ");
|
||||
sql.append(" rt.numruta, ");
|
||||
sql.append(" rt.prefixo, ");
|
||||
sql.append(" cr.feccorrida, ");
|
||||
sql.append(" cr.corrida_id, ");
|
||||
sql.append(" cr.tiposervicio_id, ");
|
||||
sql.append(" rt.descruta, ");
|
||||
sql.append(" CASE ");
|
||||
sql.append(" WHEN co.estado_id <> cd.estado_id THEN ");
|
||||
sql.append(" 'S' ");
|
||||
sql.append(" ELSE ");
|
||||
sql.append(" 'N' ");
|
||||
sql.append(" END interestadual, ");
|
||||
sql.append(" nvl(gr.descgrupo, 'Não Definido') grupo_linha, ");
|
||||
sql.append(" ( ");
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" SUM(nvl(rs.kmoriginal, 0)) ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" ruta_secuencia rs, ");
|
||||
sql.append(" tramo tr ");
|
||||
sql.append(" WHERE ");
|
||||
sql.append(" rs.ruta_id = rt.ruta_id ");
|
||||
sql.append(" AND rs.tramo_id = tr.tramo_id ");
|
||||
sql.append(" AND rs.activo = 1 ");
|
||||
sql.append(" ) extensao_km, ");
|
||||
sql.append(" nvl(SUM(nvl(bl.importeseguro, 0)), 0) receita_seguro, ");
|
||||
sql.append(" 0 receita_bagagem, ");
|
||||
sql.append(" 0 receita_seguro_outros, ");
|
||||
sql.append(" SUM(nvl(bl.importepedagio, 0)) receita_pedagio, ");
|
||||
sql.append(" SUM(nvl(bl.importetaxaembarque, 0)) receita_embarque, ");
|
||||
sql.append(" COUNT(DISTINCT boleto_id) passageiros, ");
|
||||
sql.append(" nvl(cs.cveclase, ' ') cve_clase_servicio, ");
|
||||
sql.append(" nvl(cs.descclase, ' ') desc_clase_servicio ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" ruta rt, ");
|
||||
sql.append(" boleto bl, ");
|
||||
sql.append(" corrida cr, ");
|
||||
sql.append(" tramo tr, ");
|
||||
sql.append(" vigencia_tarifa vt, ");
|
||||
sql.append(" grupo_ruta gr, ");
|
||||
sql.append(" parada po, ");
|
||||
sql.append(" parada pd, ");
|
||||
sql.append(" ciudad co, ");
|
||||
sql.append(" ciudad cd, ");
|
||||
sql.append(" clase_servicio cs ");
|
||||
sql.append(" WHERE ");
|
||||
sql.append(" rt.ruta_id = cr.ruta_id ");
|
||||
sql.append(" AND cs.claseservicio_id = rt.claseservicio_id ");
|
||||
sql.append(" AND cr.feccorrida = bl.feccorrida ");
|
||||
if (rutaId != null) {
|
||||
sqlSb.append(" AND CR.RUTA_ID = NVL(:RUTA_ID, CR.RUTA_ID) ");
|
||||
sql.append(" AND cr.ruta_id = NVL(:RUTA_ID, cr.ruta_id) ");
|
||||
}
|
||||
if (grupoRutaId != null) {
|
||||
sqlSb.append(" AND DECODE(:GRUPORUTA_ID, NULL, 1, RT.GRUPORUTA_ID) = DECODE(:GRUPORUTA_ID, NULL, 1, :GRUPORUTA_ID) ");
|
||||
sql.append(" AND DECODE(:GRUPORUTA_ID, NULL, 1, RT.GRUPORUTA_ID) = DECODE(:GRUPORUTA_ID, NULL, 1, :GRUPORUTA_ID) ");
|
||||
}
|
||||
sqlSb.append(" AND CR.CORRIDA_ID = BL.CORRIDA_ID ");
|
||||
sqlSb.append(" AND CR.EMPRESACORRIDA_ID = :EMPRESA_ID ");
|
||||
sqlSb.append(" AND CR.ORIGEN_ID = PO.PARADA_ID ");
|
||||
sqlSb.append(" AND CR.DESTINO_ID = PD.PARADA_ID ");
|
||||
sqlSb.append(" AND PO.CIUDAD_ID = CO.CIUDAD_ID ");
|
||||
sqlSb.append(" AND PD.CIUDAD_ID = CD.CIUDAD_ID ");
|
||||
sqlSb.append(" AND RT.GRUPORUTA_ID = GR.GRUPORUTA_ID(+) ");
|
||||
sqlSb.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID ");
|
||||
sqlSb.append(" AND TR.DESTINO_ID = CR.DESTINO_ID ");
|
||||
sqlSb.append(" AND BL.MOTIVOCANCELACION_ID IS NULL ");
|
||||
sqlSb.append(" AND BL.INDSTATUSOPERACION = 'F' ");
|
||||
sqlSb.append(" AND VT.ACTIVO = 1 ");
|
||||
sqlSb.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ");
|
||||
sqlSb.append(" AND CR.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIAL, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') ");
|
||||
sqlSb.append(" AND CR.ACTIVO = 1 ");
|
||||
sqlSb.append(" GROUP BY RT.RUTA_ID, ");
|
||||
sqlSb.append(" RT.NUMRUTA, ");
|
||||
sqlSb.append(" RT.PREFIXO, ");
|
||||
sqlSb.append(" CR.FECCORRIDA, ");
|
||||
sqlSb.append(" RT.DESCRUTA, ");
|
||||
sqlSb.append(" GR.DESCGRUPO, ");
|
||||
sqlSb.append(" CO.ESTADO_ID, ");
|
||||
sqlSb.append(" CD.ESTADO_ID, ");
|
||||
sqlSb.append(" RT.INDSENTIDOIDA, ");
|
||||
sqlSb.append(" CS.CVECLASE, ");
|
||||
sqlSb.append(" CS.DESCCLASE, ");
|
||||
sqlSb.append(" BL.BOLETO_ID, ");
|
||||
sqlSb.append(" BL.preciopagado ");
|
||||
sqlSb.append(" ) DADOS ");
|
||||
sqlSb.append(" GROUP BY RUTA_ID, ");
|
||||
sqlSb.append(" INDSENTIDOIDA, ");
|
||||
sqlSb.append(" NUMRUTA, ");
|
||||
sqlSb.append(" PREFIXO, ");
|
||||
sqlSb.append(" FECCORRIDA, ");
|
||||
sqlSb.append(" DESCRUTA, ");
|
||||
sqlSb.append(" INTERESTADUAL, ");
|
||||
sqlSb.append(" GRUPO_LINHA, ");
|
||||
sqlSb.append(" EXTENSAO_KM, ");
|
||||
sqlSb.append(" RECEITA_SEGURO, ");
|
||||
sqlSb.append(" RECEITA_BAGAGEM, ");
|
||||
sqlSb.append(" RECEITA_SEGURO_OUTROS, ");
|
||||
sqlSb.append(" RECEITA_PEDAGIO, ");
|
||||
sqlSb.append(" RECEITA_EMBARQUE, ");
|
||||
sqlSb.append(" PASSAGEIROS, ");
|
||||
sqlSb.append(" VIAGENS_EXTRA, ");
|
||||
sqlSb.append(" VIAGENS, ");
|
||||
sqlSb.append(" CVE_CLASE_SERVICIO, ");
|
||||
sqlSb.append(" DESC_CLASE_SERVICIO ");
|
||||
sqlSb.append(" ) TAB1 ");
|
||||
sqlSb.append(" )TAB ");
|
||||
//Obs.: Não deve será alterado ordenação pois impactará na lógica de agrupamento por ida/volta
|
||||
sqlSb.append(" GROUP BY ");
|
||||
sqlSb.append(" TAB.PREFIXO, ");
|
||||
sqlSb.append(" TAB.DESCRUTA, ");
|
||||
sqlSb.append(" TAB.RUTA_ID, ");
|
||||
sqlSb.append(" TAB.NUMRUTA, ");
|
||||
sqlSb.append(" TAB.INTERESTADUAL, ");
|
||||
sqlSb.append(" TAB.GRUPO_LINHA, ");
|
||||
sqlSb.append(" TAB.EXTENSAO_KM, ");
|
||||
sqlSb.append(" TAB.CVE_CLASE_SERVICIO, ");
|
||||
sqlSb.append(" TAB.DESC_CLASE_SERVICIO, ");
|
||||
sqlSb.append(" TAB.INDSENTIDOIDA, ");
|
||||
sqlSb.append(" TAB.ASSENTOS ");
|
||||
sqlSb.append(" ) SUB ");
|
||||
sqlSb.append(" WHERE (DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0) ");
|
||||
sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 ");
|
||||
sqlSb.append(" AND DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0)) != 0 ");
|
||||
sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 ");
|
||||
sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 ");
|
||||
sqlSb.append(" ORDER BY SUB.PREFIXO, ");
|
||||
sqlSb.append(" SUB.INDSENTIDOIDA DESC ");
|
||||
return sqlSb.toString();
|
||||
|
||||
sql.append(" AND cr.corrida_id = bl.corrida_id ");
|
||||
sql.append(" AND cr.empresacorrida_id = :EMPRESA_ID ");
|
||||
sql.append(" AND cr.origen_id = po.parada_id ");
|
||||
sql.append(" AND cr.destino_id = pd.parada_id ");
|
||||
sql.append(" AND po.ciudad_id = co.ciudad_id ");
|
||||
sql.append(" AND pd.ciudad_id = cd.ciudad_id ");
|
||||
sql.append(" AND rt.gruporuta_id = gr.gruporuta_id (+) ");
|
||||
sql.append(" AND tr.origen_id = cr.origen_id ");
|
||||
sql.append(" AND tr.destino_id = cr.destino_id ");
|
||||
sql.append(" AND bl.motivocancelacion_id IS NULL ");
|
||||
sql.append(" AND bl.indstatusoperacion = 'F' ");
|
||||
sql.append(" AND vt.activo = 1 ");
|
||||
sql.append(" AND cr.feccorrida BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia ");
|
||||
sql.append(" AND cr.feccorrida BETWEEN TO_DATE(:DATA_INICIAL, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, ");
|
||||
sql.append(" 'DD/MM/YY hh24:mi:ss') ");
|
||||
sql.append(" AND cr.activo = 1 ");
|
||||
sql.append(" GROUP BY ");
|
||||
sql.append(" rt.ruta_id, ");
|
||||
sql.append(" rt.numruta, ");
|
||||
sql.append(" rt.prefixo, ");
|
||||
sql.append(" cr.feccorrida, ");
|
||||
sql.append(" cr.corrida_id, ");
|
||||
sql.append(" cr.tiposervicio_id, ");
|
||||
sql.append(" rt.descruta, ");
|
||||
sql.append(" gr.descgrupo, ");
|
||||
sql.append(" co.estado_id, ");
|
||||
sql.append(" cd.estado_id, ");
|
||||
sql.append(" rt.indsentidoida, ");
|
||||
sql.append(" cs.cveclase, ");
|
||||
sql.append(" cs.descclase, ");
|
||||
sql.append(" bl.boleto_id, ");
|
||||
sql.append(" bl.preciopagado ");
|
||||
sql.append(" ) sunnivel6 ");
|
||||
sql.append(" GROUP BY ");
|
||||
sql.append(" ruta_id, ");
|
||||
sql.append(" indsentidoida, ");
|
||||
sql.append(" numruta, ");
|
||||
sql.append(" prefixo, ");
|
||||
sql.append(" feccorrida, ");
|
||||
sql.append(" corrida_id, ");
|
||||
sql.append(" tiposervicio_id, ");
|
||||
sql.append(" descruta, ");
|
||||
sql.append(" interestadual, ");
|
||||
sql.append(" grupo_linha, ");
|
||||
sql.append(" extensao_km, ");
|
||||
sql.append(" receita_seguro, ");
|
||||
sql.append(" receita_bagagem, ");
|
||||
sql.append(" receita_seguro_outros, ");
|
||||
sql.append(" receita_pedagio, ");
|
||||
sql.append(" receita_embarque, ");
|
||||
sql.append(" passageiros, ");
|
||||
sql.append(" cve_clase_servicio, ");
|
||||
sql.append(" desc_clase_servicio ");
|
||||
sql.append(" ) subnivel5 ");
|
||||
sql.append(" ) subnivel4 ");
|
||||
sql.append(" GROUP BY ");
|
||||
sql.append(" subnivel4.prefixo, ");
|
||||
sql.append(" subnivel4.descruta, ");
|
||||
sql.append(" subnivel4.ruta_id, ");
|
||||
sql.append(" subnivel4.numruta, ");
|
||||
sql.append(" subnivel4.interestadual, ");
|
||||
sql.append(" subnivel4.grupo_linha, ");
|
||||
sql.append(" subnivel4.extensao_km, ");
|
||||
sql.append(" subnivel4.cve_clase_servicio, ");
|
||||
sql.append(" subnivel4.desc_clase_servicio, ");
|
||||
sql.append(" subnivel4.indsentidoida, ");
|
||||
sql.append(" subnivel4.assentos ");
|
||||
sql.append(" ) subnivel3 ");
|
||||
sql.append(" ORDER BY ");
|
||||
sql.append(" subnivel3.prefixo, ");
|
||||
sql.append(" subnivel3.indsentidoida DESC ");
|
||||
sql.append(" ) subnivel2 ");
|
||||
return sql.toString();
|
||||
|
||||
}
|
||||
|
||||
|
@ -418,8 +459,11 @@ public class RelatorioResumoLinhasAnaliticoSimplificadoSumarizado extends Relato
|
|||
relatorioBean.setRECEITA_BAGAGEM(relatorioBean.getRECEITA_BAGAGEM().add(rset.getBigDecimal("RECEITA_BAGAGEM")));
|
||||
relatorioBean.setRECEITA_SEGURO_OUTROS(relatorioBean.getRECEITA_SEGURO_OUTROS().add(rset.getBigDecimal("RECEITA_SEGURO_OUTROS")));
|
||||
relatorioBean.setRECEITA_TARIFA(relatorioBean.getRECEITA_TARIFA().add(rset.getBigDecimal("RECEITA_TARIFA")));
|
||||
relatorioBean.setRECEITA_TARIFA_SEGURO(rset.getBigDecimal("RECEITA_SEGURO") !=null ?
|
||||
relatorioBean.getRECEITA_TARIFA_SEGURO().add(rset.getBigDecimal("RECEITA_SEGURO")) : rset.getBigDecimal("RECEITA_TARIFA"));
|
||||
if(relatorioBean.getRECEITA_TARIFA_SEGURO() !=null) {
|
||||
relatorioBean.setRECEITA_TARIFA_SEGURO(relatorioBean.getRECEITA_TARIFA_SEGURO().add(rset.getBigDecimal("RECEITA_TARIFA").add(rset.getBigDecimal("RECEITA_SEGURO"))));
|
||||
}else {
|
||||
relatorioBean.setRECEITA_TARIFA_SEGURO(relatorioBean.getRECEITA_TARIFA_SEGURO().add(rset.getBigDecimal("RECEITA_TARIFA")));
|
||||
}
|
||||
relatorioBean.setRECEITA_PEDAGIO(relatorioBean.getRECEITA_PEDAGIO().add(rset.getBigDecimal("RECEITA_PEDAGIO")));
|
||||
relatorioBean.setRECEITA_EMBARQUE(relatorioBean.getRECEITA_EMBARQUE().add(rset.getBigDecimal("RECEITA_EMBARQUE")));
|
||||
relatorioBean.setPASSAGEIROS(relatorioBean.getPASSAGEIROS().add(rset.getBigDecimal("PASSAGEIROS")));
|
||||
|
|
Loading…
Reference in New Issue