B247 - Relatório RLH (Resumo de Linhas por Horário) (fixes bug #6592)

Tempo: 04 horas

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@47498 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2015-09-02 19:29:21 +00:00
parent f3a912970f
commit 72d7af975f
1 changed files with 16 additions and 20 deletions

View File

@ -148,8 +148,8 @@ public class RelatorioLinhasHorario extends Relatorio {
horarioBean.setOrigem((String) rset.getObject("ORIGEM")); horarioBean.setOrigem((String) rset.getObject("ORIGEM"));
horarioBean.setDestino((String) rset.getObject("DESTINO")); horarioBean.setDestino((String) rset.getObject("DESTINO"));
horarioBean.setSomaExtensaoTrecho((BigDecimal) rset.getObject("EXTENSAO_TRECHO")); horarioBean.setSomaExtensaoTrecho((BigDecimal) rset.getObject("EXTENSAO_TRECHO"));
horarioBean.setPaxKmTransportado((BigDecimal) rset.getObject("KM_REAL"));
horarioBean = trecho(horarioBean); horarioBean = trecho(horarioBean);
horarioBean = calcTotal(horarioBean); horarioBean = calcTotal(horarioBean);
@ -164,7 +164,6 @@ public class RelatorioLinhasHorario extends Relatorio {
horarioBean = calcEq(horarioBean); horarioBean = calcEq(horarioBean);
horarioBean = calcRsViagem(horarioBean); horarioBean = calcRsViagem(horarioBean);
horarioBean = calcPaxKmOfertado(horarioBean); horarioBean = calcPaxKmOfertado(horarioBean);
horarioBean = calcPaxKmTransportado(horarioBean);
horarioBean = calcIap(horarioBean); horarioBean = calcIap(horarioBean);
lsDadosRelatorio.add(horarioBean); lsDadosRelatorio.add(horarioBean);
@ -346,12 +345,6 @@ public class RelatorioLinhasHorario extends Relatorio {
return horarioBean; return horarioBean;
} }
private RelatorioLinhasHorarioBean calcPaxKmTransportado(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal paxKmTransportado = horarioBean.getExtensao().multiply(horarioBean.getEquivalente());
horarioBean.setPaxKmTransportado(paxKmTransportado);
return horarioBean;
}
private RelatorioLinhasHorarioBean calcIap(RelatorioLinhasHorarioBean horarioBean) { private RelatorioLinhasHorarioBean calcIap(RelatorioLinhasHorarioBean horarioBean) {
BigDecimal iap = null; BigDecimal iap = null;
BigDecimal CENTO = BigDecimal.TEN.multiply(BigDecimal.TEN); BigDecimal CENTO = BigDecimal.TEN.multiply(BigDecimal.TEN);
@ -394,7 +387,7 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append("RUTA_ID, GRUPO_RUTA, HORA, SERVICO, SENTIDO , LOT, CLA, TARIFA, ORIGEM, DESTINO, "); sql.append("RUTA_ID, GRUPO_RUTA, HORA, SERVICO, SENTIDO , LOT, CLA, TARIFA, ORIGEM, DESTINO, ");
sql.append("EXTENSAO, SUM(EQUIVALENTE * EXTENSAO) AS EXTENSAO_TRECHO, "); sql.append("EXTENSAO, SUM(EQUIVALENTE * EXTENSAO) AS EXTENSAO_TRECHO, ");
sql.append("BAGAGENS, SUM(SEGURO) AS SEGURO, SUM(TX_EMBARQUE) AS TX_EMBARQUE, SUM(PEDAGIO) AS PEDAGIO, SUM(PASSAGENS) AS PASSAGENS, "); sql.append("BAGAGENS, SUM(SEGURO) AS SEGURO, SUM(TX_EMBARQUE) AS TX_EMBARQUE, SUM(PEDAGIO) AS PEDAGIO, SUM(PASSAGENS) AS PASSAGENS, ");
sql.append("ORD, EXTRA, TIPO_LINHA, ABSOL "); sql.append("ORD, EXTRA, TIPO_LINHA, ABSOL, SUM(KM_REAL) AS KM_REAL ");
sql.append("FROM "); sql.append("FROM ");
sql.append("(SELECT "); sql.append("(SELECT ");
sql.append(" R.RUTA_ID, "); sql.append(" R.RUTA_ID, ");
@ -403,21 +396,22 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" C.CORRIDA_ID AS SERVICO, "); sql.append(" C.CORRIDA_ID AS SERVICO, ");
sql.append(" R.INDSENTIDOIDA AS SENTIDO, "); sql.append(" R.INDSENTIDOIDA AS SENTIDO, ");
sql.append(" DA.CANTASIENTOS AS LOT, "); sql.append(" DA.CANTASIENTOS AS LOT, ");
sql.append(" NVL(CS.CVECLASE, '') AS CLA, "); sql.append(" NVL(CS.DESCCLASE, '') AS CLA, ");
sql.append(" NVL(TF.PRECIOORIGINAL, 0) AS TARIFA, "); sql.append(" NVL(TF.PRECIOORIGINAL, 0) AS TARIFA, ");
sql.append(" ORIGEM.CVEPARADA AS ORIGEM, "); sql.append(" ORIGEM.CVEPARADA AS ORIGEM, ");
sql.append(" DESTINO.CVEPARADA AS DESTINO, "); sql.append(" DESTINO.CVEPARADA AS DESTINO, ");
sql.append(" EXTENSAO, "); sql.append(" EXTENSAO AS EXTENSAO, ");
sql.append(" CJ.EQUIVALENTE AS EQUIVALENTE, "); sql.append(" CJ.EQUIVALENTE AS EQUIVALENTE, ");
sql.append(" SUM(EE.IMPINGRESO) AS BAGAGENS, "); sql.append(" SUM(EE.IMPINGRESO) AS BAGAGENS, ");
sql.append(" CJ.IMPORTESEGURO AS SEGURO, "); sql.append(" CJ.IMPORTESEGURO AS SEGURO, ");
sql.append(" CJ.IMPORTETAXAEMBARQUE AS TX_EMBARQUE, "); sql.append(" CJ.IMPORTETAXAEMBARQUE AS TX_EMBARQUE, ");
sql.append(" CJ.IMPORTEPEDAGIO AS PEDAGIO, "); sql.append(" CJ.IMPORTEPEDAGIO AS PEDAGIO, ");
sql.append(" CJ.PRECIOPAGADO AS PASSAGENS, "); sql.append(" CJ.PRECIOPAGADO AS PASSAGENS, ");
sql.append(" ORD, "); sql.append(" ORD, ");
sql.append(" EXTRA, "); sql.append(" EXTRA, ");
sql.append(" CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' ELSE 'INTERMUNICIPAL' END TIPO_LINHA, "); sql.append(" CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' ELSE 'INTERMUNICIPAL' END TIPO_LINHA, ");
sql.append(" ABSOL "); sql.append(" ABSOL, ");
sql.append(" CJ.KM_REAL AS KM_REAL ");
sql.append("FROM "); sql.append("FROM ");
sql.append(" (SELECT RS.RUTA_ID, SUM(NVL(T.CANTKMREAL, 0)) AS EXTENSAO "); sql.append(" (SELECT RS.RUTA_ID, SUM(NVL(T.CANTKMREAL, 0)) AS EXTENSAO ");
sql.append(" FROM RUTA_SECUENCIA RS "); sql.append(" FROM RUTA_SECUENCIA RS ");
@ -449,6 +443,7 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" CO.ROLOPERATIVO_ID, "); sql.append(" CO.ROLOPERATIVO_ID, ");
sql.append(" CO.RUTA_ID, "); sql.append(" CO.RUTA_ID, ");
sql.append(" CO.EMPRESACORRIDA_ID, "); sql.append(" CO.EMPRESACORRIDA_ID, ");
sql.append(" BO.NUMKMVIAJE * COUNT(1) AS KM_REAL, ");
sql.append(" ROUND((BO.NUMKMVIAJE * COUNT(1) / "); sql.append(" ROUND((BO.NUMKMVIAJE * COUNT(1) / ");
sql.append(" (SELECT SUM(TR.CANTKMREAL) FROM RUTA_SECUENCIA RS, TRAMO TR WHERE RS.RUTA_ID = CO.RUTA_ID AND RS.TRAMO_ID = TR.TRAMO_ID)), 2) EQUIVALENTE, "); sql.append(" (SELECT SUM(TR.CANTKMREAL) FROM RUTA_SECUENCIA RS, TRAMO TR WHERE RS.RUTA_ID = CO.RUTA_ID AND RS.TRAMO_ID = TR.TRAMO_ID)), 2) EQUIVALENTE, ");
sql.append(" SUM(NVL(BO.IMPORTESEGURO, 0)) AS IMPORTESEGURO, "); sql.append(" SUM(NVL(BO.IMPORTESEGURO, 0)) AS IMPORTESEGURO, ");
@ -526,10 +521,11 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append("AND C.ACTIVO <> 0 AND ORIGEM.ACTIVO = 1 AND DESTINO.ACTIVO = 1 "); sql.append("AND C.ACTIVO <> 0 AND ORIGEM.ACTIVO = 1 AND DESTINO.ACTIVO = 1 ");
sql.append("AND R.ACTIVO = 1 AND RO.ACTIVO = 1 AND DA.ACTIVO = 1 AND CS.ACTIVO = 1 "); sql.append("AND R.ACTIVO = 1 AND RO.ACTIVO = 1 AND DA.ACTIVO = 1 AND CS.ACTIVO = 1 ");
sql.append("AND VTF.FECMODIF = (SELECT MAX(FECMODIF) FROM VIGENCIA_TARIFA WHERE TF.VIGENCIATARIFA_ID = VIGENCIATARIFA_ID AND C.FECCORRIDA BETWEEN FECINICIOVIGENCIA AND FECFINVIGENCIA) ");
sql.append("GROUP BY R.RUTA_ID, NVL(GR.DESCGRUPO, 'Não Definido'), TO_CHAR(C.FECHORSALIDA, 'HH24:MI'), C.CORRIDA_ID, R.INDSENTIDOIDA, "); sql.append("GROUP BY R.RUTA_ID, NVL(GR.DESCGRUPO, 'Não Definido'), TO_CHAR(C.FECHORSALIDA, 'HH24:MI'), C.CORRIDA_ID, R.INDSENTIDOIDA, ");
sql.append(" TF.PRECIOORIGINAL, DA.CANTASIENTOS, CS.CVECLASE, EXTENSAO, ORD, EXTRA, ABSOL, "); sql.append(" TF.PRECIOORIGINAL, DA.CANTASIENTOS, CS.DESCCLASE, EXTENSAO, ORD, EXTRA, ABSOL, ");
sql.append(" CO.ESTADO_ID, CD.ESTADO_ID, ORIGEM.CVEPARADA, DESTINO.CVEPARADA, CJ.PRECIOPAGADO, "); sql.append(" CO.ESTADO_ID, CD.ESTADO_ID, ORIGEM.CVEPARADA, DESTINO.CVEPARADA, CJ.PRECIOPAGADO, ");
sql.append(" CJ.IMPORTESEGURO, CJ.IMPORTETAXAEMBARQUE, CJ.IMPORTEPEDAGIO, CJ.EQUIVALENTE "); sql.append(" CJ.IMPORTESEGURO, CJ.IMPORTETAXAEMBARQUE, CJ.IMPORTEPEDAGIO, CJ.EQUIVALENTE, CJ.KM_REAL ");
sql.append("ORDER BY NVL(GR.DESCGRUPO, 'Não Definido'), C.CORRIDA_ID ) "); sql.append("ORDER BY NVL(GR.DESCGRUPO, 'Não Definido'), C.CORRIDA_ID ) ");
sql.append("GROUP BY RUTA_ID, GRUPO_RUTA, HORA, SERVICO, SENTIDO, LOT, CLA, TARIFA, ORIGEM, DESTINO, "); sql.append("GROUP BY RUTA_ID, GRUPO_RUTA, HORA, SERVICO, SENTIDO, LOT, CLA, TARIFA, ORIGEM, DESTINO, ");
sql.append("EXTENSAO, BAGAGENS, ORD, EXTRA, TIPO_LINHA, ABSOL"); sql.append("EXTENSAO, BAGAGENS, ORD, EXTRA, TIPO_LINHA, ABSOL");