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

Tempo: 10 horas

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@43903 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2015-05-11 19:09:37 +00:00
parent dc3ce874d8
commit a8d5769e98
1 changed files with 19 additions and 19 deletions

View File

@ -84,7 +84,7 @@ public class RelatorioEmpresaCorrida extends Relatorio {
private String getSql(String empresa) { private String getSql(String empresa) {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
sql.append("select "); sql.append("SELECT ");
sql.append(" km2.empresa_id, "); sql.append(" km2.empresa_id, ");
sql.append(" km2.nombempresa, "); sql.append(" km2.nombempresa, ");
sql.append(" r.ruta_id, "); sql.append(" r.ruta_id, ");
@ -96,11 +96,9 @@ public class RelatorioEmpresaCorrida extends Relatorio {
sql.append(" COALESCE(km2.kmonibusproprio, 0) kmOnibusProprio, "); sql.append(" COALESCE(km2.kmonibusproprio, 0) kmOnibusProprio, ");
sql.append(" COALESCE(km2.kmonibusarrendados, 0) kmOnibusArrendados "); sql.append(" COALESCE(km2.kmonibusarrendados, 0) kmOnibusArrendados ");
sql.append("FROM ruta r "); sql.append("FROM ruta r ");
sql.append("INNER JOIN ruta_empresa re ON re.ruta_id = r.ruta_id ");
sql.append("INNER JOIN "); sql.append("INNER JOIN ");
sql.append(" ( SELECT "); sql.append(" (SELECT c.ruta_id ruta_id, e.empresa_id empresa_id, e.nombempresa nombempresa, ");
sql.append(" c.ruta_id ruta_id, ");
sql.append(" e.empresa_id empresa_id, ");
sql.append(" e.nombempresa nombempresa, ");
sql.append(" COALESCE(SUM(t.cantkmreal), 0) kmtotal, "); sql.append(" COALESCE(SUM(t.cantkmreal), 0) kmtotal, ");
sql.append(" COALESCE(SUM(CASE WHEN a.empresa_id = c.empresacorrida_id THEN t.cantkmreal ELSE 0 END), 0) kmOnibusProprio, "); sql.append(" COALESCE(SUM(CASE WHEN a.empresa_id = c.empresacorrida_id THEN t.cantkmreal ELSE 0 END), 0) kmOnibusProprio, ");
sql.append(" COALESCE(SUM(CASE WHEN a.empresa_id <> c.empresacorrida_id THEN t.cantkmreal ELSE 0 END), 0) kmOnibusArrendados "); sql.append(" COALESCE(SUM(CASE WHEN a.empresa_id <> c.empresacorrida_id THEN t.cantkmreal ELSE 0 END), 0) kmOnibusArrendados ");
@ -112,26 +110,28 @@ public class RelatorioEmpresaCorrida extends Relatorio {
sql.append(" INNER JOIN autobus a ON a.autobus_id = ct.autobus_id "); sql.append(" INNER JOIN autobus a ON a.autobus_id = ct.autobus_id ");
sql.append(" INNER JOIN empresa e ON e.empresa_id = a.empresa_id "); sql.append(" INNER JOIN empresa e ON e.empresa_id = a.empresa_id ");
sql.append(" WHERE c.activo <> 0 "); sql.append(" WHERE c.activo <> 0 ");
sql.append(StringUtils.isBlank(empresa) ? "" : " AND e.empresa_id = :empresa_id ");
sql.append(" AND ct.activo = 1 "); sql.append(" AND ct.activo = 1 ");
sql.append(" AND e.empresa_id = 1 ");
sql.append(" AND c.FECCORRIDA BETWEEN :fecInicio AND :fecFinal "); sql.append(" AND c.FECCORRIDA BETWEEN :fecInicio AND :fecFinal ");
sql.append(" GROUP BY c.ruta_id, e.empresa_id, e.nombempresa) km2 ON r.ruta_id = km2.ruta_id "); sql.append(" GROUP BY c.ruta_id, e.empresa_id, e.nombempresa) km2 ");
sql.append("INNER JOIN corrida c ON c.ruta_id = km2.ruta_id "); sql.append("ON r.ruta_id = km2.ruta_id AND re.empresa_id = km2.empresa_id ");
sql.append("INNER JOIN corrida_tramo ct ON ct.corrida_id = c.corrida_id AND c.feccorrida = ct.feccorrida "); sql.append("INNER JOIN corrida c ON c.ruta_id = re.ruta_id ");
sql.append("INNER JOIN tramo t ON t.tramo_id = ct.tramo_id ");
sql.append("INNER JOIN parada o ON o.parada_id = ct.origen_id ");
sql.append("INNER JOIN parada d ON d.parada_id = ct.destino_id ");
sql.append("INNER JOIN autobus a ON a.autobus_id = ct.autobus_id ");
sql.append("INNER JOIN empresa e ON e.empresa_id = a.empresa_id ");
sql.append("LEFT JOIN boleto b ON b.corrida_id = c.corrida_id AND b.feccorrida = c.feccorrida "); sql.append("LEFT JOIN boleto b ON b.corrida_id = c.corrida_id AND b.feccorrida = c.feccorrida ");
sql.append("LEFT OUTER JOIN categoria cat ON cat.categoria_id = b.categoria_id "); sql.append("LEFT OUTER JOIN categoria cat ON cat.categoria_id = b.categoria_id ");
sql.append("WHERE c.activo <> 0 "); sql.append("WHERE c.activo <> 0 ");
sql.append("AND e.empresa_id = 1 "); sql.append(StringUtils.isBlank(empresa) ? "" : "AND re.empresa_id = :empresa_id ");
sql.append("AND ct.activo = 1 "); sql.append("AND c.ruta_id = km2.ruta_id ");
sql.append("AND c.FECCORRIDA BETWEEN :fecInicio AND :fecFinal "); sql.append("AND b.FECCORRIDA BETWEEN :fecInicio AND :fecFinal ");
sql.append("GROUP BY km2.empresa_id, km2.nombempresa, r.ruta_id, r.descruta, km2.kmtotal, km2.kmonibusproprio, km2.kmonibusarrendados"); sql.append("GROUP BY ");
sql.append(" km2.empresa_id, ");
sql.append(" km2.nombempresa, ");
sql.append(" r.ruta_id, ");
sql.append(" r.descruta, ");
sql.append(" km2.kmtotal, ");
sql.append(" km2.kmonibusproprio, ");
sql.append(" km2.kmonibusarrendados ");
return sql.toString(); return sql.toString();
} }
} }