diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java index 0574aa0de..883249589 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java @@ -8,13 +8,16 @@ import java.math.RoundingMode; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAcompanhamentoEquivalenteBean; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; /** @@ -102,10 +105,17 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { cal.setTime(dataInicial); cal.set(Calendar.DATE, 1); + List ls = getValorByIndicador(corridaId, rolOperativoId, (Integer) this.relatorio.getParametros().get("INDICADOR"), assentos, dataInicial); + // Roda todos os dias do mes for (int dia = 1; dia <= cal.getActualMaximum(Calendar.DATE); dia++) { - BigDecimal valor = getValorByIndicador(cal.getTime(), corridaId, rolOperativoId, (Integer) this.relatorio.getParametros().get("INDICADOR"), assentos); + BigDecimal valor = BigDecimal.ZERO; + RelatorioAcompanhamentoEquivalenteBean equivalenteBean = buscarAcompanhamentoEquivalente(ls, cal.getTime()); + + if (equivalenteBean != null) { + valor = equivalenteBean.getValor(); + } if (valor != null) { totalMes = totalMes.add(valor); @@ -138,7 +148,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { } - protected BigDecimal getValorByIndicador(Date data, Integer corridaId, Integer rolOperativoId, Integer indicador, Integer assentos) throws SQLException { + protected List getValorByIndicador(Integer corridaId, + Integer rolOperativoId, Integer indicador, Integer assentos, Date dataInicial) throws SQLException { String sql = null; @@ -166,12 +177,21 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { break; } - return getValorIndicador(data, corridaId, rolOperativoId, indicador, assentos, sql); + return getListaValoresIndicadores(corridaId, rolOperativoId, indicador, assentos, sql, dataInicial); } }); } + protected RelatorioAcompanhamentoEquivalenteBean buscarAcompanhamentoEquivalente(List ls, Date data) { + + for (RelatorioAcompanhamentoEquivalenteBean equivalente : ls) { + if (equivalente.getFeccorrida().equals(data)) + return equivalente; + } + return null; + } + protected String getSqlIndicadorEq() { StringBuilder sql = new StringBuilder(); sql.append(" SELECT ROUND((SELECT TF.PRECIO"); @@ -255,41 +275,49 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { } protected String getSqlIndicadorIap() { + StringBuilder sql = new StringBuilder(); - sql.append(" SELECT ROUND(SUM(:CEM * (( EQUIVALENTE * EXTENSAO_LINHA ) / ( :CAPACIDADE * "); - sql.append(" EXTENSAO_LINHA ))), "); - sql.append(" :MAX_DECIMAL ) VALOR "); - sql.append(" FROM (SELECT ROUND(SUM(EQ), :MAX_DECIMAL) EQUIVALENTE, "); - sql.append(" EL EXTENSAO_LINHA "); - sql.append(" FROM (SELECT ROUND(( BO.NUMKMVIAJE / ( EXTENSAO_LINHA.EL ) * COUNT(1)"); - sql.append(" ), :MAX_DECIMAL ) "); - sql.append(" EQ, "); - sql.append(" EXTENSAO_LINHA.EL "); - sql.append(" EL "); - sql.append(" FROM BOLETO BO, CORRIDA C, "); - sql.append(" (SELECT SUM(TR1.CANTKMREAL) EL "); - sql.append(" FROM CORRIDA_TRAMO CT1, "); - sql.append(" TRAMO TR1 "); - sql.append(" WHERE CT1.CORRIDA_ID = :CORRIDA_ID "); - sql.append(" AND CT1.FECCORRIDA = :FECCORRIDA "); - sql.append(" AND TR1.TRAMO_ID = CT1.TRAMO_ID "); - sql.append(" AND CT1.ACTIVO = 1 ) EXTENSAO_LINHA "); - sql.append(" WHERE BO.CORRIDA_ID = :CORRIDA_ID "); - sql.append(" AND BO.FECCORRIDA = :FECCORRIDA "); - sql.append(" AND C.corrida_id = BO.corrida_id "); - sql.append(" AND C.feccorrida = BO.feccorrida "); - sql.append(" AND C.roloperativo_id = :ROLOPERATIVO_ID "); - sql.append(" AND BO.ACTIVO = 1 "); - sql.append(" AND ( BO.MOTIVOCANCELACION_ID IS NULL "); - sql.append(" OR BO.MOTIVOCANCELACION_ID = 0 ) "); - sql.append(" GROUP BY BO.NUMKMVIAJE, EXTENSAO_LINHA.EL) "); - sql.append(" GROUP BY EQ, EL) "); + sql.append("SELECT "); + sql.append(" ROUND(SUM(:CEM * (( EQUIVALENTE * EXTENSAO_LINHA ) / "); + sql.append(" ( :CAPACIDADE * EXTENSAO_LINHA ))), :MAX_DECIMAL ) VALOR, "); + sql.append(" FINAL_TAV.CORRIDA_ID, FINAL_TAV.FECCORRIDA "); + sql.append("FROM "); + sql.append(" (SELECT "); + sql.append(" ROUND(SUM(TAV.EQ), :MAX_DECIMAL) EQUIVALENTE, TAV.EL EXTENSAO_LINHA, TAV.CORRIDA_ID, TAV.FECCORRIDA "); + sql.append(" FROM "); + sql.append(" (SELECT "); + sql.append(" ROUND(( BO.NUMKMVIAJE / ( EXTENSAO_LINHA.EL ) * COUNT(1) ), :MAX_DECIMAL) EQ, "); + sql.append(" EXTENSAO_LINHA.EL EL, BO.CORRIDA_ID, BO.FECCORRIDA "); + sql.append(" FROM BOLETO BO, CORRIDA C, "); + sql.append(" (SELECT SUM(TR1.CANTKMREAL) EL, CT1.CORRIDA_ID, CT1.FECCORRIDA, CR.ROLOPERATIVO_ID "); + sql.append(" FROM CORRIDA CR "); + sql.append(" INNER JOIN CORRIDA_TRAMO CT1 ON CR.CORRIDA_ID = CT1.CORRIDA_ID AND CR.FECCORRIDA = CT1.FECCORRIDA "); + sql.append(" INNER JOIN TRAMO TR1 ON TR1.TRAMO_ID = CT1.TRAMO_ID "); + sql.append(" WHERE CT1.ACTIVO = 1 AND CR.ACTIVO <> 0 AND TR1.ACTIVO = 1 "); + sql.append(" GROUP BY CT1.CORRIDA_ID, CT1.FECCORRIDA, CR.ROLOPERATIVO_ID) EXTENSAO_LINHA "); + sql.append(" WHERE BO.CORRIDA_ID = :CORRIDA_ID "); + sql.append(" AND TO_CHAR(BO.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') "); + // sql.append(" AND BO.FECCORRIDA between to_date('01052015 00:00','ddmmyyyy hh24:mi') and to_date('31052015 23:59','ddmmyyyy hh24:mi') "); + sql.append(" and EXTENSAO_LINHA.CORRIDA_ID = BO.CORRIDA_ID "); + sql.append(" AND EXTENSAO_LINHA.FECCORRIDA = BO.FECCORRIDA "); + sql.append(" AND EXTENSAO_LINHA.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID "); + sql.append(" AND C.CORRIDA_ID = BO.CORRIDA_ID "); + sql.append(" AND C.FECCORRIDA = BO.FECCORRIDA "); + sql.append(" AND C.ROLOPERATIVO_ID = :ROLOPERATIVO_ID "); + sql.append(" AND BO.ACTIVO = 1 "); + sql.append(" AND C.ACTIVO <> 0 "); + sql.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR BO.MOTIVOCANCELACION_ID = 0 ) "); + sql.append(" GROUP BY BO.NUMKMVIAJE, EXTENSAO_LINHA.EL, BO.CORRIDA_ID, BO.FECCORRIDA) TAV "); + sql.append(" GROUP BY EQ, TAV.EL, TAV.CORRIDA_ID, TAV.FECCORRIDA ) FINAL_TAV "); + sql.append("GROUP BY FINAL_TAV.CORRIDA_ID, FINAL_TAV.FECCORRIDA "); + sql.append("ORDER BY FINAL_TAV.FECCORRIDA"); return sql.toString(); } protected String getSqlIndicadorReceitaKm() { + StringBuilder sql = new StringBuilder(); sql.append(" SELECT (RECEITA / (SELECT SUM(TR1.CANTKMREAL) "); sql.append(" FROM CORRIDA_TRAMO CT1 "); @@ -314,12 +342,11 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { sql.append(" BO.MOTIVOCANCELACION_ID = 0)) RC "); return sql.toString(); - } protected String getSqlIndicadorReceitaViagem() { - StringBuilder sql = new StringBuilder(); + StringBuilder sql = new StringBuilder(); sql.append("SELECT SUM(BO.PRECIOPAGADO + BO.IMPORTEPEDAGIO + BO.IMPORTESEGURO + "); sql.append(" BO.IMPORTETAXAEMBARQUE) VALOR "); sql.append(" FROM BOLETO BO "); @@ -334,7 +361,6 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { sql.append(" BO.MOTIVOCANCELACION_ID = 0) "); return sql.toString(); - } protected String getSqlIndicadorEquivalentes() { @@ -397,8 +423,10 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { } - protected BigDecimal getValorIndicador(Date data, Integer corridaId, Integer rolOperativoId, Integer indicador, Integer assentos, String sql) throws SQLException { - BigDecimal retorno = null; + protected List getListaValoresIndicadores(Integer corridaId, Integer rolOperativoId, + Integer indicador, Integer assentos, String sql, Date dataInicial) throws SQLException { + // BigDecimal retorno = null; + List lsEquivalente = new ArrayList(); try { Connection conexao = this.getConexao(); @@ -406,7 +434,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); stmt.setInt("CORRIDA_ID", corridaId); - stmt.setDate("FECCORRIDA", new java.sql.Date(data.getTime())); + // stmt.setDate("FECCORRIDA", new java.sql.Date(data.getTime())); + stmt.setDate("DATA_MES", new java.sql.Date(dataInicial.getTime())); if (IndicadorRelatorio.fromInt(indicador).equals(IndicadorRelatorio.IAP)) { stmt.setInt("CAPACIDADE", assentos); @@ -419,16 +448,24 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { ResultSet resultSet = stmt.executeQuery(); - if (resultSet.next()) - retorno = resultSet.getBigDecimal("VALOR"); - + while (resultSet.next()) { + + RelatorioAcompanhamentoEquivalenteBean equivalenteBean = new RelatorioAcompanhamentoEquivalenteBean(); + equivalenteBean.setValor(resultSet.getBigDecimal("VALOR")); + equivalenteBean.setCorridaId(resultSet.getInt("CORRIDA_ID")); + equivalenteBean.setFeccorrida(resultSet.getDate("FECCORRIDA")); + lsEquivalente.add(equivalenteBean); + // retorno = resultSet.getBigDecimal("VALOR"); + + } + resultSet.close(); stmt.close(); } catch (Exception e) { e.printStackTrace(); } - return retorno; + return lsEquivalente; } /* @@ -492,6 +529,9 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { sql.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID "); sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID "); sql.append(" AND CR.TIPOSERVICIO_ID = NVL(:TIPOSERVICIO_ID, CR.TIPOSERVICIO_ID) "); + + // sql.append(" AND CR.FECCORRIDA BETWEEN TO_DATE('01052015 00:00','DDMMYYYY HH24:MI') AND TO_DATE('05052015 23:59','DDMMYYYY HH24:MI') "); + sql.append(" AND TO_CHAR(CR.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') "); sql.append(" ORDER BY INTERESTADUAL, GRUPO_LINHA, SIGLA"); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamento.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamento.java index b1afe3e23..ba92bb1eb 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamento.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamento.java @@ -278,54 +278,23 @@ public class RelatorioAproveitamento extends Relatorio { sql.append(" BO.BOLETO_ID AS BOLETO_ID, "); sql.append(" BO.ORIGEN_ID AS ORIGEN_ID, "); sql.append(" BO.DESTINO_ID AS DESTINO_ID, "); - sql.append(" CASE "); - sql.append(" WHEN BO.PRECIOBASE = 0 "); - sql.append(" THEN 1 "); - sql.append(" ELSE 0 "); - sql.append(" END AS GRATUITO, "); - sql.append(" CASE "); - sql.append(" WHEN BO.PRECIOBASE > 0 "); - sql.append(" THEN 1 "); - sql.append(" ELSE 0 "); - sql.append(" END AS VENDIDOS, "); - sql.append(" TR.CANTKMREAL, "); + sql.append(" BO.NUMKMVIAJE AS CANTKMREAL, "); + sql.append(" CASE WHEN BO.PRECIOBASE = 0 THEN 1 ELSE 0 END AS GRATUITO, "); + sql.append(" CASE WHEN BO.PRECIOBASE > 0 THEN 1 ELSE 0 END AS VENDIDOS, "); sql.append(" RO.DESCROLOPERATIVO, "); - sql.append(" ( "); - sql.append(" SELECT "); - sql.append(" SUM(CANTKMREAL) "); - sql.append(" FROM "); - sql.append(" CORRIDA_TRAMO BO "); - sql.append(" INNER JOIN "); - sql.append(" TRAMO T "); - sql.append(" ON "); - sql.append(" T.TRAMO_ID = BO.TRAMO_ID "); - sql.append(" WHERE "); - sql.append(" BO.CORRIDA_ID = :CORRIDA_ID "); + sql.append(" (SELECT SUM(CANTKMREAL) FROM CORRIDA_TRAMO BO "); + sql.append(" INNER JOIN TRAMO T ON T.TRAMO_ID = BO.TRAMO_ID "); + sql.append(" WHERE BO.CORRIDA_ID = :CORRIDA_ID "); sql.append(" AND BO.FECCORRIDA = :FECCORRIDA "); sql.append(" AND BO.ACTIVO = 1) AS KM_CORRIDA, "); - sql.append(" ( "); - sql.append(" SELECT "); - sql.append(" TF.PRECIO "); - sql.append(" FROM "); - sql.append(" CORRIDA CR "); - sql.append(" INNER JOIN "); - sql.append(" TRAMO TR "); - sql.append(" ON "); - sql.append(" TR.ORIGEN_ID = CR.ORIGEN_ID "); - sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID "); - sql.append(" INNER JOIN "); - sql.append(" TARIFA TF "); - sql.append(" ON "); - sql.append(" TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID "); + sql.append(" (SELECT TF.PRECIO FROM CORRIDA CR "); + sql.append(" INNER JOIN TRAMO TR ON TR.ORIGEN_ID = CR.ORIGEN_ID AND TR.DESTINO_ID = CR.DESTINO_ID "); + sql.append(" INNER JOIN TARIFA TF ON TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID "); sql.append(" AND TF.MARCA_ID = CR.MARCA_ID "); sql.append(" AND TF.RUTA_ID = CR.RUTA_ID "); sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID "); - sql.append(" INNER JOIN "); - sql.append(" VIGENCIA_TARIFA VT "); - sql.append(" ON "); - sql.append(" TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); - sql.append(" WHERE "); - sql.append(" CR.CORRIDA_ID = :CORRIDA_ID "); + sql.append(" INNER JOIN VIGENCIA_TARIFA VT ON TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); + sql.append(" WHERE CR.CORRIDA_ID = :CORRIDA_ID "); sql.append(" AND CR.FECCORRIDA = :FECCORRIDA "); sql.append(" AND TF.STATUSTARIFA = 'A' "); sql.append(" AND TF.ACTIVO = 1 "); @@ -333,70 +302,25 @@ public class RelatorioAproveitamento extends Relatorio { sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA) AS TARIFA "); sql.append(" FROM "); sql.append(" BOLETO BO "); - sql.append(" INNER JOIN "); - sql.append(" CORRIDA CR "); - sql.append(" ON "); - sql.append(" BO.CORRIDA_ID = CR.CORRIDA_ID "); - sql.append(" AND BO.FECCORRIDA = CR.FECCORRIDA "); - sql.append(" INNER JOIN "); - sql.append(" CORRIDA_TRAMO CT "); - sql.append(" ON "); - sql.append(" BO.ORIGEN_ID = CT.ORIGEN_ID "); - sql.append(" AND BO.DESTINO_ID = CT.DESTINO_ID "); - sql.append(" INNER JOIN "); - sql.append(" TRAMO TR "); - sql.append(" ON "); - sql.append(" TR.TRAMO_ID = CT.TRAMO_ID "); - sql.append(" INNER JOIN "); - sql.append(" TARIFA TF "); - sql.append(" ON "); - sql.append(" TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID "); - sql.append(" AND TF.MARCA_ID = CR.MARCA_ID "); - sql.append(" AND TF.RUTA_ID = CR.RUTA_ID "); - sql.append(" INNER JOIN "); - sql.append(" VIGENCIA_TARIFA VT "); - sql.append(" ON "); - sql.append(" TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); - sql.append(" INNER JOIN "); - sql.append(" ROL_OPERATIVO RO "); - sql.append(" ON "); - sql.append(" RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID, "); - sql.append(" DET_DIAGRAMA_AUTOBUS DD "); + sql.append(" INNER JOIN CORRIDA CR ON BO.CORRIDA_ID = CR.CORRIDA_ID AND BO.FECCORRIDA = CR.FECCORRIDA "); + sql.append(" INNER JOIN ROL_OPERATIVO RO ON RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID "); + sql.append(" INNER JOIN DET_DIAGRAMA_AUTOBUS DD ON RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); sql.append(" WHERE "); sql.append(" BO.CORRIDA_ID = :CORRIDA_ID "); sql.append(" AND BO.FECCORRIDA = :FECCORRIDA "); sql.append(" AND CR.ACTIVO = 1 "); - sql.append(" AND CT.ACTIVO = 1 "); sql.append(" AND BO.ACTIVO = 1 "); sql.append(" AND BO.INDSTATUSOPERACION = 'F' "); + sql.append(" AND BO.CATEGORIA_ID <> 52 "); sql.append(" AND BO.MOTIVOCANCELACION_ID IS NULL "); - sql.append(" AND TF.TRAMO_ID = TR.TRAMO_ID "); - sql.append(" AND TF.STATUSTARIFA = 'A' "); - sql.append(" AND TF.ACTIVO = 1 "); - sql.append(" AND VT.ACTIVO = 1 "); - sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA "); - sql.append(" AND RO.DIAGRAMAAUTOBUS_ID = DD.DIAGRAMAAUTOBUS_ID "); - sql.append(" AND DD.VENDIBLE = 1 "); - sql.append(" AND DD.ACTIVO = 1 "); sql.append(" GROUP BY "); + sql.append(" BO.PRECIOPAGADO, "); sql.append(" BO.BOLETO_ID, "); sql.append(" BO.ORIGEN_ID, "); sql.append(" BO.DESTINO_ID, "); - sql.append(" ( "); - sql.append(" CASE "); - sql.append(" WHEN BO.PRECIOBASE = 0 "); - sql.append(" THEN 1 "); - sql.append(" ELSE 0 "); - sql.append(" END), "); - sql.append(" ( "); - sql.append(" CASE "); - sql.append(" WHEN BO.PRECIOBASE > 0 "); - sql.append(" THEN 1 "); - sql.append(" ELSE 0 "); - sql.append(" END), "); - sql.append(" TR.CANTKMREAL, "); - sql.append(" BO.PRECIOPAGADO, "); - sql.append(" TF.PRECIO, "); + sql.append(" BO.NUMKMVIAJE, "); + sql.append(" (CASE WHEN BO.PRECIOBASE = 0 THEN 1 ELSE 0 END), "); + sql.append(" (CASE WHEN BO.PRECIOBASE > 0 THEN 1 ELSE 0 END), "); sql.append(" RO.DESCROLOPERATIVO "); sql.append(" ORDER BY "); sql.append(" BO.ORIGEN_ID, "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAcompanhamentoEquivalenteBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAcompanhamentoEquivalenteBean.java new file mode 100644 index 000000000..ada1a7920 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAcompanhamentoEquivalenteBean.java @@ -0,0 +1,42 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +public class RelatorioAcompanhamentoEquivalenteBean { + + private BigDecimal valor; + private Integer corridaId; + private Date feccorrida; + + public BigDecimal getValor() { + return valor; + } + + public void setValor(BigDecimal valor) { + this.valor = valor; + } + + public Integer getCorridaId() { + return corridaId; + } + + public void setCorridaId(Integer corridaId) { + this.corridaId = corridaId; + } + + public Date getFeccorrida() { + return feccorrida; + } + + public void setFeccorrida(Date feccorrida) { + this.feccorrida = feccorrida; + } + + @Override + public String toString() { + return "RelatorioAcompanhamentoEquivalenteBean [valor=" + valor + ", corridaId=" + corridaId + ", feccorrida=" + feccorrida + "]"; + } + +}