From 840d164f1279c61fbc123922511e1ea0c52fbaad Mon Sep 17 00:00:00 2001 From: wilian Date: Wed, 21 Oct 2015 18:48:54 +0000 Subject: [PATCH] fixes bug #6759 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@49285 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioOrigemDestino.java | 73 ++++++++----------- 1 file changed, 31 insertions(+), 42 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java index 7df139a61..953c81d64 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java @@ -282,22 +282,23 @@ public class RelatorioOrigemDestino extends Relatorio { sql.append(" RESULTADO_2.fechorsalida, "); sql.append(" RESULTADO_2.origem, "); sql.append(" RESULTADO_2.destino, "); - sql.append(" COALESCE(RESULTADO_2.km_tramo,0) AS km_tramo, "); + 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(" COALESCE(RESULTADO_2.receita,0) AS receita, "); - sql.append(" COALESCE(RESULTADO_2.preciobase,0) AS preciobase, "); + 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(" COALESCE(RESULTADO_2.importetaxaembarque,0) AS IMPORTETAXAEMBARQUE, "); - sql.append(" COALESCE(RESULTADO_2.importepedagio,0) AS IMPORTEPEDAGIO "); + sql.append(" RESULTADO_2.importetaxaembarque, "); + sql.append(" RESULTADO_2.importepedagio "); sql.append(" FROM (SELECT RESULTADO.*, "); sql.append(" (SELECT Count(*) "); sql.append(" FROM corrida CO "); + sql.append(" JOIN BOLETO B ON (CO.CORRIDA_ID = B.CORRIDA_ID AND CO.FECCORRIDA = B.FECCORRIDA ) "); sql.append(" WHERE CO.corrida_id = RESULTADO.corrida_id "); sql.append(" AND CO.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') "); sql.append(" AND CO.ACTIVO = 1 "); @@ -330,32 +331,19 @@ public class RelatorioOrigemDestino extends Relatorio { sql.append(" CO.origen_id ORIGEN_ID, "); sql.append(" CO.destino_id DESTINO_ID, "); sql.append(" DES.cveparada DESTINO, "); - sql.append(" T.CANTKMREAL KM_TRAMO, "); + sql.append(" CA.numkmviaje KM_TRAMO, "); sql.append(" RU.ruta_id, "); sql.append(" RU.descruta, "); sql.append(" RU.indsentidoida, "); - sql.append(" Count(CA.BOLETO_ID) ABSOLUTOS, "); + sql.append(" Count(*) ABSOLUTOS, "); sql.append(" Sum(CA.preciopagado) RECEITA, "); sql.append(" CA.preciobase, "); sql.append(" SUM(CA.IMPORTETAXAEMBARQUE) as importetaxaembarque, "); sql.append(" SUM(CA.IMPORTEPEDAGIO) as importepedagio "); - sql.append(" FROM corrida CO "); - sql.append(" INNER JOIN parada ORI ON ORI.parada_id = CO.origen_id "); - sql.append(" INNER JOIN parada DES ON DES.parada_id = CO.destino_id "); - sql.append(" INNER JOIN RUTA_COMBINACION RC ON RC.RUTA_ID = CO.RUTA_ID "); - sql.append(" INNER JOIN TRAMO T ON RC.TRAMO_ID = T.TRAMO_ID "); - sql.append(" AND T.ORIGEN_ID = ORI.PARADA_ID "); - sql.append(" AND T.DESTINO_ID = DES.PARADA_ID "); - sql.append(" AND T.ACTIVO = 1 "); - sql.append(" AND RC.ACTIVO = 1 "); - sql.append(" LEFT JOIN boleto CA ON (CO.corrida_id = CA.corrida_id "); - sql.append(" AND CO.feccorrida = CA.feccorrida "); - sql.append(" AND CA.activo = 1 "); - sql.append(" AND CA.motivocancelacion_id IS NULL "); - sql.append(" AND CA.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA); - sql.append(" AND CA.preciobase IS NOT NULL "); - sql.append((bilhetesGratuitos ? " AND CA.PRECIOBASE >= 0 " : " AND CA.PRECIOBASE > 0 ")); - sql.append(" ) "); + 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(" INNER JOIN tarifa TF ON (TF.CLASESERVICIO_ID = CO.CLASESERVICIO_ID "); @@ -364,11 +352,15 @@ public class RelatorioOrigemDestino extends Relatorio { sql.append(" AND TF.MARCA_ID = CO.MARCA_ID "); sql.append(" AND TF.RUTA_ID = CO.RUTA_ID)"); sql.append("INNER JOIN VIGENCIA_TARIFA VT ON (TF.VIGENCIATARIFA_ID=VT.VIGENCIATARIFA_ID)"); - sql.append(" WHERE RU.activo = 1 AND EM.activo = 1 AND ORI.activo = 1 AND DES.activo = 1 "); + sql.append(" WHERE CA.activo = 1 AND RU.activo = 1 AND EM.activo = 1 AND ORI.activo = 1 AND DES.activo = 1 "); sql.append(" AND CO.activo = 1 "); - sql.append((!corridasIds.equals("Todas") ? " AND CO.CORRIDA_ID IN (" + corridasIds + ") " : " ")); + sql.append((!corridasIds.equals("Todas") ? " AND CA.CORRIDA_ID IN (" + corridasIds + ") " : " ")); sql.append((" AND CO.EMPRESACORRIDA_ID IN (") + empresaIds + ") "); - sql.append(" AND CO.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') "); + sql.append(" AND CA.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') "); + sql.append(" AND CA.motivocancelacion_id IS NULL "); + sql.append(" AND CA.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA); + sql.append(" AND CA.preciobase IS NOT NULL "); + sql.append((bilhetesGratuitos ? " AND CA.PRECIOBASE >= 0 " : " AND CA.PRECIOBASE > 0 ")); sql.append(" AND CO.FECCORRIDA BETWEEN vt.FECINICIOVIGENCIA and vt.FECFINVIGENCIA"); sql.append(" GROUP BY RU.ruta_id, "); sql.append(" EM.nombempresa, "); @@ -376,7 +368,7 @@ public class RelatorioOrigemDestino extends Relatorio { sql.append(" DES.cveparada, "); sql.append(" CO.origen_id, "); sql.append(" CO.destino_id, "); - sql.append(" T.CANTKMREAL, "); + sql.append(" CA.numkmviaje, "); sql.append(" CO.corrida_id, "); sql.append(" RU.descruta, "); sql.append(" RU.indsentidoida, "); @@ -421,7 +413,7 @@ public class RelatorioOrigemDestino extends Relatorio { sql.append(" RESULTADO_2.IMPORTEPEDAGIO "); sql.append(" ORDER BY RESULTADO_2.corrida_id) T1 "); sql.append(" INNER JOIN (SELECT RESULTADO_2.corrida_id CORRIDA_2, "); - sql.append(" COALESCE(Sum(RESULTADO_2.equivalente),0) AS EQUIVALENTE_TOTAL_CORRIDA "); + 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 Count(*) "); @@ -449,23 +441,20 @@ public class RelatorioOrigemDestino extends Relatorio { sql.append(" CA.preciobase, "); sql.append(" CO.origen_id, "); sql.append(" CO.destino_id "); - sql.append(" FROM corrida CO "); - sql.append(" INNER JOIN parada ORI ON ORI.parada_id = CO.origen_id "); - sql.append(" INNER JOIN parada DES ON DES.parada_id = CO.destino_id "); - sql.append(" LEFT JOIN boleto CA ON (CO.corrida_id = CA.corrida_id "); - sql.append(" AND CO.feccorrida = CA.feccorrida "); - sql.append(" AND CA.activo = 1 "); - sql.append(" AND CA.motivocancelacion_id IS NULL "); - sql.append(" AND CA.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA); - sql.append(" AND CA.preciobase IS NOT NULL "); - sql.append((bilhetesGratuitos ? " AND CA.PRECIOBASE >= 0 " : " AND CA.PRECIOBASE > 0 ")); - sql.append(" ) "); + 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 RU.activo = 1 AND EM.activo = 1 AND ORI.activo = 1 AND DES.activo = 1 "); + sql.append(" WHERE CA.activo = 1 AND RU.activo = 1 AND EM.activo = 1 AND ORI.activo = 1 AND DES.activo = 1 "); sql.append(" AND CO.activo = 1 "); sql.append((" AND CO.EMPRESACORRIDA_ID IN (") + empresaIds + ") "); - sql.append(" AND CO.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') "); + sql.append(" AND CA.FECCORRIDA BETWEEN to_date('" + dataDe + "','dd/mm/yyyy HH24:mi:ss') AND to_date('" + dataAte + "','dd/mm/yyyy HH24:mi:ss') "); + sql.append(" AND CA.motivocancelacion_id IS NULL "); + sql.append(" AND CA.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA); + sql.append(" AND CA.preciobase IS NOT NULL "); + sql.append((bilhetesGratuitos ? " AND CA.PRECIOBASE >= 0 " : " AND CA.PRECIOBASE > 0 ")); sql.append(" GROUP BY RU.ruta_id, "); sql.append(" EM.nombempresa, "); sql.append(" ORI.cveparada, ");