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 d857be62f..595940846 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioEmpresaCorrida.jasper differ 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 @@ - - + + + + + + + + +