git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@29971 d1611594-4594-4d17-8e1d-87c2c4800839
parent
51394ca702
commit
0a97e35f62
|
@ -11,7 +11,6 @@ import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.rjconsultores.ventaboletos.entidad.Corrida;
|
|
||||||
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
|
||||||
import com.rjconsultores.ventaboletos.relatorios.utilitarios.beans.PesoOperacional;
|
import com.rjconsultores.ventaboletos.relatorios.utilitarios.beans.PesoOperacional;
|
||||||
|
|
||||||
|
@ -32,12 +31,13 @@ public class RelatorioOrigemDestino extends Relatorio {
|
||||||
|
|
||||||
String sql = getSQL(empresaIds, corridasIds, dataDe, dataAte, bilhetesGratuitos, trechosSemMovimento);
|
String sql = getSQL(empresaIds, corridasIds, dataDe, dataAte, bilhetesGratuitos, trechosSemMovimento);
|
||||||
|
|
||||||
List<PesoOperacional> lsPesoOperacionalRelatorio = getPesoOperacional(corridasIds, dataDe, dataAte);
|
List<PesoOperacional> lsPesoOperacionalRelatorio = getPesoOperacional(corridasIds, dataDe, dataAte, bilhetesGratuitos);
|
||||||
getParametros().put("lsPesoOperacionalRelatorio", lsPesoOperacionalRelatorio);
|
getParametros().put("lsPesoOperacionalRelatorio", lsPesoOperacionalRelatorio);
|
||||||
getParametros().put("SQL", sql);
|
getParametros().put("SQL", sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<PesoOperacional> getPesoOperacional(String corridasIds, String dataDe, String dataAte) throws SQLException {
|
private List<PesoOperacional> getPesoOperacional(String corridasIds, String dataDe, String dataAte,
|
||||||
|
Boolean bilhetesGratuitos) throws SQLException {
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append(" SELECT ");
|
sql.append(" SELECT ");
|
||||||
sql.append(" CA.CORRIDA_ID CORRIDA_ID, ");
|
sql.append(" CA.CORRIDA_ID CORRIDA_ID, ");
|
||||||
|
@ -47,9 +47,17 @@ public class RelatorioOrigemDestino extends Relatorio {
|
||||||
sql.append(" D.CVEPARADA CVE_DESTINO, ");
|
sql.append(" D.CVEPARADA CVE_DESTINO, ");
|
||||||
sql.append(" D.DESCPARADA DESTINO, ");
|
sql.append(" D.DESCPARADA DESTINO, ");
|
||||||
sql.append(" SUM(CA.PRECIOPAGADO) RECEITA ");
|
sql.append(" SUM(CA.PRECIOPAGADO) RECEITA ");
|
||||||
sql.append(" FROM CAJA CA INNER JOIN PARADA O ON O.PARADA_ID = CA.ORIGEN_ID ");
|
sql.append(" FROM CAJA CA ");
|
||||||
|
sql.append(" INNER JOIN PARADA O ON O.PARADA_ID = CA.ORIGEN_ID ");
|
||||||
sql.append(" INNER JOIN PARADA D ON D.PARADA_ID = CA.DESTINO_ID ");
|
sql.append(" INNER JOIN PARADA D ON D.PARADA_ID = CA.DESTINO_ID ");
|
||||||
sql.append(" WHERE 1=1 ");
|
sql.append(" WHERE CA.ACTIVO = 1 ");
|
||||||
|
sql.append(" AND ca.indreimpresion = 0 ");
|
||||||
|
sql.append(" AND CA.PRECIOBASE IS NOT NULL ");
|
||||||
|
if (bilhetesGratuitos) {
|
||||||
|
sql.append(" AND CA.PRECIOBASE >= 0 ");
|
||||||
|
} else {
|
||||||
|
sql.append(" AND CA.PRECIOBASE > 0 ");
|
||||||
|
}
|
||||||
if (!corridasIds.equals("Todas")) {
|
if (!corridasIds.equals("Todas")) {
|
||||||
sql.append(" AND CA.CORRIDA_ID IN (").append(corridasIds).append(")");
|
sql.append(" AND CA.CORRIDA_ID IN (").append(corridasIds).append(")");
|
||||||
}
|
}
|
||||||
|
@ -71,21 +79,19 @@ public class RelatorioOrigemDestino extends Relatorio {
|
||||||
ResultSet rset = null;
|
ResultSet rset = null;
|
||||||
rset = stmt.executeQuery();
|
rset = stmt.executeQuery();
|
||||||
|
|
||||||
Map<Corrida.Id, Map<String, BigDecimal>> mapPorCorridaReceitaSaida = new HashMap<Corrida.Id, Map<String, BigDecimal>>();
|
Map<Integer, Map<String, BigDecimal>> mapPorCorridaReceitaSaida = new HashMap<Integer, Map<String, BigDecimal>>();
|
||||||
Map<Corrida.Id, Map<String, BigDecimal>> mapPorCorridaReceitaChegada = new HashMap<Corrida.Id, Map<String, BigDecimal>>();
|
Map<Integer, Map<String, BigDecimal>> mapPorCorridaReceitaChegada = new HashMap<Integer, Map<String, BigDecimal>>();
|
||||||
Map<Corrida.Id, BigDecimal> mapTotalReceitaCorrida = new HashMap<Corrida.Id, BigDecimal>();
|
Map<Integer, BigDecimal> mapTotalReceitaCorrida = new HashMap<Integer, BigDecimal>();
|
||||||
List<Corrida.Id> lsCorridaIds = new ArrayList<Corrida.Id>();
|
List<Integer> lsCorridaIds = new ArrayList<Integer>();
|
||||||
while (rset.next()) {
|
while (rset.next()) {
|
||||||
Corrida.Id id = new Corrida.Id();
|
Integer idCorrida = rset.getInt("CORRIDA_ID");
|
||||||
id.setCorridaId(rset.getInt("CORRIDA_ID"));
|
|
||||||
id.setFeccorrida(rset.getDate("FECCORRIDA"));
|
|
||||||
|
|
||||||
if (!lsCorridaIds.contains(id)) {
|
if (!lsCorridaIds.contains(idCorrida)) {
|
||||||
lsCorridaIds.add(id);
|
lsCorridaIds.add(idCorrida);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, BigDecimal> mapReceitaSaida = mapPorCorridaReceitaSaida.get(id);
|
Map<String, BigDecimal> mapReceitaSaida = mapPorCorridaReceitaSaida.get(idCorrida);
|
||||||
Map<String, BigDecimal> mapReceitaChegada = mapPorCorridaReceitaChegada.get(id);
|
Map<String, BigDecimal> mapReceitaChegada = mapPorCorridaReceitaChegada.get(idCorrida);
|
||||||
|
|
||||||
if (mapReceitaSaida == null) {
|
if (mapReceitaSaida == null) {
|
||||||
mapReceitaSaida = new HashMap<String, BigDecimal>();
|
mapReceitaSaida = new HashMap<String, BigDecimal>();
|
||||||
|
@ -96,12 +102,12 @@ public class RelatorioOrigemDestino extends Relatorio {
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal receita = rset.getBigDecimal("RECEITA");
|
BigDecimal receita = rset.getBigDecimal("RECEITA");
|
||||||
BigDecimal totalReceita = mapTotalReceitaCorrida.get(id);
|
BigDecimal totalReceita = mapTotalReceitaCorrida.get(idCorrida);
|
||||||
if (totalReceita == null) {
|
if (totalReceita == null) {
|
||||||
totalReceita = BigDecimal.ZERO;
|
totalReceita = BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
totalReceita = totalReceita.add(receita);
|
totalReceita = totalReceita.add(receita);
|
||||||
mapTotalReceitaCorrida.put(id, totalReceita);
|
mapTotalReceitaCorrida.put(idCorrida, totalReceita);
|
||||||
|
|
||||||
String cveOrigem = rset.getString("CVE_ORIGEM");
|
String cveOrigem = rset.getString("CVE_ORIGEM");
|
||||||
String origem = rset.getString("ORIGEM");
|
String origem = rset.getString("ORIGEM");
|
||||||
|
@ -125,14 +131,14 @@ public class RelatorioOrigemDestino extends Relatorio {
|
||||||
mapReceitaChegada.put(chaveDestino, receita);
|
mapReceitaChegada.put(chaveDestino, receita);
|
||||||
}
|
}
|
||||||
|
|
||||||
mapPorCorridaReceitaSaida.put(id, mapReceitaSaida);
|
mapPorCorridaReceitaSaida.put(idCorrida, mapReceitaSaida);
|
||||||
mapPorCorridaReceitaChegada.put(id, mapReceitaChegada);
|
mapPorCorridaReceitaChegada.put(idCorrida, mapReceitaChegada);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<PesoOperacional> lsPesoOperacionalRelatorio = new ArrayList<PesoOperacional>();
|
List<PesoOperacional> lsPesoOperacionalRelatorio = new ArrayList<PesoOperacional>();
|
||||||
for (Corrida.Id id : lsCorridaIds) {
|
for (Integer idCorrida : lsCorridaIds) {
|
||||||
Map<String, BigDecimal> mapReceitaSaida = mapPorCorridaReceitaSaida.get(id);
|
Map<String, BigDecimal> mapReceitaSaida = mapPorCorridaReceitaSaida.get(idCorrida);
|
||||||
Map<String, BigDecimal> mapReceitaChegada = mapPorCorridaReceitaChegada.get(id);
|
Map<String, BigDecimal> mapReceitaChegada = mapPorCorridaReceitaChegada.get(idCorrida);
|
||||||
|
|
||||||
List<String> lsTodasParadas = new ArrayList<String>();
|
List<String> lsTodasParadas = new ArrayList<String>();
|
||||||
for (String parada : mapReceitaChegada.keySet()) {
|
for (String parada : mapReceitaChegada.keySet()) {
|
||||||
|
@ -144,7 +150,7 @@ public class RelatorioOrigemDestino extends Relatorio {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal totalReceita = mapTotalReceitaCorrida.get(id);
|
BigDecimal totalReceita = mapTotalReceitaCorrida.get(idCorrida);
|
||||||
for (String parada : lsTodasParadas) {
|
for (String parada : lsTodasParadas) {
|
||||||
BigDecimal receitaSaida = mapReceitaSaida.get(parada) == null ? BigDecimal.ZERO : mapReceitaSaida.get(parada);
|
BigDecimal receitaSaida = mapReceitaSaida.get(parada) == null ? BigDecimal.ZERO : mapReceitaSaida.get(parada);
|
||||||
BigDecimal receitaChegada = mapReceitaChegada.get(parada) == null ? BigDecimal.ZERO : mapReceitaChegada.get(parada);
|
BigDecimal receitaChegada = mapReceitaChegada.get(parada) == null ? BigDecimal.ZERO : mapReceitaChegada.get(parada);
|
||||||
|
@ -152,8 +158,8 @@ public class RelatorioOrigemDestino extends Relatorio {
|
||||||
BigDecimal peso = totalReceita.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : soma.divide(totalReceita, 2, RoundingMode.HALF_EVEN);
|
BigDecimal peso = totalReceita.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : soma.divide(totalReceita, 2, RoundingMode.HALF_EVEN);
|
||||||
|
|
||||||
PesoOperacional pesoOperacional = new PesoOperacional();
|
PesoOperacional pesoOperacional = new PesoOperacional();
|
||||||
pesoOperacional.setCorridaId(id.getCorridaId());
|
pesoOperacional.setCorridaId(idCorrida);
|
||||||
pesoOperacional.setFecCorrida(id.getFeccorrida());
|
// pesoOperacional.setFecCorrida(id.getFeccorrida());
|
||||||
pesoOperacional.setLocalidade(parada);
|
pesoOperacional.setLocalidade(parada);
|
||||||
pesoOperacional.setReceitaSaida(receitaSaida);
|
pesoOperacional.setReceitaSaida(receitaSaida);
|
||||||
pesoOperacional.setReceitaChegada(receitaChegada);
|
pesoOperacional.setReceitaChegada(receitaChegada);
|
||||||
|
|
Loading…
Reference in New Issue