Divergência Relatório Empresa ônibus x Empresa Corrida (bug #6270)

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@43831 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2015-05-07 21:29:09 +00:00
parent a8173b4789
commit 12ea687532
2 changed files with 113 additions and 39 deletions

View File

@ -84,8 +84,10 @@ public class RelatorioEmpresaCorrida extends Relatorio {
}
private String getSql(String empresa) {
StringBuffer sql = new StringBuffer();
sql.append("SELECT DISTINCT c1.ruta_id, ");
StringBuilder sql = new StringBuilder();
sql.append("SELECT DISTINCT ");
sql.append(" c1.ruta_id, ");
sql.append(" c1.EMPRESACORRIDA_ID, ");
sql.append(" r.descruta AS linea, ");
sql.append(" e.nombempresa, ");
@ -110,42 +112,114 @@ public class RelatorioEmpresaCorrida extends Relatorio {
sql.append(" THEN 1 ");
sql.append(" ELSE 0 ");
sql.append(" END), 0) passageirosTransp, ");
sql.append(" COALESCE(SUM(t1.cantkmreal), 0) kmtotal, ");
sql.append(" COALESCE(km2.kmtotal, 0) kmtotal, ");
sql.append(" COALESCE(km2.kmonibusproprio, 0) kmOnibusProprio, ");
sql.append(" COALESCE(km2.kmonibusarrendados, 0) kmOnibusArrendados ");
sql.append("FROM ");
sql.append(" tramo t1 ");
sql.append("INNER JOIN ");
sql.append(" corrida_tramo ct ");
sql.append("ON ");
sql.append(" ct.tramo_id = t1.tramo_id ");
sql.append("INNER JOIN ");
sql.append(" corrida c1 ");
sql.append("ON ");
sql.append(" ct.corrida_id = c1.corrida_id ");
sql.append("AND ct.feccorrida = c1.feccorrida ");
sql.append("INNER JOIN ");
sql.append(" autobus a ");
sql.append("ON ");
sql.append(" ct.autobus_id = a.autobus_id ");
sql.append("LEFT JOIN ");
sql.append(" boleto b ");
sql.append("ON ");
sql.append(" b.corrida_id = c1.corrida_id ");
sql.append("AND b.feccorrida = c1.feccorrida ");
sql.append("LEFT JOIN ");
sql.append(" categoria cat ");
sql.append("ON ");
sql.append(" cat.categoria_id = b.categoria_id ");
sql.append("INNER JOIN ");
sql.append(" empresa e ");
sql.append("ON ");
sql.append(" e.empresa_id = c1.EMPRESACORRIDA_ID ");
sql.append("INNER JOIN ");
sql.append(" ruta r ");
sql.append("ON ");
sql.append(" r.ruta_id = c1.ruta_id ");
sql.append("LEFT JOIN ");
sql.append(" ( ");
sql.append(" SELECT ");
sql.append(" c.ruta_id ruta_id, ");
sql.append(" c.EMPRESACORRIDA_ID empresa_id, ");
sql.append(" COALESCE(SUM(t.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(" WHEN a.empresa_id = c.empresacorrida_id ");
sql.append(" THEN t.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(" WHEN a.empresa_id <> c.empresacorrida_id ");
sql.append(" THEN t.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(" corrida c ");
sql.append(" INNER JOIN ");
sql.append(" corrida_tramo ct ");
sql.append(" ON ");
sql.append(" ct.corrida_id = c.corrida_id ");
sql.append(" AND c.feccorrida = ct.feccorrida ");
sql.append(" INNER JOIN ");
sql.append(" tramo t ");
sql.append(" ON ");
sql.append(" t.tramo_id = ct.tramo_id ");
sql.append(" INNER JOIN ");
sql.append(" parada o ");
sql.append(" ON ");
sql.append(" o.parada_id = ct.origen_id ");
sql.append(" INNER JOIN ");
sql.append(" parada d ");
sql.append(" ON ");
sql.append(" d.parada_id = ct.destino_id ");
sql.append(" INNER JOIN ");
sql.append(" autobus a ");
sql.append(" ON ");
sql.append(" a.autobus_id = ct.autobus_id ");
sql.append(" INNER JOIN ");
sql.append(" empresa e ");
sql.append(" ON ");
sql.append(" e.empresa_id = a.empresa_id ");
sql.append(" WHERE c.activo <> 0 ");
sql.append(" AND e.empresa_id = 1 ");
sql.append(" AND ct.activo = 1 ");
sql.append(" AND c.feccorrida BETWEEN :fecInicio AND :fecFinal ");
sql.append(" AND ct.feccorrida BETWEEN :fecInicio AND :fecFinal ");
sql.append(" GROUP BY ");
sql.append(" c.ruta_id, ");
sql.append(" c.EMPRESACORRIDA_ID ) km2 ");
sql.append("ON (km2.ruta_id = r.ruta_id AND km2.empresa_id = e.empresa_id) ");
sql.append("WHERE 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("AND c1.feccorrida BETWEEN :fecInicio AND :fecFinal ");
sql.append(StringUtils.isBlank(empresa) ? "" : " AND e.empresa_id = :empresa_id ");
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 ");
sql.append(" e.nombempresa, ");
sql.append(" km2.kmtotal, ");
sql.append(" km2.kmonibusproprio, ");
sql.append(" km2.kmonibusarrendados ");
sql.append("ORDER BY ");
sql.append(" nombempresa, ");
sql.append(" linea");
return sql.toString();
}
}

View File

@ -7,7 +7,7 @@
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioEmpresaOnibus"
apply="${relatorioEmpresaOnibusController}"
contentStyle="overflow:auto" height="264px" width="550px"
contentStyle="overflow:auto" width="550px"
border="normal">
<grid fixedLayout="true">