fixes bug#AL-1188

dev: Wallace 
qua: 

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@114360 d1611594-4594-4d17-8e1d-87c2c4800839
master
celio 2022-09-23 17:25:25 +00:00
parent 410ded34ca
commit 12f690ede5
1 changed files with 36 additions and 14 deletions

View File

@ -2,9 +2,7 @@ package com.rjconsultores.ventaboletos.relatorios.impl;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
@ -31,6 +29,7 @@ public class RelatorioQuadroDemonstrativoMovimentoPassageirosNovoLayout extends
String dataDe = (String) parametros.get("DATA_DE"), dataAte = (String) parametros.get("DATA_ATE"), linhasIds = null;
Boolean isLinhas = false;
Integer empresaId = null;
List<Map<String,Object>> dadosOrdenados = new ArrayList<Map<String,Object>>();
if (parametros.get("LINHAS") != null) {
linhasIds = (String) parametros.get("LINHAS");
@ -65,7 +64,7 @@ public class RelatorioQuadroDemonstrativoMovimentoPassageirosNovoLayout extends
dataResult.put("totalReceita", rset.getBigDecimal("totalReceita"));
dataResult.put("numRuta", rset.getString("numRuta"));
for (Iterator iterator = dados.iterator(); iterator.hasNext();) {
for (Iterator iterator = dadosOrdenados.iterator(); iterator.hasNext();) {
@SuppressWarnings("unchecked")
Map<String, Object> map = (Map<String, Object>) iterator.next();
@ -98,11 +97,12 @@ public class RelatorioQuadroDemonstrativoMovimentoPassageirosNovoLayout extends
}
if (!agrupar) {
this.dados.add(dataResult);
dadosOrdenados.add(dataResult);
}
}
this.dados.addAll(ordenaListMap(dadosOrdenados));
this.resultSet = rset;
}
});
@ -137,7 +137,7 @@ public class RelatorioQuadroDemonstrativoMovimentoPassageirosNovoLayout extends
sql.append(" END ");
sql.append(" ) AS totalvolta, ");
sql.append(" rc.rutacombinacion_id AS rutaCombinacionId, ");
sql.append(" rs.numsecuencia, ");
sql.append(" tri.numsecuencia, ");
sql.append(" r.indsentidoida ");
sql.append(" FROM ");
@ -165,9 +165,10 @@ public class RelatorioQuadroDemonstrativoMovimentoPassageirosNovoLayout extends
sql.append(" AND tar.destino_id = b.destino_id ");
sql.append(" AND tar.TRAMO_ID = tr.TRAMO_ID ");
sql.append(" AND tar.activo = 1 ) ");
sql.append(" LEFT JOIN ruta_secuencia rs ON (tr.tramo_id = rs.tramo_id ");
sql.append(" AND r.ruta_id = rs.ruta_id ");
sql.append(" AND rs.activo =1 ) ");
sql.append(" LEFT JOIN corrida_tramo tri ON ( b.corrida_id = tri.corrida_id ");
sql.append(" AND tri.origen_id = b.origen_id ");
sql.append(" AND b.feccorrida = tri.feccorrida ");
sql.append(" AND tri.activo = 1 ) ");
sql.append(" WHERE b.empresacorrida_id IN :empresa_id ");
@ -187,14 +188,35 @@ public class RelatorioQuadroDemonstrativoMovimentoPassageirosNovoLayout extends
sql.append(" ori.descparada, ");
sql.append(" des.descparada, ");
sql.append(" rc.rutacombinacion_id, ");
sql.append(" rs.numsecuencia,");
sql.append(" tri.numsecuencia,");
sql.append(" r.indsentidoida ");
sql.append(" ORDER BY ");
sql.append(" r.indsentidoida DESC, ");
sql.append(" rs.numsecuencia, ");
sql.append(" tri.numsecuencia, ");
sql.append(" r.descruta, ");
sql.append(" rc.rutacombinacion_id ");
return sql.toString();
}
public List<Map<String, Object>> ordenaListMap(List<Map<String, Object>> dadosOrdenados) {
List<Map<String, Object>> semelhancas = new ArrayList<Map<String,Object>>();
for ( Map<String, Object> p : dadosOrdenados ) {
String origem = p.get("origem").toString();
for (Map<String, Object> dado : dadosOrdenados) {
@SuppressWarnings("unchecked")
Map<String, Object> map = (Map<String, Object>) dado;
if (origem.equals(map.get("origem").toString()) && !semelhancas.contains(map) ) {
semelhancas.add(map);
}
}
}
return semelhancas;
}
}