From 8754ea8405aed626daa0738f875209789d56339e Mon Sep 17 00:00:00 2001 From: leonardo Date: Thu, 23 Apr 2015 13:16:53 +0000 Subject: [PATCH] fixed bug #6182 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@43327 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioEmpresaCorrida.java | 118 +++++++++--------- 1 file changed, 58 insertions(+), 60 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java index f449f7a0f..3725098fa 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEmpresaCorrida.java @@ -85,67 +85,65 @@ public class RelatorioEmpresaCorrida extends Relatorio { private String getSql(String empresa) { StringBuffer sql = new StringBuffer(); - sql.append("SELECT DISTINCT e.empresa_id, "); - sql.append(" r.ruta_id, "); - sql.append(" r.descruta AS linea, "); - sql.append(" nombempresa, "); - sql.append(" COALESCE(Sum(CASE "); - sql.append(" WHEN ((b.motivocancelacion_id is null) AND (cat.grupocategoria_id is null OR cat.grupocategoria_id <> 4)) 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 null AND cat.grupocategoria_id = 4 THEN "); - sql.append(" b.preciopagado "); - sql.append(" ELSE 0 "); - sql.append(" END), 0) abonos, "); - sql.append(" COALESCE(SUM(CASE WHEN b.motivocancelacion_id is null THEN 1 ELSE 0 END), 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 categoria cat on cat.categoria_id = b.categoria_id "); - sql.append(" INNER JOIN marca m ON m.marca_id = b.marca_id "); - sql.append(" INNER JOIN empresa e ON e.empresa_id = m.empresa_id "); - sql.append(" INNER JOIN ruta r 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.activo <> 0 AND ct.activo <> 0 "); - sql.append(" AND a.activo <> 0 AND t1.activo <> 0 "); - sql.append(StringUtils.isBlank(empresa) ? "" : " AND c1.empresacorrida_id = :empresa_id "); - sql.append(" GROUP BY c1.ruta_id, 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 "); + sql.append("SELECT DISTINCT c1.ruta_id, "); + sql.append(" c1.EMPRESACORRIDA_ID, "); + sql.append(" r.descruta AS linea, "); + sql.append(" e.nombempresa, "); + sql.append(" COALESCE(SUM( "); + sql.append(" CASE "); + sql.append(" WHEN ((b.motivocancelacion_id IS NULL) "); + sql.append(" AND (cat.grupocategoria_id IS NULL "); + sql.append(" OR cat.grupocategoria_id <> 4)) "); + sql.append(" THEN b.preciopagado "); + sql.append(" ELSE 0 "); + sql.append(" END), 0) boletos, "); + sql.append(" COALESCE(SUM( "); + sql.append(" CASE "); + sql.append(" WHEN b.motivocancelacion_id IS NULL "); + sql.append(" AND cat.grupocategoria_id = 4 "); + sql.append(" THEN b.preciopagado "); + sql.append(" ELSE 0 "); + sql.append(" END), 0) abonos, "); + sql.append(" COALESCE(SUM( "); + sql.append(" CASE "); + sql.append(" WHEN b.motivocancelacion_id IS NULL "); + sql.append(" THEN 1 "); + sql.append(" ELSE 0 "); + sql.append(" END), 0) passageirosTransp, "); + sql.append(" COALESCE(SUM(t1.cantkmreal), 0) kmtotal, "); + sql.append(" COALESCE(SUM( "); + sql.append(" CASE "); + sql.append(" WHEN a.empresa_id = c1.empresacorrida_id "); + sql.append(" THEN t1.cantkmreal "); + sql.append(" ELSE 0 "); + sql.append(" END), 0) kmOnibusProprio, "); + sql.append(" COALESCE(SUM( "); + sql.append(" CASE "); + sql.append(" WHEN a.empresa_id <> c1.empresacorrida_id "); + sql.append(" THEN t1.cantkmreal "); + sql.append(" ELSE 0 "); + sql.append(" END), 0) kmOnibusArrendados "); + sql.append("FROM "); + sql.append(" tramo t1 "); + sql.append(" INNER JOIN corrida_tramo ct ON ct.tramo_id = t1.tramo_id "); + sql.append(" INNER JOIN corrida c1 ON ct.corrida_id = c1.corrida_id AND ct.feccorrida = c1.feccorrida "); + sql.append(" INNER JOIN autobus a ON ct.autobus_id = a.autobus_id "); + sql.append(" INNER JOIN ruta r ON r.ruta_id = c1.ruta_id "); + sql.append(" LEFT JOIN boleto b ON b.corrida_id = c1.corrida_id AND b.feccorrida = c1.feccorrida "); + sql.append(" LEFT JOIN categoria cat ON cat.categoria_id = b.categoria_id "); + sql.append(" INNER JOIN empresa e ON e.empresa_id = c1.EMPRESACORRIDA_ID "); + sql.append("WHERE "); + sql.append(" c1.activo <> 0 "); + sql.append(" AND ct.activo <> 0 "); + sql.append(" AND a.activo <> 0 "); + sql.append(" AND t1.activo <> 0 "); + sql.append(" AND c1.feccorrida between :fecInicio AND :fecFinal "); sql.append(StringUtils.isBlank(empresa) ? "" : " AND e.empresa_id = :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("GROUP BY "); + sql.append(" c1.ruta_id, "); + sql.append(" c1.EMPRESACORRIDA_ID, "); + sql.append(" r.descruta, "); + sql.append(" e.nombempresa "); sql.append("ORDER BY nombempresa, linea "); return sql.toString();