bug #6594
bug #6593 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@48784 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
564fff79de
commit
ff7d2529bf
|
@ -29,8 +29,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
|
|||
public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
||||
|
||||
private static final Integer CEM = Integer.valueOf(100);
|
||||
private static final Integer MAX_DECIMAL = Integer.valueOf(3);
|
||||
private static final Integer MIN_DECIMAL = Integer.valueOf(2);
|
||||
private static final Integer DECIMAL = Integer.valueOf(4);
|
||||
private static String CONSTANTE_GRATUIDADE_CRIANCA;
|
||||
|
||||
enum IndicadorRelatorio {
|
||||
|
@ -146,8 +145,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
|||
}
|
||||
|
||||
if (totalMes != null && !totalMes.equals(BigDecimal.ZERO) && totalDias > 0) {
|
||||
row.put("MEDIA", totalMes.divide(BigDecimal.valueOf(totalDias), 2, RoundingMode.HALF_UP));
|
||||
|
||||
row.put("MEDIA", totalMes.divide(BigDecimal.valueOf(totalDias), 4, RoundingMode.HALF_UP));
|
||||
this.dados.add(row);
|
||||
}
|
||||
}
|
||||
|
@ -206,8 +204,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
|||
if (IndicadorRelatorio.fromInt(indicador).equals(IndicadorRelatorio.IAP)) {
|
||||
stmt.setInt("CAPACIDADE", assentos);
|
||||
stmt.setInt("CEM", CEM);
|
||||
stmt.setInt("MIN_DECIMAL", MIN_DECIMAL);
|
||||
stmt.setInt("MAX_DECIMAL", MAX_DECIMAL);
|
||||
stmt.setInt("DECIMAL", DECIMAL);
|
||||
}
|
||||
|
||||
ResultSet resultSet = stmt.executeQuery();
|
||||
|
@ -326,22 +323,26 @@ 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 ))), :MIN_DECIMAL ) VALOR, ");
|
||||
sql.append(" ( :CAPACIDADE * EXTENSAO_LINHA ))), :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(" ROUND(SUM(TAV.EQ), :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(" 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, 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(" (SELECT SUM(TR1.CANTKMREAL) EL, ");
|
||||
sql.append(" CR.CORRIDA_ID, ");
|
||||
sql.append(" CR.FECCORRIDA, ");
|
||||
sql.append(" CR.ROLOPERATIVO_ID ");
|
||||
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(" 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);
|
||||
|
@ -352,7 +353,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
|||
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 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 EQ, TAV.EL, TAV.CORRIDA_ID, TAV.FECCORRIDA ) FINAL_TAV ");
|
||||
|
@ -377,17 +378,18 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
|||
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(" INNER JOIN (SELECT ");
|
||||
sql.append(" SUM(TR1.CANTKMREAL) KM, ");
|
||||
sql.append(" CR.CORRIDA_ID, ");
|
||||
sql.append(" CR.FECCORRIDA ");
|
||||
sql.append(" FROM CORRIDA_TRAMO CT1 ");
|
||||
sql.append(" LEFT JOIN CORRIDA CR 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.CORRIDA_ID = :CORRIDA_ID ");
|
||||
sql.append(" AND TO_CHAR(CT1.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') ");
|
||||
sql.append(" AND CR.ROLOPERATIVO_ID = :ROLOPERATIVO_ID ");
|
||||
sql.append(" GROUP BY CR.CORRIDA_ID, CR.FECCORRIDA )SUB_KM ON SUB_KM.CORRIDA_ID = CR.CORRIDA_ID AND SUB_KM.FECCORRIDA = CR.FECCORRIDA ");
|
||||
|
||||
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(" AND CR.CORRIDA_ID = :CORRIDA_ID ");
|
||||
sql.append(" AND TO_CHAR(CR.FECCORRIDA, 'MMYYYY') = TO_CHAR(:DATA_MES, 'MMYYYY') ");
|
||||
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(" AND CR.ROLOPERATIVO_ID = :ROLOPERATIVO_ID ");
|
||||
|
@ -549,7 +551,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio {
|
|||
sql.append(" CIUDAD CO, ");
|
||||
sql.append(" CIUDAD CD ");
|
||||
sql.append(" WHERE RT.RUTA_ID = CR.RUTA_ID ");
|
||||
sql.append(" AND CR.ACTIVO <> 0 ");
|
||||
sql.append(" AND CR.ACTIVO = 1 ");
|
||||
sql.append(" AND RT.ACTIVO = 1 ");
|
||||
sql.append(" AND RO.ACTIVO = 1 ");
|
||||
sql.append(" AND DA.ACTIVO = 1 ");
|
||||
|
|
Loading…
Reference in New Issue