From e7334391547d6009301e84f5afee925fe8a21e5f Mon Sep 17 00:00:00 2001 From: leonardo Date: Tue, 22 Jul 2014 20:36:16 +0000 Subject: [PATCH] =?UTF-8?q?Relat=C3=B3rio=20por=20Empresa=20Corrida=20(fix?= =?UTF-8?q?ed=20bug=20#5518)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@36761 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioEmpresaCorrida.java | 146 ++++++++---------- .../RelatorioEmpresaCorrida_es.properties | 4 +- .../RelatorioEmpresaCorrida_pt_BR.properties | 25 +++ .../templates/RelatorioEmpresaCorrida.jasper | Bin 37343 -> 37371 bytes .../templates/RelatorioEmpresaCorrida.jrxml | 50 +++--- 5 files changed, 115 insertions(+), 110 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_pt_BR.properties diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java index 08f5fc070..a66bb4c94 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java @@ -83,92 +83,72 @@ public class RelatorioEmpresaCorrida extends Relatorio { private String getSql(String empresa) { StringBuffer sql = new StringBuffer(); - - sql.append("SELECT DISTINCT empresa_id, "); + sql.append("SELECT DISTINCT e.empresa_id, "); + sql.append(" r.ruta_id, "); + sql.append(" r.descruta AS linea, "); sql.append(" nombempresa, "); - sql.append(" Concat(o.descparada, Concat('-', d.descparada)) "); - sql.append(" linea, "); - sql.append(" (SELECT COALESCE(Sum(preciopagado), 0) "); - sql.append(" FROM boleto b1 "); - sql.append(" WHERE b1.motivocancelacion_id IS NULL "); - sql.append(" AND b1.empresacorrida_id = empresa_id "); - sql.append(" AND b1.origen_id = b.origen_id "); - sql.append(" AND b1.destino_id = b.destino_id "); - sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) boletos, "); - sql.append(" (SELECT COALESCE(Sum(preciopagado), 0) "); - sql.append(" FROM boleto b1 "); - sql.append(" WHERE b1.motivocancelacion_id IS NOT NULL AND b1.indstatusboleto = 'C' "); - sql.append(" AND b1.empresacorrida_id = empresa_id "); - sql.append(" AND b1.origen_id = b.origen_id "); - sql.append(" AND b1.destino_id = b.destino_id "); - sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) abonos, "); - sql.append(" (SELECT COALESCE(Sum(cantkmreal), 0) "); - sql.append(" FROM tramo t, ruta_combinacion rc, "); - sql.append(" boleto b1, "); - sql.append(" autobus a, "); - sql.append(" corrida c "); - sql.append(" WHERE t.origen_id = b1.origen_id "); - sql.append(" AND b1.ruta_id = rc.ruta_id "); - sql.append(" AND rc.activo = 1 "); - sql.append(" AND t.tramo_id = rc.tramo_id "); - sql.append(" AND t.destino_id = b1.destino_id "); - sql.append(" AND c.corrida_id = b1.corrida_id "); - sql.append(" AND a.autobus_id = c.autobus_id "); - sql.append(" AND b1.empresacorrida_id = empresa_id "); - sql.append(" AND a.empresa_id = empresa_id "); - sql.append(" AND b1.origen_id = b.origen_id "); - sql.append(" AND b1.destino_id = b.destino_id "); - sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) kmOnibusProprio, "); - sql.append(" (SELECT COALESCE(Sum(cantkmreal), 0) "); - sql.append(" FROM tramo t, ruta_combinacion rc, "); - sql.append(" boleto b1, "); - sql.append(" autobus a, "); - sql.append(" corrida c "); - sql.append(" WHERE t.origen_id = b1.origen_id "); - sql.append(" AND b1.ruta_id = rc.ruta_id "); - sql.append(" AND rc.activo = 1 "); - sql.append(" AND t.tramo_id = rc.tramo_id "); - sql.append(" AND t.destino_id = b1.destino_id "); - sql.append(" AND c.corrida_id = b1.corrida_id "); - sql.append(" AND a.autobus_id = c.autobus_id "); - sql.append(" AND b1.empresacorrida_id = empresa_id "); - sql.append(" AND a.empresa_id <> empresa_id "); - sql.append(" AND b1.origen_id = b.origen_id "); - sql.append(" AND b1.destino_id = b.destino_id "); - sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) kmOnibusArrendados, "); - sql.append(" (SELECT COALESCE(Sum(cantkmreal), 0) "); - sql.append(" FROM tramo t, ruta_combinacion rc, "); - sql.append(" boleto b1 "); - sql.append(" WHERE t.origen_id = b1.origen_id "); - sql.append(" AND b1.ruta_id = rc.ruta_id "); - sql.append(" AND rc.activo = 1 "); - sql.append(" AND t.tramo_id = rc.tramo_id "); - sql.append(" AND t.destino_id = b1.destino_id "); - sql.append(" AND b1.motivocancelacion_id is null "); - sql.append(" AND b1.empresacorrida_id = empresa_id "); - sql.append(" AND b1.origen_id = b.origen_id "); - sql.append(" AND b1.destino_id = b.destino_id "); - sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) kmTotal, "); - sql.append(" (SELECT COALESCE(Count(boleto_id), 0) "); - sql.append(" FROM boleto b1 "); - sql.append(" WHERE b1.empresacorrida_id = empresa_id "); - sql.append(" AND b1.motivocancelacion_id IS NULL "); - sql.append(" AND b1.origen_id = b.origen_id "); - sql.append(" AND b1.destino_id = b.destino_id "); - sql.append(" AND b1.fechorventa BETWEEN :fecInicio AND :fecFinal) passageirosTransp "); - sql.append("FROM empresa, "); - sql.append(" parada o, "); - sql.append(" parada d, "); - sql.append(" boleto b "); - sql.append("WHERE o.parada_id = b.origen_id "); - sql.append(" AND d.parada_id = b.destino_id "); - sql.append(" AND b.motivocancelacion_id IS NULL "); - sql.append(" AND b.empresacorrida_id = empresa_id "); + sql.append(" COALESCE(Sum(CASE "); + sql.append(" WHEN b.motivocancelacion_id IS NULL THEN "); + sql.append(" b.preciopagado "); + sql.append(" ELSE 0 "); + sql.append(" END), 0) boletos, "); + sql.append(" COALESCE(Sum(CASE "); + sql.append(" WHEN b.motivocancelacion_id IS NOT NULL "); + sql.append(" AND b.indstatusboleto = 'C' THEN "); + sql.append(" b.preciopagado "); + sql.append(" ELSE 0 "); + sql.append(" END), 0) abonos, "); + sql.append(" COALESCE(Count(b.boleto_id), 0) passageirosTransp, "); + sql.append(" COALESCE(km2.kmtotal, 0) kmtotal, "); + sql.append(" COALESCE(km2.kmonibusproprio, 0) kmOnibusProprio, "); + sql.append(" COALESCE(km2.kmonibusarrendados, 0) kmOnibusArrendados "); + sql.append("FROM boleto b "); + sql.append(" INNER JOIN marca m "); + sql.append(" ON m.marca_id = b.marca_id "); + sql.append(" INNER JOIN empresa e "); + sql.append(" ON e.empresa_id = m.empresa_id "); + sql.append(" INNER JOIN ruta r "); + sql.append(" ON r.ruta_id = b.ruta_id "); + sql.append(" LEFT JOIN (SELECT c1.ruta_id ruta_id, "); + sql.append(" c1.EMPRESACORRIDA_ID empresa_id, "); + sql.append(" COALESCE(Sum(t1.cantkmreal), 0) kmtotal, "); + sql.append(" COALESCE(Sum(CASE "); + sql.append(" WHEN a.empresa_id = c1.empresacorrida_id "); + sql.append(" THEN "); + sql.append(" t1.cantkmreal "); + sql.append(" ELSE 0 "); + sql.append(" END), 0) kmOnibusProprio, "); + sql.append(" COALESCE(Sum(CASE "); + sql.append(" WHEN a.empresa_id <> "); + sql.append(" c1.empresacorrida_id THEN "); + sql.append(" t1.cantkmreal "); + sql.append(" ELSE 0 "); + sql.append(" END), 0) kmOnibusArrendados "); + sql.append(" FROM tramo t1 "); + sql.append(" INNER JOIN corrida_tramo ct "); + sql.append(" ON ct.tramo_id = t1.tramo_id "); + sql.append(" INNER JOIN corrida c1 "); + sql.append(" ON ct.corrida_id = c1.corrida_id "); + sql.append(" AND ct.feccorrida = c1.feccorrida "); + sql.append(" INNER JOIN autobus a "); + sql.append(" ON ct.autobus_id = a.autobus_id "); + sql.append(" WHERE c1.feccorrida BETWEEN :fecInicio AND :fecFinal "); + sql.append(" GROUP BY c1.ruta_id, "); + sql.append(" c1.EMPRESACORRIDA_ID) km2 "); + sql.append(" ON ( km2.ruta_id = r.ruta_id "); + sql.append(" AND km2.empresa_id = e.empresa_id ) "); + sql.append("WHERE b.fechorventa BETWEEN :fecInicio AND :fecFinal "); if (empresa != null && !empresa.isEmpty()){ - sql.append(" AND empresa_id = :empresa_id "); + sql.append(" AND e.empresa_id = :empresa_id "); } - sql.append(" AND b.fechorventa BETWEEN :fecInicio AND :fecFinal "); - sql.append("ORDER BY empresa_id, "); + sql.append("GROUP BY e.empresa_id, "); + sql.append(" r.ruta_id, "); + sql.append(" r.descruta, "); + sql.append(" e.nombempresa, "); + sql.append(" km2.kmtotal, "); + sql.append(" km2.kmonibusproprio, "); + sql.append(" km2.kmonibusarrendados "); + sql.append("ORDER BY nombempresa, "); sql.append(" linea "); return sql.toString(); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_es.properties index 6f7d3b84b..5cc45a75a 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_es.properties @@ -16,8 +16,8 @@ header.filtro.grupo=Grupo de l detail.linea=Línea origen - destino detail.boletos=Recaudaciones Boletos ($) detail.abonos=Recaudaciones abonos ($) -detail.kmOnibusProprio=Distancia recorrida ómnibus propios (km) -detail.kmOnibusArrendados=Distancia recorrida ómnibus arrendados (km) +detail.kmOnibusProprio=Total Km ómnibus propios +detail.kmOnibusArrendados=Total Km ómnibus arrendados (km) detail.kmTotal=Distancia recorrida total (km) detail.pasajerosTransportados=Pasajeros transportados diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_pt_BR.properties new file mode 100644 index 000000000..eb82581da --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioEmpresaCorrida_pt_BR.properties @@ -0,0 +1,25 @@ +#geral +msg.noData=No se pudo obtener datos con los parámetros reportados. +msg.a=a + +#Labels header +header.periodo=Período: +header.data.hora=Data/Hora\: +header.pagina=Página\: +header.filtro=Filtro\: +header.filtro.servico=Serviço\: +header.filtro.linha=Linhas\: +header.filtro.grupo=Grupo de linhas\: + +#Labels detail + +detail.linea=Linha origem - destino +detail.boletos=Boletos ($) +detail.abonos=Abonos ($) +detail.kmOnibusProprio=Total Km ônibus próprio +detail.kmOnibusArrendados=Total Km ônibus arrendados +detail.kmTotal=Distância recorrida total (km) +detail.pasajerosTransportados=Passageiros transportados + +linhas=Linhas + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jasper index d857be62f747c54e324921a6404e46de7cf1a4ea..595940846f01febf19da64e1be784992ea1f87d7 100644 GIT binary patch delta 5153 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jrxml index f51ca9c32..8875c4a85 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jrxml @@ -1,7 +1,7 @@ - + @@ -53,8 +53,8 @@ - - + + @@ -74,21 +74,21 @@ - - + + - + - + @@ -111,8 +111,8 @@ - - + + @@ -121,18 +121,18 @@ - - + + - + - + @@ -201,13 +201,6 @@ - - - - - - - @@ -215,8 +208,8 @@ - - + + @@ -230,7 +223,7 @@ - + @@ -243,13 +236,20 @@ - - + + + + + + + + +