julio 2015-10-20 18:57:22 +00:00
parent b72815fc6a
commit f7a8bedbc9
1 changed files with 27 additions and 32 deletions

View File

@ -74,8 +74,6 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
Map<String, Object> parametros = this.relatorio.getParametros();
String sql = getSql();
System.out.println(sql);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
if (parametros.get("EMPRESA_ID") != null)
@ -143,8 +141,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
totalDias++;
}
BigDecimal ZERO = new BigDecimal(0);
if (valor != null && !valor.equals(ZERO)) {
if (valor != null) {
row.put("LINHA", this.resultSet.getString("SIGLA"));
row.put("LOTACAO", this.resultSet.getInt("ASSENTOS"));
row.put("SERVICO", this.resultSet.getString("TIPO_SERVICO"));
@ -227,9 +224,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
}
ResultSet resultSet = stmt.executeQuery();
while (resultSet.next()) {
RelatorioAcompanhamentoEquivalenteBean equivalenteBean = new RelatorioAcompanhamentoEquivalenteBean();
equivalenteBean.setValor(resultSet.getBigDecimal("VALOR"));
equivalenteBean.setCorridaId(resultSet.getInt("CORRIDA_ID"));
@ -315,7 +310,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
return sql.toString();
}
protected String getSqlIndicadorPax(boolean isServicoExtra ) {
protected String getSqlIndicadorPax(boolean isServicoExtra) {
StringBuilder sql = new StringBuilder();
sql.append("SELECT ");
@ -347,8 +342,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
StringBuilder sql = new StringBuilder();
sql.append("SELECT ");
sql.append(" ROUND(SUM(:CEM * (( EQUIVALENTE * EXTENSAO_LINHA ) / ");
sql.append(" ( :CAPACIDADE * EXTENSAO_LINHA ))), :DECIMAL ) VALOR, ");
sql.append(" COALESCE(ROUND(SUM(:CEM * (( EQUIVALENTE * EXTENSAO_LINHA ) / ");
sql.append(" ( :CAPACIDADE * EXTENSAO_LINHA ))), :DECIMAL ), 0) AS VALOR, ");
sql.append(" FINAL_TAV.CORRIDA_ID, FINAL_TAV.FECCORRIDA ");
sql.append("FROM ");
sql.append(" (SELECT ");
@ -356,9 +351,13 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
sql.append(" FROM ");
sql.append(" (SELECT ");
sql.append(" ROUND(( BO.NUMKMVIAJE / ( EXTENSAO_LINHA.EL ) * COUNT(1) ), :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, ");
sql.append(" EXTENSAO_LINHA.EL EL, C.CORRIDA_ID, C.FECCORRIDA ");
sql.append(" FROM CORRIDA C ");
sql.append(" LEFT JOIN BOLETO BO ON (C.CORRIDA_ID = BO.CORRIDA_ID AND C.FECCORRIDA = BO.FECCORRIDA ");
sql.append(" AND BO.INDSTATUSOPERACION = 'F' ");
sql.append(" AND BO.MOTIVOCANCELACION_ID IS NULL OR BO.MOTIVOCANCELACION_ID = 0 ");
sql.append(" AND BO.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA).append("), ");
sql.append(" (SELECT SUM(TR1.CANTKMREAL) EL, ");
sql.append(" CR.CORRIDA_ID, ");
sql.append(" CR.FECCORRIDA, ");
sql.append(" CR.ROLOPERATIVO_ID ");
@ -368,22 +367,17 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
sql.append(" AND (TR1.ORIGEN_ID = CR.ORIGEN_ID AND TR1.DESTINO_ID = CR.DESTINO_ID) ");
sql.append(" WHERE CR.ACTIVO = 1 AND RS.ACTIVO = 1 AND TR1.ACTIVO = 1 ");
sql.append(" GROUP BY CR.CORRIDA_ID, CR.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.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA);
sql.append(" AND EXTENSAO_LINHA.CORRIDA_ID = BO.CORRIDA_ID ");
sql.append(" AND EXTENSAO_LINHA.FECCORRIDA = BO.FECCORRIDA ");
sql.append(" WHERE C.CORRIDA_ID = :CORRIDA_ID ");
sql.append(" AND TO_CHAR(C.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') ");
sql.append(" AND EXTENSAO_LINHA.CORRIDA_ID = C.CORRIDA_ID ");
sql.append(" AND EXTENSAO_LINHA.FECCORRIDA = C.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 TO_CHAR(C.FECHORSALIDAORIGINAL, 'HH24:MI') = TO_CHAR(TO_DATE(:HORARIO, 'HH24:MI'), 'HH24:MI') ");
sql.append(isServicoExtra ? " AND C.TIPOSERVICIO_ID = 2 " : " AND C.TIPOSERVICIO_ID <> 2 ");
sql.append(" AND C.RUTA_ID = :RUTA_ID ");
sql.append(" AND BO.ACTIVO = 1 ");
sql.append(" AND C.ACTIVO = 1 ");
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 BO.NUMKMVIAJE, EXTENSAO_LINHA.EL, C.CORRIDA_ID, C.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");
@ -395,7 +389,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
protected String getSqlIndicadorReceitaKm(boolean isServicoExtra) {
StringBuilder sql = new StringBuilder();
sql.append("SELECT (SUB_REC.RECEITA/SUB_REC.KM) AS VALOR, ");
sql.append("SELECT ");
sql.append("COALESCE((SUB_REC.RECEITA/SUB_REC.KM), 0) AS VALOR, ");
sql.append("SUB_REC.CORRIDA_ID AS CORRIDA_ID, ");
sql.append("SUB_REC.FECCORRIDA AS FECCORRIDA ");
sql.append("FROM ");
@ -404,14 +399,17 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
sql.append(" SUB_KM.KM, ");
sql.append(" CR.CORRIDA_ID, ");
sql.append(" CR.FECCORRIDA ");
sql.append(" FROM BOLETO BO ");
sql.append(" INNER JOIN CORRIDA CR ON CR.CORRIDA_ID = BO.CORRIDA_ID AND CR.FECCORRIDA = BO.FECCORRIDA ");
sql.append(" FROM CORRIDA CR ");
sql.append(" LEFT JOIN BOLETO BO ON (CR.CORRIDA_ID = BO.CORRIDA_ID AND CR.FECCORRIDA = BO.FECCORRIDA ");
sql.append(" AND BO.INDSTATUSOPERACION = 'F' ");
sql.append(" AND BO.MOTIVOCANCELACION_ID IS NULL OR BO.MOTIVOCANCELACION_ID = 0 ");
sql.append(" AND BO.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA).append(") ");
sql.append(" INNER JOIN (SELECT SUM(TR1.CANTKMREAL) KM, CR.CORRIDA_ID, CR.FECCORRIDA ");
sql.append(" FROM CORRIDA CR ");
sql.append(" INNER JOIN RUTA_COMBINACION RS ON RS.RUTA_ID = CR.RUTA_ID ");
sql.append(" INNER JOIN TRAMO TR1 ON TR1.TRAMO_ID = RS.TRAMO_ID ");
sql.append(" AND (TR1.ORIGEN_ID = CR.ORIGEN_ID AND TR1.DESTINO_ID = CR.DESTINO_ID)");
sql.append(" WHERE CR.ACTIVO = 1 AND RS.ACTIVO = 1 AND TR1.ACTIVO = 1 ");
sql.append(" WHERE CR.ACTIVO = 1 AND RS.ACTIVO = 1 AND TR1.ACTIVO = 1 ");
sql.append(" AND CR.CORRIDA_ID = :CORRIDA_ID ");
sql.append(" AND TO_CHAR(CR.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') ");
sql.append(" AND TO_CHAR(CR.FECHORSALIDAORIGINAL, 'HH24:MI') = TO_CHAR(TO_DATE(:HORARIO, 'HH24:MI'), 'HH24:MI') ");
@ -420,16 +418,13 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
sql.append(" AND CR.ROLOPERATIVO_ID = :ROLOPERATIVO_ID ");
sql.append(" GROUP BY CR.CORRIDA_ID, CR.FECCORRIDA ");
sql.append(" )SUB_KM ON SUB_KM.CORRIDA_ID = CR.CORRIDA_ID AND SUB_KM.FECCORRIDA = CR.FECCORRIDA ");
sql.append(" WHERE BO.CORRIDA_ID = :CORRIDA_ID ");
sql.append(" AND TO_CHAR(BO.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') ");
sql.append(" WHERE CR.ACTIVO = 1 ");
sql.append(" AND CR.CORRIDA_ID = :CORRIDA_ID ");
sql.append(" AND TO_CHAR(CR.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') ");
sql.append(" AND TO_CHAR(CR.FECHORSALIDAORIGINAL, 'HH24:MI') = TO_CHAR(TO_DATE(:HORARIO, 'HH24:MI'), 'HH24:MI') ");
sql.append(isServicoExtra ? " AND CR.TIPOSERVICIO_ID = 2 " : " AND CR.TIPOSERVICIO_ID <> 2 ");
sql.append(" AND CR.RUTA_ID = :RUTA_ID ");
sql.append(" AND CR.ROLOPERATIVO_ID = :ROLOPERATIVO_ID ");
sql.append(" AND BO.ACTIVO = 1 ");
sql.append(" AND BO.INDSTATUSOPERACION = 'F' ");
sql.append(" AND BO.MOTIVOCANCELACION_ID IS NULL OR BO.MOTIVOCANCELACION_ID = 0 ");
sql.append(" AND BO.CATEGORIA_ID <> ").append(CONSTANTE_GRATUIDADE_CRIANCA);
sql.append(" GROUP BY CR.CORRIDA_ID, CR.FECCORRIDA, SUB_KM.KM ");
sql.append(" ) SUB_REC ");
sql.append("ORDER BY SUB_REC.FECCORRIDA ");