diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java index 0fe1068dc..b148eec45 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java @@ -240,365 +240,273 @@ public class RelatorioOrigemDestino extends Relatorio { Boolean bilhetesGratuitos, Boolean trechosSemMovimento) { StringBuilder sql = new StringBuilder(); -// sql.append(" SELECT "); -// sql.append(" resultado.*, "); -// sql.append(" ( "); -// sql.append(" SELECT COUNT(*) "); -// sql.append(" FROM CORRIDA CO "); -// sql.append(" WHERE CO.CORRIDA_ID=RESULTADO.CORRIDA_ID "); -// sql.append(" AND CO.FECCORRIDA BETWEEN to_date('").append(dataDe).append("','dd/mm/yyyy HH24:mi:ss') AND to_date('").append(dataAte).append("','dd/mm/yyyy HH24:mi:ss') "); -// sql.append(" ) VIAGENS, "); -// sql.append(" SUM(TR.CANTKMREAL) KM_CORRIDA, "); -// sql.append(" ( "); -// sql.append(" SELECT MAX(DA.CANTASIENTOS) "); -// sql.append(" FROM CORRIDA CO "); -// sql.append(" INNER JOIN ROL_OPERATIVO ROL ON ROL.ROLOPERATIVO_ID=CO.ROLOPERATIVO_ID "); -// sql.append(" INNER JOIN DIAGRAMA_AUTOBUS DA ON DA.DIAGRAMAAUTOBUS_ID = ROL.DIAGRAMAAUTOBUS_ID "); -// sql.append(" WHERE CO.CORRIDA_ID=RESULTADO.CORRIDA_ID "); -// sql.append(" AND CO.FECCORRIDA BETWEEN to_date('").append(dataDe).append("','dd/mm/yyyy HH24:mi:ss') AND to_date('").append(dataAte).append("','dd/mm/yyyy HH24:mi:ss') "); -// sql.append(" GROUP BY CO.CORRIDA_ID "); -// sql.append(" ) DISPONIBILIDADE, "); -// sql.append(" ( SELECT COUNT(*) "); -// sql.append(" FROM BOLETO ca "); -// sql.append(" INNER JOIN CORRIDA CO ON (CO.CORRIDA_ID = CA.CORRIDA_ID AND CO.FECCORRIDA = CA.FECCORRIDA) "); -// sql.append(" WHERE CA.ACTIVO = 1 "); -// sql.append(" AND CO.EMPRESACORRIDA_ID IN (").append(empresaIds).append(") "); -// sql.append(" AND CA.CORRIDA_ID = RESULTADO.CORRIDA_ID "); -// sql.append(" AND CA.FECCORRIDA BETWEEN to_date('").append(dataDe).append("','dd/mm/yyyy HH24:mi:ss') AND to_date('").append(dataAte).append("','dd/mm/yyyy HH24:mi:ss') "); -// sql.append(" AND CA.MOTIVOCANCELACION_ID IS NULL "); -// sql.append(" AND CA.PRECIOBASE IS NOT NULL "); -// if (bilhetesGratuitos) { -// sql.append(" AND CA.PRECIOBASE >= 0 "); -// } else { -// sql.append(" AND CA.PRECIOBASE > 0 "); -// } -// sql.append(" ) ABSOLUTO_TOTAL_CORRIDA, "); -// sql.append(" (RESULTADO.KM_TRAMO/SUM(TR.CANTKMREAL))*"); -// sql.append(" ( SELECT COUNT(*) "); -// sql.append(" FROM BOLETO ca "); -// sql.append(" INNER JOIN CORRIDA CO ON (CO.CORRIDA_ID = CA.CORRIDA_ID AND CO.FECCORRIDA = CA.FECCORRIDA) "); -// sql.append(" WHERE CA.ACTIVO = 1 "); -// sql.append(" AND CO.EMPRESACORRIDA_ID IN (").append(empresaIds).append(") "); -// sql.append(" AND CA.CORRIDA_ID = RESULTADO.CORRIDA_ID "); -// sql.append(" AND CA.FECCORRIDA BETWEEN to_date('").append(dataDe).append("','dd/mm/yyyy HH24:mi:ss') AND to_date('").append(dataAte).append("','dd/mm/yyyy HH24:mi:ss') "); -// sql.append(" AND CA.MOTIVOCANCELACION_ID IS NULL "); -// sql.append(" AND CA.PRECIOBASE IS NOT NULL "); -// if (bilhetesGratuitos) { -// sql.append(" AND CA.PRECIOBASE >= 0 "); -// } else { -// sql.append(" AND CA.PRECIOBASE > 0 "); -// } -// sql.append(" ) EQUIVALENTE_TOTAL_CORRIDA "); -// -// sql.append(" FROM "); -// sql.append(" ( "); -// sql.append(" SELECT "); -// sql.append(" EM.NOMBEMPRESA, "); -// sql.append(" CO.CORRIDA_ID CORRIDA_ID, "); -// sql.append(" MAX(CO.FECHORSALIDA) FECHORSALIDA, "); -// sql.append(" ORI.CVEPARADA ORIGEM, "); -// sql.append(" DES.CVEPARADA DESTINO, "); -// sql.append(" CA.NUMKMVIAJE KM_TRAMO, "); -// sql.append(" RU.RUTA_ID, "); -// sql.append(" RU.DESCRUTA, "); -// sql.append(" RU.INDSENTIDOIDA, "); -// sql.append(" COUNT(*) ABSOLUTOS, "); -// sql.append(" SUM(CA.PRECIOPAGADO) RECEITA, "); -// sql.append(" CA.PRECIOBASE "); -// sql.append(" FROM BOLETO CA "); -// sql.append(" INNER JOIN PARADA ORI ON ORI.PARADA_ID = CA.ORIGEN_ID "); -// sql.append(" INNER JOIN PARADA DES ON DES.PARADA_ID = CA.DESTINO_ID "); -// sql.append(" INNER JOIN CORRIDA CO ON (CO.CORRIDA_ID = CA.CORRIDA_ID AND CO.FECCORRIDA = CA.FECCORRIDA) "); -// sql.append(" INNER JOIN EMPRESA EM ON EM.EMPRESA_ID = CO.EMPRESACORRIDA_ID "); -// sql.append(" INNER JOIN RUTA RU ON RU.RUTA_ID = CO.RUTA_ID "); -// sql.append(" WHERE CA.ACTIVO = 1 "); -// sql.append(" AND RU.ACTIVO = 1 "); -// sql.append(" AND EM.ACTIVO = 1 "); -// sql.append(" AND ORI.ACTIVO = 1 "); -// sql.append(" AND DES.ACTIVO = 1 "); -// sql.append(" AND CO.EMPRESACORRIDA_ID IN (").append(empresaIds).append(") "); -// if (!corridasIds.equals("Todas")) { -// sql.append(" AND CA.CORRIDA_ID IN (").append(corridasIds).append(") "); -// } -// sql.append(" AND CA.FECCORRIDA BETWEEN to_date('").append(dataDe).append("','dd/mm/yyyy HH24:mi:ss') AND to_date('").append(dataAte).append("','dd/mm/yyyy HH24:mi:ss') "); -// sql.append(" AND CA.MOTIVOCANCELACION_ID IS NULL "); -// sql.append(" AND CA.PRECIOBASE IS NOT NULL "); -// if (bilhetesGratuitos) { -// sql.append(" AND CA.PRECIOBASE >= 0 "); -// } else { -// sql.append(" AND CA.PRECIOBASE > 0 "); -// } -// sql.append(" GROUP BY RU.RUTA_ID, EM.NOMBEMPRESA, ORI.CVEPARADA, DES.CVEPARADA, CA.NUMKMVIAJE, CO.CORRIDA_ID, RU.DESCRUTA, RU.INDSENTIDOIDA, CA.PRECIOBASE "); -// sql.append(" ) resultado "); -// sql.append(" INNER JOIN RUTA_SECUENCIA RS ON RS.RUTA_ID = resultado.RUTA_ID "); -// sql.append(" INNER JOIN TRAMO TR ON TR.TRAMO_ID = RS.TRAMO_ID "); -// sql.append(" WHERE RS.ACTIVO = 1 "); -// sql.append(" AND TR.ACTIVO = 1 "); -// sql.append(" GROUP BY resultado.NOMBEMPRESA, resultado.CORRIDA_ID, resultado.FECHORSALIDA, resultado.ORIGEM, resultado.DESTINO, resultado.KM_TRAMO, resultado.RUTA_ID, resultado.DESCRUTA, resultado.INDSENTIDOIDA, resultado.ABSOLUTOS, resultado.RECEITA, resultado.PRECIOBASE "); -// sql.append(" ORDER BY resultado.CORRIDA_ID "); + // sql.append(" SELECT "); + // sql.append(" resultado.*, "); + // sql.append(" ( "); + // sql.append(" SELECT COUNT(*) "); + // sql.append(" FROM CORRIDA CO "); + // sql.append(" WHERE CO.CORRIDA_ID=RESULTADO.CORRIDA_ID "); + // sql.append(" AND CO.FECCORRIDA BETWEEN to_date('").append(dataDe).append("','dd/mm/yyyy HH24:mi:ss') AND to_date('").append(dataAte).append("','dd/mm/yyyy HH24:mi:ss') "); + // sql.append(" ) VIAGENS, "); + // sql.append(" SUM(TR.CANTKMREAL) KM_CORRIDA, "); + // sql.append(" ( "); + // sql.append(" SELECT MAX(DA.CANTASIENTOS) "); + // sql.append(" FROM CORRIDA CO "); + // sql.append(" INNER JOIN ROL_OPERATIVO ROL ON ROL.ROLOPERATIVO_ID=CO.ROLOPERATIVO_ID "); + // sql.append(" INNER JOIN DIAGRAMA_AUTOBUS DA ON DA.DIAGRAMAAUTOBUS_ID = ROL.DIAGRAMAAUTOBUS_ID "); + // sql.append(" WHERE CO.CORRIDA_ID=RESULTADO.CORRIDA_ID "); + // sql.append(" AND CO.FECCORRIDA BETWEEN to_date('").append(dataDe).append("','dd/mm/yyyy HH24:mi:ss') AND to_date('").append(dataAte).append("','dd/mm/yyyy HH24:mi:ss') "); + // sql.append(" GROUP BY CO.CORRIDA_ID "); + // sql.append(" ) DISPONIBILIDADE, "); + // sql.append(" ( SELECT COUNT(*) "); + // sql.append(" FROM BOLETO ca "); + // sql.append(" INNER JOIN CORRIDA CO ON (CO.CORRIDA_ID = CA.CORRIDA_ID AND CO.FECCORRIDA = CA.FECCORRIDA) "); + // sql.append(" WHERE CA.ACTIVO = 1 "); + // sql.append(" AND CO.EMPRESACORRIDA_ID IN (").append(empresaIds).append(") "); + // sql.append(" AND CA.CORRIDA_ID = RESULTADO.CORRIDA_ID "); + // sql.append(" AND CA.FECCORRIDA BETWEEN to_date('").append(dataDe).append("','dd/mm/yyyy HH24:mi:ss') AND to_date('").append(dataAte).append("','dd/mm/yyyy HH24:mi:ss') "); + // sql.append(" AND CA.MOTIVOCANCELACION_ID IS NULL "); + // sql.append(" AND CA.PRECIOBASE IS NOT NULL "); + // if (bilhetesGratuitos) { + // sql.append(" AND CA.PRECIOBASE >= 0 "); + // } else { + // sql.append(" AND CA.PRECIOBASE > 0 "); + // } + // sql.append(" ) ABSOLUTO_TOTAL_CORRIDA, "); + // sql.append(" (RESULTADO.KM_TRAMO/SUM(TR.CANTKMREAL))*"); + // sql.append(" ( SELECT COUNT(*) "); + // sql.append(" FROM BOLETO ca "); + // sql.append(" INNER JOIN CORRIDA CO ON (CO.CORRIDA_ID = CA.CORRIDA_ID AND CO.FECCORRIDA = CA.FECCORRIDA) "); + // sql.append(" WHERE CA.ACTIVO = 1 "); + // sql.append(" AND CO.EMPRESACORRIDA_ID IN (").append(empresaIds).append(") "); + // sql.append(" AND CA.CORRIDA_ID = RESULTADO.CORRIDA_ID "); + // sql.append(" AND CA.FECCORRIDA BETWEEN to_date('").append(dataDe).append("','dd/mm/yyyy HH24:mi:ss') AND to_date('").append(dataAte).append("','dd/mm/yyyy HH24:mi:ss') "); + // sql.append(" AND CA.MOTIVOCANCELACION_ID IS NULL "); + // sql.append(" AND CA.PRECIOBASE IS NOT NULL "); + // if (bilhetesGratuitos) { + // sql.append(" AND CA.PRECIOBASE >= 0 "); + // } else { + // sql.append(" AND CA.PRECIOBASE > 0 "); + // } + // sql.append(" ) EQUIVALENTE_TOTAL_CORRIDA "); + // + // sql.append(" FROM "); + // sql.append(" ( "); + // sql.append(" SELECT "); + // sql.append(" EM.NOMBEMPRESA, "); + // sql.append(" CO.CORRIDA_ID CORRIDA_ID, "); + // sql.append(" MAX(CO.FECHORSALIDA) FECHORSALIDA, "); + // sql.append(" ORI.CVEPARADA ORIGEM, "); + // sql.append(" DES.CVEPARADA DESTINO, "); + // sql.append(" CA.NUMKMVIAJE KM_TRAMO, "); + // sql.append(" RU.RUTA_ID, "); + // sql.append(" RU.DESCRUTA, "); + // sql.append(" RU.INDSENTIDOIDA, "); + // sql.append(" COUNT(*) ABSOLUTOS, "); + // sql.append(" SUM(CA.PRECIOPAGADO) RECEITA, "); + // sql.append(" CA.PRECIOBASE "); + // sql.append(" FROM BOLETO CA "); + // sql.append(" INNER JOIN PARADA ORI ON ORI.PARADA_ID = CA.ORIGEN_ID "); + // sql.append(" INNER JOIN PARADA DES ON DES.PARADA_ID = CA.DESTINO_ID "); + // sql.append(" INNER JOIN CORRIDA CO ON (CO.CORRIDA_ID = CA.CORRIDA_ID AND CO.FECCORRIDA = CA.FECCORRIDA) "); + // sql.append(" INNER JOIN EMPRESA EM ON EM.EMPRESA_ID = CO.EMPRESACORRIDA_ID "); + // sql.append(" INNER JOIN RUTA RU ON RU.RUTA_ID = CO.RUTA_ID "); + // sql.append(" WHERE CA.ACTIVO = 1 "); + // sql.append(" AND RU.ACTIVO = 1 "); + // sql.append(" AND EM.ACTIVO = 1 "); + // sql.append(" AND ORI.ACTIVO = 1 "); + // sql.append(" AND DES.ACTIVO = 1 "); + // sql.append(" AND CO.EMPRESACORRIDA_ID IN (").append(empresaIds).append(") "); + // if (!corridasIds.equals("Todas")) { + // sql.append(" AND CA.CORRIDA_ID IN (").append(corridasIds).append(") "); + // } + // sql.append(" AND CA.FECCORRIDA BETWEEN to_date('").append(dataDe).append("','dd/mm/yyyy HH24:mi:ss') AND to_date('").append(dataAte).append("','dd/mm/yyyy HH24:mi:ss') "); + // sql.append(" AND CA.MOTIVOCANCELACION_ID IS NULL "); + // sql.append(" AND CA.PRECIOBASE IS NOT NULL "); + // if (bilhetesGratuitos) { + // sql.append(" AND CA.PRECIOBASE >= 0 "); + // } else { + // sql.append(" AND CA.PRECIOBASE > 0 "); + // } + // sql.append(" GROUP BY RU.RUTA_ID, EM.NOMBEMPRESA, ORI.CVEPARADA, DES.CVEPARADA, CA.NUMKMVIAJE, CO.CORRIDA_ID, RU.DESCRUTA, RU.INDSENTIDOIDA, CA.PRECIOBASE "); + // sql.append(" ) resultado "); + // sql.append(" INNER JOIN RUTA_SECUENCIA RS ON RS.RUTA_ID = resultado.RUTA_ID "); + // sql.append(" INNER JOIN TRAMO TR ON TR.TRAMO_ID = RS.TRAMO_ID "); + // sql.append(" WHERE RS.ACTIVO = 1 "); + // sql.append(" AND TR.ACTIVO = 1 "); + // sql.append(" GROUP BY resultado.NOMBEMPRESA, resultado.CORRIDA_ID, resultado.FECHORSALIDA, resultado.ORIGEM, resultado.DESTINO, resultado.KM_TRAMO, resultado.RUTA_ID, resultado.DESCRUTA, resultado.INDSENTIDOIDA, resultado.ABSOLUTOS, resultado.RECEITA, resultado.PRECIOBASE "); + // sql.append(" ORDER BY resultado.CORRIDA_ID "); - sql.append("SELECT * "); - sql.append("FROM (SELECT RESULTADO_2.nombempresa, "); - sql.append(" RESULTADO_2.corrida_id CORRIDA_1, "); - sql.append(" RESULTADO_2.fechorsalida, "); - sql.append(" RESULTADO_2.origem, "); - sql.append(" RESULTADO_2.destino, "); - sql.append(" RESULTADO_2.km_tramo, "); - sql.append(" RESULTADO_2.ruta_id, "); - sql.append(" RESULTADO_2.descruta, "); - sql.append(" RESULTADO_2.indsentidoida, "); - sql.append(" RESULTADO_2.absolutos, "); - sql.append(" RESULTADO_2.receita, "); - sql.append(" RESULTADO_2.preciobase, "); - sql.append(" RESULTADO_2.viagens, "); - sql.append(" RESULTADO_2.km_corrida, "); - sql.append(" RESULTADO_2.disponibilidade, "); - sql.append(" RESULTADO_2.absoluto_total_corrida "); - sql.append(" FROM (SELECT RESULTADO.*, "); - sql.append(" (SELECT Count(*) "); - sql.append(" FROM corrida CO "); - sql.append(" WHERE CO.corrida_id = RESULTADO.corrida_id "); - sql.append(" AND CO.feccorrida BETWEEN To_date( "); - sql.append(" '01/06/2013 00:00:00', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS' "); - sql.append(" ) "); - sql.append(" AND "); - sql.append(" To_date( "); - sql.append(" '01/06/2013 23:59:59', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS')) "); - sql.append(" VIAGENS, "); - sql.append(" Sum(TR.cantkmreal) "); - sql.append(" KM_CORRIDA, "); - sql.append(" (SELECT Max(DA.cantasientos) "); - sql.append(" FROM corrida CO "); - sql.append(" INNER JOIN rol_operativo ROL "); - sql.append(" ON "); - sql.append(" ROL.roloperativo_id = CO.roloperativo_id "); - sql.append(" INNER JOIN diagrama_autobus DA "); - sql.append(" ON DA.diagramaautobus_id = "); - sql.append(" ROL.diagramaautobus_id "); - sql.append(" WHERE CO.corrida_id = RESULTADO.corrida_id "); - sql.append(" AND CO.feccorrida BETWEEN To_date( "); - sql.append(" '01/06/2013 00:00:00', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS' "); - sql.append(" ) "); - sql.append(" AND "); - sql.append(" To_date( "); - sql.append(" '01/06/2013 23:59:59', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" GROUP BY CO.corrida_id) "); - sql.append(" DISPONIBILIDADE, "); - sql.append(" (SELECT Count(*) "); - sql.append(" FROM boleto CA "); - sql.append(" INNER JOIN corrida CO "); - sql.append(" ON ( CO.corrida_id = CA.corrida_id "); - sql.append(" AND CO.feccorrida = CA.feccorrida ) "); - sql.append(" WHERE CA.activo = 1 "); - sql.append(" AND CO.empresacorrida_id IN ( 25 ) "); - sql.append(" AND CA.corrida_id = RESULTADO.corrida_id "); - sql.append(" AND CA.feccorrida BETWEEN To_date( "); - sql.append(" '01/06/2013 00:00:00', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS' "); - sql.append(" ) "); - sql.append(" AND "); - sql.append(" To_date( "); - sql.append(" '01/06/2013 23:59:59', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" AND CA.motivocancelacion_id IS NULL "); - sql.append(" AND CA.preciobase IS NOT NULL "); - sql.append(" AND CA.preciobase > 0) "); - sql.append(" ABSOLUTO_TOTAL_CORRIDA "); - sql.append(" FROM (SELECT EM.nombempresa, "); - sql.append(" CO.corrida_id CORRIDA_ID, "); - sql.append(" Max(CO.fechorsalida) FECHORSALIDA, "); - sql.append(" ORI.cveparada ORIGEM, "); - sql.append(" DES.cveparada DESTINO, "); - sql.append(" CA.numkmviaje KM_TRAMO, "); - sql.append(" RU.ruta_id, "); - sql.append(" RU.descruta, "); - sql.append(" RU.indsentidoida, "); - sql.append(" Count(*) ABSOLUTOS, "); - sql.append(" Sum(CA.preciopagado) RECEITA, "); - sql.append(" CA.preciobase "); - sql.append(" FROM boleto CA "); - sql.append(" INNER JOIN parada ORI "); - sql.append(" ON ORI.parada_id = CA.origen_id "); - sql.append(" INNER JOIN parada DES "); - sql.append(" ON DES.parada_id = CA.destino_id "); - sql.append(" INNER JOIN corrida CO "); - sql.append(" ON ( CO.corrida_id = CA.corrida_id "); - sql.append(" AND CO.feccorrida = CA.feccorrida ) "); - sql.append(" INNER JOIN empresa EM "); - sql.append(" ON EM.empresa_id = CO.empresacorrida_id "); - sql.append(" INNER JOIN ruta RU "); - sql.append(" ON RU.ruta_id = CO.ruta_id "); - sql.append(" WHERE CA.activo = 1 "); - sql.append(" AND RU.activo = 1 "); - sql.append(" AND EM.activo = 1 "); - sql.append(" AND ORI.activo = 1 "); - sql.append(" AND DES.activo = 1 "); - sql.append(" AND CO.empresacorrida_id IN ( 25 ) "); - sql.append(" AND CA.feccorrida BETWEEN To_date( "); - sql.append(" '01/06/2013 00:00:00', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS' "); - sql.append(" ) "); - sql.append(" AND "); - sql.append(" To_date( "); - sql.append(" '01/06/2013 23:59:59', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" AND CA.motivocancelacion_id IS NULL "); - sql.append(" AND CA.preciobase IS NOT NULL "); - sql.append(" AND CA.preciobase > 0 "); - sql.append(" GROUP BY RU.ruta_id, "); - sql.append(" EM.nombempresa, "); - sql.append(" ORI.cveparada, "); - sql.append(" DES.cveparada, "); - sql.append(" CA.numkmviaje, "); - sql.append(" CO.corrida_id, "); - sql.append(" RU.descruta, "); - sql.append(" RU.indsentidoida, "); - sql.append(" CA.preciobase) RESULTADO "); - sql.append(" INNER JOIN ruta_secuencia RS "); - sql.append(" ON RS.ruta_id = RESULTADO.ruta_id "); - sql.append(" INNER JOIN tramo TR "); - sql.append(" ON TR.tramo_id = RS.tramo_id "); - sql.append(" WHERE RS.activo = 1 "); - sql.append(" AND TR.activo = 1 "); - sql.append(" GROUP BY RESULTADO.nombempresa, "); - sql.append(" RESULTADO.corrida_id, "); - sql.append(" RESULTADO.fechorsalida, "); - sql.append(" RESULTADO.origem, "); - sql.append(" RESULTADO.destino, "); - sql.append(" RESULTADO.km_tramo, "); - sql.append(" RESULTADO.ruta_id, "); - sql.append(" RESULTADO.descruta, "); - sql.append(" RESULTADO.indsentidoida, "); - sql.append(" RESULTADO.absolutos, "); - sql.append(" RESULTADO.receita, "); - sql.append(" RESULTADO.preciobase "); - sql.append(" --ORDER BY "); - sql.append(" -- RESULTADO.CORRIDA_ID "); - sql.append(" ) RESULTADO_2 "); - sql.append(" GROUP BY RESULTADO_2.nombempresa, "); - sql.append(" RESULTADO_2.corrida_id, "); - sql.append(" RESULTADO_2.fechorsalida, "); - sql.append(" RESULTADO_2.origem, "); - sql.append(" RESULTADO_2.destino, "); - sql.append(" RESULTADO_2.km_tramo, "); - sql.append(" RESULTADO_2.ruta_id, "); - sql.append(" RESULTADO_2.descruta, "); - sql.append(" RESULTADO_2.indsentidoida, "); - sql.append(" RESULTADO_2.absolutos, "); - sql.append(" RESULTADO_2.receita, "); - sql.append(" RESULTADO_2.preciobase, "); - sql.append(" RESULTADO_2.viagens, "); - sql.append(" RESULTADO_2.km_corrida, "); - sql.append(" RESULTADO_2.disponibilidade, "); - sql.append(" RESULTADO_2.absoluto_total_corrida "); - sql.append(" ORDER BY RESULTADO_2.corrida_id) T1 "); - sql.append(" INNER JOIN (SELECT RESULTADO_2.corrida_id CORRIDA_2, "); - sql.append(" Sum(RESULTADO_2.equivalente) EQUIVALENTE_TOTAL_CORRIDA "); - sql.append(" FROM (SELECT RESULTADO.*, "); - sql.append(" ( RESULTADO.km_tramo / Sum(TR.cantkmreal) ) * "); - sql.append(" (SELECT "); - sql.append(" Count(*) "); - sql.append(" FROM "); - sql.append(" boleto CA "); - sql.append(" INNER JOIN corrida CO "); - sql.append(" ON ( CO.corrida_id "); - sql.append(" = CA.corrida_id "); - sql.append(" AND CO.feccorrida = "); - sql.append(" CA.feccorrida ) "); - sql.append(" INNER JOIN parada PO "); - sql.append(" ON CA.origen_id = PO.parada_id "); - sql.append(" INNER JOIN parada PD "); - sql.append(" ON CA.destino_id = PD.parada_id "); - sql.append(" WHERE "); - sql.append(" CA.activo = 1 "); - sql.append(" AND CO.empresacorrida_id "); - sql.append(" IN ( 25 ) "); - sql.append(" AND CA.corrida_id = "); - sql.append(" RESULTADO.corrida_id "); - sql.append(" AND CA.feccorrida BETWEEN "); - sql.append(" To_date('01/06/2013 00:00:00', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS' "); - sql.append(" ) "); - sql.append(" AND "); - sql.append(" To_date( "); - sql.append(" '01/06/2013 23:59:59', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" AND CA.motivocancelacion_id IS NULL "); - sql.append(" AND CA.preciobase IS NOT NULL "); - sql.append(" AND CA.preciobase = RESULTADO.preciobase "); - sql.append(" AND PO.cveparada = RESULTADO.origem "); - sql.append(" AND PD.cveparada = RESULTADO.destino) "); - sql.append(" EQUIVALENTE "); - sql.append(" FROM (SELECT CO.corrida_id CORRIDA_ID, "); - sql.append(" ORI.cveparada ORIGEM, "); - sql.append(" DES.cveparada DESTINO, "); - sql.append(" CA.numkmviaje KM_TRAMO, "); - sql.append(" RU.ruta_id, "); - sql.append(" CA.preciobase "); - sql.append(" FROM boleto CA "); - sql.append(" INNER JOIN parada ORI "); - sql.append(" ON ORI.parada_id = "); - sql.append(" CA.origen_id "); - sql.append(" INNER JOIN parada DES "); - sql.append(" ON DES.parada_id = "); - sql.append(" CA.destino_id "); - sql.append(" INNER JOIN corrida CO "); - sql.append(" ON ( CO.corrida_id = "); - sql.append(" CA.corrida_id "); - sql.append(" AND "); - sql.append(" CO.feccorrida = CA.feccorrida ) "); - sql.append(" INNER JOIN empresa EM "); - sql.append(" ON EM.empresa_id = "); - sql.append(" CO.empresacorrida_id "); - sql.append(" INNER JOIN ruta RU "); - sql.append(" ON RU.ruta_id = CO.ruta_id "); - sql.append(" WHERE CA.activo = 1 "); - sql.append(" AND RU.activo = 1 "); - sql.append(" AND EM.activo = 1 "); - sql.append(" AND ORI.activo = 1 "); - sql.append(" AND DES.activo = 1 "); - sql.append(" AND CO.empresacorrida_id IN ( 25 ) "); - sql.append(" AND CA.feccorrida BETWEEN To_date( "); - sql.append(" '01/06/2013 00:00:00', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS' "); - sql.append(" ) "); - sql.append(" AND "); - sql.append(" To_date( "); - sql.append(" '01/06/2013 23:59:59', "); - sql.append(" 'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" AND CA.motivocancelacion_id IS NULL "); - sql.append(" AND CA.preciobase IS NOT NULL "); - sql.append(" AND CA.preciobase > 0 "); - sql.append(" GROUP BY RU.ruta_id, "); - sql.append(" EM.nombempresa, "); - sql.append(" ORI.cveparada, "); - sql.append(" DES.cveparada, "); - sql.append(" CA.numkmviaje, "); - sql.append(" CO.corrida_id, "); - sql.append(" RU.descruta, "); - sql.append(" RU.indsentidoida, "); - sql.append(" CA.preciobase) RESULTADO "); - sql.append(" INNER JOIN ruta_secuencia RS "); - sql.append(" ON RS.ruta_id = RESULTADO.ruta_id "); - sql.append(" INNER JOIN tramo TR "); - sql.append(" ON TR.tramo_id = RS.tramo_id "); - sql.append(" WHERE RS.activo = 1 "); - sql.append(" AND TR.activo = 1 "); - sql.append(" GROUP BY RESULTADO.corrida_id, "); - sql.append(" RESULTADO.origem, "); - sql.append(" RESULTADO.destino, "); - sql.append(" RESULTADO.km_tramo, "); - sql.append(" RESULTADO.ruta_id, "); - sql.append(" RESULTADO.preciobase) RESULTADO_2 "); - sql.append(" GROUP BY RESULTADO_2.corrida_id "); - sql.append(" ORDER BY RESULTADO_2.corrida_id)T2 "); - sql.append(" ON T1.corrida_1 = T2.corrida_2 "); + String var1 = "" + + " SELECT * " + + " FROM (SELECT RESULTADO_2.nombempresa, " + + " RESULTADO_2.corrida_id CORRIDA_1, " + + " RESULTADO_2.fechorsalida, " + + " RESULTADO_2.origem, " + + " RESULTADO_2.destino, " + + " RESULTADO_2.km_tramo, " + + " RESULTADO_2.ruta_id, " + + " RESULTADO_2.descruta, " + + " RESULTADO_2.indsentidoida, " + + " RESULTADO_2.absolutos, " + + " RESULTADO_2.receita, " + + " RESULTADO_2.preciobase, " + + " RESULTADO_2.viagens, " + + " RESULTADO_2.km_corrida, " + + " RESULTADO_2.disponibilidade, " + + " RESULTADO_2.absoluto_total_corrida " + + " FROM (SELECT RESULTADO.*, " + + " (SELECT Count(*) " + + " FROM corrida CO " + + " WHERE CO.corrida_id = RESULTADO.corrida_id " + + " AND CO.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') " + + " ) VIAGENS, " + + " Sum(TR.cantkmreal) " + + " KM_CORRIDA, " + + " (SELECT Max(DA.cantasientos) " + + " FROM corrida CO " + + " INNER JOIN rol_operativo ROL ON ROL.roloperativo_id = CO.roloperativo_id " + + " INNER JOIN diagrama_autobus DA ON DA.diagramaautobus_id = ROL.diagramaautobus_id " + + " WHERE CO.corrida_id = RESULTADO.corrida_id " + + " AND CO.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') " + + " GROUP BY CO.corrida_id) " + + " DISPONIBILIDADE, " + + " (SELECT Count(*) " + + " FROM boleto CA " + + " INNER JOIN corrida CO ON ( CO.corrida_id = CA.corrida_id AND CO.feccorrida = CA.feccorrida ) " + + " WHERE CA.activo = 1 " + + (" AND CO.EMPRESACORRIDA_ID IN (") + empresaIds + ") " + + " AND CA.corrida_id = RESULTADO.corrida_id " + + " AND CA.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') " + + " AND CA.motivocancelacion_id IS NULL " + + " AND CA.preciobase IS NOT NULL " + + (bilhetesGratuitos ? " AND CA.PRECIOBASE >= 0 ) " : " AND CA.PRECIOBASE > 0 ) ") + + " ABSOLUTO_TOTAL_CORRIDA " + + " FROM (SELECT EM.nombempresa, " + + " CO.corrida_id CORRIDA_ID, " + + " Max(CO.fechorsalida) FECHORSALIDA, " + + " ORI.cveparada ORIGEM, " + + " DES.cveparada DESTINO, " + + " CA.numkmviaje KM_TRAMO, " + + " RU.ruta_id, " + + " RU.descruta, " + + " RU.indsentidoida, " + + " Count(*) ABSOLUTOS, " + + " Sum(CA.preciopagado) RECEITA, " + + " CA.preciobase " + + " FROM boleto CA " + + " INNER JOIN parada ORI ON ORI.parada_id = CA.origen_id " + + " INNER JOIN parada DES ON DES.parada_id = CA.destino_id " + + " INNER JOIN corrida CO ON ( CO.corrida_id = CA.corrida_id AND CO.feccorrida = CA.feccorrida ) " + + " INNER JOIN empresa EM ON EM.empresa_id = CO.empresacorrida_id " + + " INNER JOIN ruta RU ON RU.ruta_id = CO.ruta_id " + + " WHERE CA.activo = 1 AND RU.activo = 1 AND EM.activo = 1 AND ORI.activo = 1 AND DES.activo = 1 " + + (!corridasIds.equals("Todas") ? " AND CA.CORRIDA_ID IN (" + corridasIds + ") " : " ") + + (" AND CO.EMPRESACORRIDA_ID IN (") + empresaIds + ") " + + " AND CA.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') " + + " AND CA.motivocancelacion_id IS NULL " + + " AND CA.preciobase IS NOT NULL " + + (bilhetesGratuitos ? " AND CA.PRECIOBASE >= 0 " : " AND CA.PRECIOBASE > 0 ") + + " GROUP BY RU.ruta_id, " + + " EM.nombempresa, " + + " ORI.cveparada, " + + " DES.cveparada, " + + " CA.numkmviaje, " + + " CO.corrida_id, " + + " RU.descruta, " + + " RU.indsentidoida, " + + " CA.preciobase) RESULTADO " + + " INNER JOIN ruta_secuencia RS ON RS.ruta_id = RESULTADO.ruta_id " + + " INNER JOIN tramo TR ON TR.tramo_id = RS.tramo_id " + + " WHERE RS.activo = 1 AND TR.activo = 1 " + + " GROUP BY RESULTADO.nombempresa, " + + " RESULTADO.corrida_id, " + + " RESULTADO.fechorsalida, " + + " RESULTADO.origem, " + + " RESULTADO.destino, " + + " RESULTADO.km_tramo, " + + " RESULTADO.ruta_id, " + + " RESULTADO.descruta, " + + " RESULTADO.indsentidoida, " + + " RESULTADO.absolutos, " + + " RESULTADO.receita, " + + " RESULTADO.preciobase) RESULTADO_2 " + + " GROUP BY RESULTADO_2.nombempresa, " + + " RESULTADO_2.corrida_id, " + + " RESULTADO_2.fechorsalida, " + + " RESULTADO_2.origem, " + + " RESULTADO_2.destino, " + + " RESULTADO_2.km_tramo, " + + " RESULTADO_2.ruta_id, " + + " RESULTADO_2.descruta, " + + " RESULTADO_2.indsentidoida, " + + " RESULTADO_2.absolutos, " + + " RESULTADO_2.receita, " + + " RESULTADO_2.preciobase, " + + " RESULTADO_2.viagens, " + + " RESULTADO_2.km_corrida, " + + " RESULTADO_2.disponibilidade, " + + " RESULTADO_2.absoluto_total_corrida " + + " ORDER BY RESULTADO_2.corrida_id) T1 " + + " INNER JOIN (SELECT RESULTADO_2.corrida_id CORRIDA_2, " + + " Sum(RESULTADO_2.equivalente) EQUIVALENTE_TOTAL_CORRIDA " + + " FROM (SELECT RESULTADO.*, " + + " ( RESULTADO.km_tramo / Sum(TR.cantkmreal) ) * ( " + + " SELECT Count(*) " + + " FROM boleto CA " + + " INNER JOIN corrida CO ON ( CO.corrida_id = CA.corrida_id AND CO.feccorrida = CA.feccorrida ) " + + " INNER JOIN parada PO ON CA.origen_id = PO.parada_id " + + " INNER JOIN parada PD ON CA.destino_id = PD.parada_id " + + " WHERE CA.activo = 1 " + + (" AND CO.EMPRESACORRIDA_ID IN (") + empresaIds + ") " + + " AND CA.corrida_id = RESULTADO.corrida_id " + + " AND CA.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') " + + " AND CA.motivocancelacion_id IS NULL " + + " AND CA.preciobase IS NOT NULL " + + " AND CA.preciobase = RESULTADO.preciobase " + + " AND PO.cveparada = RESULTADO.origem " + + " AND PD.cveparada = RESULTADO.destino) " + + " EQUIVALENTE " + + " FROM (SELECT CO.corrida_id CORRIDA_ID, " + + " ORI.cveparada ORIGEM, " + + " DES.cveparada DESTINO, " + + " CA.numkmviaje KM_TRAMO, " + + " RU.ruta_id, " + + " CA.preciobase " + + " FROM boleto CA " + + " INNER JOIN parada ORI ON ORI.parada_id = CA.origen_id " + + " INNER JOIN parada DES ON DES.parada_id = CA.destino_id " + + " INNER JOIN corrida CO ON ( CO.corrida_id = CA.corrida_id AND CO.feccorrida = CA.feccorrida ) " + + " INNER JOIN empresa EM ON EM.empresa_id = CO.empresacorrida_id " + + " INNER JOIN ruta RU ON RU.ruta_id = CO.ruta_id " + + " WHERE CA.activo = 1 AND RU.activo = 1 AND EM.activo = 1 AND ORI.activo = 1 AND DES.activo = 1 " + + (" AND CO.EMPRESACORRIDA_ID IN (") + empresaIds + ") " + + " AND CA.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') " + + " AND CA.motivocancelacion_id IS NULL " + + " AND CA.preciobase IS NOT NULL " + + (bilhetesGratuitos ? " AND CA.PRECIOBASE >= 0 " : " AND CA.PRECIOBASE > 0 ") + + " GROUP BY RU.ruta_id, " + + " EM.nombempresa, " + + " ORI.cveparada, " + + " DES.cveparada, " + + " CA.numkmviaje, " + + " CO.corrida_id, " + + " RU.descruta, " + + " RU.indsentidoida, " + + " CA.preciobase) RESULTADO " + + " INNER JOIN ruta_secuencia RS ON RS.ruta_id = RESULTADO.ruta_id " + + " INNER JOIN tramo TR ON TR.tramo_id = RS.tramo_id " + + " WHERE RS.activo = 1 AND TR.activo = 1 " + + " GROUP BY RESULTADO.corrida_id, " + + " RESULTADO.origem, " + + " RESULTADO.destino, " + + " RESULTADO.km_tramo, " + + " RESULTADO.ruta_id, " + + " RESULTADO.preciobase) RESULTADO_2 " + + " GROUP BY RESULTADO_2.corrida_id " + + " ORDER BY RESULTADO_2.corrida_id)T2 " + + " ON T1.corrida_1 = T2.corrida_2 "; - - return sql.toString(); + return var1; } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioOrigemDestino.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioOrigemDestino.jasper index 1e838f94d..68f45cd68 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioOrigemDestino.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioOrigemDestino.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioOrigemDestino.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioOrigemDestino.jrxml index 88dc2197f..3ca00f2f1 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioOrigemDestino.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioOrigemDestino.jrxml @@ -22,7 +22,7 @@ - + @@ -89,7 +89,7 @@ - + @@ -200,7 +200,7 @@ - + @@ -436,7 +436,7 @@ - +