From 28d6a9cf75e02c3015980f6291086640a9c7c3f0 Mon Sep 17 00:00:00 2001 From: wilian Date: Mon, 19 Oct 2015 20:14:07 +0000 Subject: [PATCH] fixes bug #6759 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@49185 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioLinhasHorario.java | 44 ++++++++++++++----- .../impl/RelatorioOrigemDestino.java | 6 +++ 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java index e07b1004a..31e796aa9 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java @@ -82,6 +82,8 @@ public class RelatorioLinhasHorario extends Relatorio { Integer tipoServico = (Integer) parametros.get("TIPOSERVICIO_ID"); String sql = getSql(lsNumLinha, lsNumServico, empresa, tipoServico, grupoRuta); + + log.info(sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); ResultSet rset = null; @@ -419,12 +421,6 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" ABSOL, "); sql.append(" CJ.KM_REAL AS KM_REAL "); sql.append("FROM "); - sql.append(" (SELECT RS.RUTA_ID, SUM(NVL(T.CANTKMREAL, 0)) AS EXTENSAO "); - sql.append(" FROM RUTA_SECUENCIA RS "); - sql.append(" INNER JOIN TRAMO T ON (RS.TRAMO_ID = T.TRAMO_ID ) "); - sql.append(" WHERE RS.ACTIVO = 1 "); - sql.append(" AND T.ACTIVO = 1 "); - sql.append(" GROUP BY RS.RUTA_ID) TB1, "); sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, 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 "); @@ -453,7 +449,11 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" BO.BOLETO_ID, "); sql.append(" BO.NUMKMVIAJE * COUNT(1) AS KM_REAL, "); 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)), 3) EQUIVALENTE, "); + sql.append("("); + sql.append(" SELECT DISTINCT NVL(B.NUMKMVIAJE, 0)"); + sql.append(" FROM BOLETO B"); + sql.append(" WHERE B.BOLETO_ID = BO.BOLETO_ID"); + sql.append(")), 3) EQUIVALENTE,"); sql.append(" SUM(NVL(BO.IMPORTESEGURO, 0)) AS IMPORTESEGURO, "); sql.append(" SUM(NVL(BO.IMPORTETAXAEMBARQUE, 0)) AS IMPORTETAXAEMBARQUE, "); sql.append(" SUM(NVL(BO.IMPORTEPEDAGIO, 0)) AS IMPORTEPEDAGIO, "); @@ -492,8 +492,32 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append("LEFT JOIN EVENTO_EXTRA EE ON (EE.CORRIDA_ID = C.CORRIDA_ID AND EE.FECCORRIDA = C.FECCORRIDA AND EE.TIPOEVENTOEXTRA_ID = 1 ) "); sql.append("LEFT JOIN TARIFA TF ON (TF.CLASESERVICIO_ID = C.CLASESERVICIO_ID AND TF.DESTINO_ID = C.DESTINO_ID AND TF.ORIGEN_ID = C.ORIGEN_ID AND TF.MARCA_ID = C.MARCA_ID AND TF.RUTA_ID = C.RUTA_ID ) "); sql.append("LEFT JOIN VIGENCIA_TARIFA VTF ON (TF.VIGENCIATARIFA_ID = VTF.VIGENCIATARIFA_ID AND C.FECCORRIDA BETWEEN VTF.FECINICIOVIGENCIA AND VTF.FECFINVIGENCIA ) "); - sql.append("WHERE TB1.RUTA_ID = C.RUTA_ID "); - sql.append("AND TB2.CORRIDA_ID = C.CORRIDA_ID "); + sql.append("INNER JOIN "); + sql.append("( "); + sql.append("SELECT DISTINCT B.ORIGEN_ID, B.DESTINO_ID, B.EMPRESACORRIDA_ID, RS.RUTA_ID, CO.CORRIDA_ID, NVL(B.NUMKMVIAJE, 0) AS EXTENSAO "); + sql.append("FROM RUTA_SECUENCIA RS "); + sql.append("INNER JOIN BOLETO B ON B.RUTA_ID = RS.RUTA_ID "); + sql.append("INNER JOIN CORRIDA CO ON (CO.CORRIDA_ID = B.CORRIDA_ID AND CO.FECCORRIDA = B.FECCORRIDA) "); + sql.append("WHERE RS.ACTIVO = 1 "); + sql.append("AND B.ACTIVO = 1 "); + sql.append("AND CO.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + if (lsNumServico.size() > 0) { + for (Corrida corrida : lsNumServico) { + if (lsNumServico.indexOf(corrida) == 0) { + sql.append(" AND CO.CORRIDA_ID IN ( " + corrida.getId().getCorridaId()); + } else { + sql.append(" , " + corrida.getId().getCorridaId() + " "); + } + } + sql.append(" ) "); + } + sql.append(empresa == null ? "" : " AND CO.EMPRESACORRIDA_ID = " + empresa.getEmpresaId()); + sql.append(") TB5 ON TB5.ORIGEN_ID = ORIGEM.PARADA_ID "); + sql.append("AND TB5.DESTINO_ID = DESTINO.PARADA_ID "); + sql.append("AND TB5.EMPRESACORRIDA_ID = C.EMPRESACORRIDA_ID "); + sql.append("AND TB5.RUTA_ID = C.RUTA_ID "); + sql.append("AND TB5.CORRIDA_ID = C.CORRIDA_ID "); + sql.append("WHERE TB2.CORRIDA_ID = C.CORRIDA_ID "); sql.append("AND TB2.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID "); sql.append("AND TB2.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI') "); sql.append("AND TB4.CORRIDA_ID = C.CORRIDA_ID "); @@ -532,7 +556,7 @@ public class RelatorioLinhasHorario extends Relatorio { 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("GROUP BY R.RUTA_ID, NVL(GR.DESCGRUPO, 'Não Definido'), TO_CHAR(C.FECHORSALIDA, 'HH24:MI'), C.CORRIDA_ID, R.INDSENTIDOIDA, "); - sql.append(" DA.CANTASIENTOS, CS.DESCCLASE, EXTENSAO, TB2.ORD, TB2.EXTRA, ABSOL, "); + sql.append(" DA.CANTASIENTOS, CS.DESCCLASE, TB5.EXTENSAO, 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 ) "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java index 46e1ff842..6c3a0c443 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioOrigemDestino.java @@ -12,6 +12,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.log4j.Logger; + import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.beans.PesoOperacional; import com.rjconsultores.ventaboletos.service.ConstanteService; @@ -19,6 +21,8 @@ import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; public class RelatorioOrigemDestino extends Relatorio { + private static Logger log = Logger.getLogger(RelatorioOrigemDestino.class); + private static String CONSTANTE_GRATUIDADE_CRIANCA; public RelatorioOrigemDestino(Map parametros, Connection conexao) throws Exception { @@ -38,6 +42,8 @@ public class RelatorioOrigemDestino extends Relatorio { Boolean trechosSemMovimento = (Boolean) getParametros().get("TRECHOS_SEM_MOVIMENTO"); String sql = getSQL(empresaIds, corridasIds, dataDe, dataAte, bilhetesGratuitos, trechosSemMovimento); + + log.info(sql); List lsPesoOperacionalRelatorio = getPesoOperacional(corridasIds, dataDe, dataAte, bilhetesGratuitos, empresaIds, trechosSemMovimento); getParametros().put("lsPesoOperacionalRelatorio", lsPesoOperacionalRelatorio);