From d49f1da6382fc3ad2876e46c37816dcc3e7baad3 Mon Sep 17 00:00:00 2001 From: julio Date: Wed, 26 Jan 2022 17:50:50 +0000 Subject: [PATCH] fixes bug#23471 dev: Wallace qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@110550 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioLinhasHorario.java | 50 +++++-------------- 1 file changed, 13 insertions(+), 37 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java index 2f3874f46..674dabd16 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java @@ -166,16 +166,13 @@ public class RelatorioLinhasHorario extends Relatorio { horarioBean.setDestino((String) rset.getObject("DESTINO")); horarioBean.setSomaExtensaoTrecho((BigDecimal) rset.getObject("EXTENSAO_TRECHO")); horarioBean.setPaxKmTransportado((BigDecimal) rset.getObject("KM_REAL")); - - horarioBean.setKmRodado((BigDecimal) rset.getObject("KM_RODADO")); - horarioBean = trecho(horarioBean); horarioBean = calcTotal(horarioBean); horarioBean = calcMediaReceitaTotal(horarioBean); horarioBean = calcTotalViagem(horarioBean); - // horarioBean = calcKmRodado(horarioBean); + horarioBean = calcKmRodado(horarioBean); horarioBean = calcEquivalente(horarioBean); horarioBean = calcMpa(horarioBean); horarioBean = calcMpe(horarioBean); @@ -195,24 +192,17 @@ public class RelatorioLinhasHorario extends Relatorio { totalOrdinario = totalOrdinario.add(horarioBean.getOrd() != null ? horarioBean.getOrd() : BigDecimal.ZERO); totalExtra = totalExtra.add(horarioBean.getExtra() != null ? horarioBean.getExtra() : BigDecimal.ZERO); totalViagem = totalViagem.add(horarioBean.getTotalViagem() != null ? horarioBean.getTotalViagem() : BigDecimal.ZERO); - - /** //No double deck corrida2_id estrá preenchido para os dois pisos (nas duas corridas). //Implementado esta lógica para não somar os dois KMs. Deverá somar somente um dos pisos - if (Boolean.TRUE.equals(horarioBean.getIsDoubleDeck())) { - if (horarioBean.getServico2() != null && !listaCorridas.contains(horarioBean.getServico2().longValue())) { - // Um dos pisos não será marcadado como double deck para não realizar o agrupamento dentro do relatório. + if(Boolean.TRUE.equals(horarioBean.getIsDoubleDeck())) { + if(horarioBean.getServico2()!=null && !listaCorridas.contains(horarioBean.getServico2().longValue())) { + //Um dos pisos não será marcadado como double deck para não realizar o agrupamento dentro do relatório. horarioBean.setIsDoubleDeck(Boolean.FALSE); totalKmRodado = totalKmRodado.add(horarioBean.getKmRodado() != null ? horarioBean.getKmRodado() : BigDecimal.ZERO); } - } else { - totalKmRodado = totalKmRodado.add(horarioBean.getKmRodado() != null ? horarioBean.getKmRodado() : BigDecimal.ZERO); + }else { + totalKmRodado = totalKmRodado.add(horarioBean.getKmRodado() != null ? horarioBean.getKmRodado() : BigDecimal.ZERO); } - **/ - - // calculo do km_rodado feito direto via banco de dados - totalKmRodado = totalKmRodado.add(horarioBean.getKmRodado() != null ? horarioBean.getKmRodado() : BigDecimal.ZERO); - listaCorridas.add(horarioBean.getServico().longValue()); totalAbsoluto = totalAbsoluto.add(horarioBean.getAbsol() != null ? horarioBean.getAbsol() : BigDecimal.ZERO); totalEquivalente = totalEquivalente.add(horarioBean.getEquivalente() != null ? horarioBean.getEquivalente() : BigDecimal.ZERO); @@ -407,8 +397,7 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" TIPO_LINHA, "); sql.append(" ISDOUBLEDECK, "); sql.append(" ABSOL, "); - sql.append(" COALESCE(SUM(KM_REAL), 0) AS KM_REAL, "); - sql.append(" KM_RODADO "); + sql.append(" COALESCE(SUM(KM_REAL), 0) AS KM_REAL "); sql.append(" FROM "); sql.append(" (SELECT "); sql.append(" R.RUTA_ID, "); @@ -433,11 +422,7 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" TB2.ORD, "); sql.append(" TB2.EXTRA, "); sql.append(" CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' ELSE 'INTERMUNICIPAL' END TIPO_LINHA, "); - -// sql.append(" CASE WHEN C.CORRIDA2_ID IS NULL THEN 0 ELSE 1 END ISDOUBLEDECK, "); - sql.append(" TB2.ISDOUBLEDECK, "); - sql.append("CASE WHEN TB2.ISDOUBLEDECK = 0 OR (C.CORRIDA2_ID IS NULL OR C.CORRIDA_ID > C.CORRIDA2_ID) THEN TB2.KM_RODADO_GERAL ELSE 0 END KM_RODADO, "); - + sql.append(" CASE WHEN C.CORRIDA2_ID IS NULL THEN 0 ELSE 1 END ISDOUBLEDECK, "); sql.append(" ABSOL, "); sql.append(" CJ.KM_REAL AS KM_REAL "); sql.append(" FROM CORRIDA C "); @@ -469,15 +454,7 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORASALIDA, "); sql.append(" COUNT(CASE WHEN C.TIPOSERVICIO_ID = 1 THEN 1 ELSE NULL END) AS ORD, "); sql.append(" COUNT(CASE WHEN C.TIPOSERVICIO_ID = 2 THEN 1 ELSE NULL END) AS EXTRA, "); - sql.append(" NVL(TF.PRECIO, 0) AS TARIFA, "); - sql.append(" MAX(CASE WHEN EXISTS (SELECT COUNT(1) AS VENDEU, C.CORRIDA2_ID "); - sql.append(" FROM CORRIDA C_AUX "); - sql.append(" JOIN CAJA BO_AUX ON BO_AUX.CORRIDA_ID = C.CORRIDA2_ID AND BO_AUX.FECCORRIDA = C.FECCORRIDA "); - sql.append(" WHERE C_AUX.CORRIDA_ID = C.CORRIDA2_ID "); - sql.append(" AND C_AUX.FECCORRIDA = C.FECCORRIDA "); - sql.append(" AND BO_AUX.CAJA_ID IS NOT NULL AND ROWNUM = 1 "); - sql.append(" GROUP BY C.CORRIDA2_ID) THEN 1 ELSE 0 END ) AS ISDOUBLEDECK, "); - sql.append(" (COUNT(C.TIPOSERVICIO_ID) * TR.CANTKMREAL) KM_RODADO_GERAL "); + sql.append(" NVL(TF.PRECIO, 0) AS TARIFA "); sql.append(" FROM CORRIDA C "); sql.append(" INNER JOIN PARADA ORIGEM ON C.Origen_Id = ORIGEM.PARADA_ID "); sql.append(" INNER JOIN PARADA DESTINO ON C.DESTINO_ID = DESTINO.PARADA_ID "); @@ -494,10 +471,9 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') "); sql.append(" GROUP BY C.CORRIDA_ID, C.CORRIDA2_ID, "); sql.append(" C.ROLOPERATIVO_ID, "); - sql.append(" C.RUTA_ID, "); - sql.append(" DESTINO.CVEPARADA, "); + sql.append(" c.ruta_id, "); + sql.append(" Destino.Cveparada, "); sql.append(" ORIGEM.CVEPARADA, "); - sql.append(" TR.CANTKMREAL, "); sql.append(" TO_CHAR(C.FECHORSALIDA, 'HH24:MI'), "); sql.append(" NVL(TF.PRECIO, 0) "); sql.append(" ) TB2 ON (TB2.CORRIDA_ID = C.CORRIDA_ID AND (TB2.CORRIDA2_ID=C.CORRIDA2_ID OR (TB2.CORRIDA2_ID IS NULL AND C.CORRIDA2_ID IS NULL)) and tb2.c_ruta_id = c.ruta_id "); @@ -647,9 +623,9 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" NVL(TF.PRECIO, 0), DA.CANTASIENTOS, CS.DESCCLASE, TR.CANTKMREAL, TB2.ORD, TB2.EXTRA, ABSOL, "); sql.append(" CO.ESTADO_ID, CD.ESTADO_ID, ORIGEM.CVEPARADA, DESTINO.CVEPARADA, CJ.PRECIOPAGADO, "); sql.append(" CJ.IMPORTESEGURO, CJ.IMPORTETAXAEMBARQUE, CJ.IMPORTEPEDAGIO, "); - sql.append(" CJ.EQUIVALENTE, CJ.KM_REAL , CJ.BOLETO_ID, C.CORRIDA2_ID, TB2.ISDOUBLEDECK, TB2.KM_RODADO_GERAL ) "); + sql.append(" CJ.EQUIVALENTE, CJ.KM_REAL , CJ.BOLETO_ID, C.CORRIDA2_ID ) "); sql.append("GROUP BY GRUPO_RUTA, HORA, SERVICO, SERVICO2, SENTIDO, LOT, CLA, TARIFA, ORIGEM, DESTINO, "); - sql.append(" EXTENSAO, BAGAGENS, ORD, EXTRA, TIPO_LINHA, ISDOUBLEDECK, ABSOL, KM_RODADO "); + sql.append(" EXTENSAO, BAGAGENS, ORD, EXTRA, TIPO_LINHA, ISDOUBLEDECK, ABSOL "); sql.append("ORDER BY TIPO_LINHA, GRUPO_RUTA, SERVICO, SERVICO2, ORIGEM, DESTINO "); log.info(sql.toString()); return sql.toString();