From 40f5d6a0269efe85d2c2fb5b0d2bc529f0d9679d Mon Sep 17 00:00:00 2001 From: julio Date: Mon, 26 Aug 2013 19:01:46 +0000 Subject: [PATCH] =?UTF-8?q?RHL=20-=20Corre=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@30027 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioLinhasHorario.java | 220 +++++++++--------- .../RelatorioLinhasHorario_pt_BR.properties | 3 +- .../templates/RelatorioLinhasHorario.jasper | Bin 106502 -> 109692 bytes .../templates/RelatorioLinhasHorario.jrxml | 189 +++++++++------ .../RelatorioLinhasHorarioBean.java | 45 ++-- .../RelatorioLinhasHorarioController.java | 19 +- .../render/RenderRelatorioLinhaHorario.java | 5 +- web/WEB-INF/i3-label_pt_BR.label | 3 + .../filtroRelatorioLinhasHorario.zul | 15 +- 9 files changed, 287 insertions(+), 212 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java index 69edcfe08..1db58eea8 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLinhasHorario.java @@ -75,6 +75,8 @@ public class RelatorioLinhasHorario extends Relatorio { Integer tipoServico = (Integer) parametros.get("TIPOSERVICIO_ID"); String sql = getSql(lsNumLinha, lsNumServico, empresa, tipoServico, grupoRuta); + System.out.println(sql); + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); ResultSet rset = null; @@ -105,6 +107,9 @@ public class RelatorioLinhasHorario extends Relatorio { BigDecimal totalPaxKMTransportado = BigDecimal.ZERO; BigDecimal totalIAP = BigDecimal.ZERO; + BigDecimal totalTxEmbarque = BigDecimal.ZERO; + BigDecimal totalPedagio = BigDecimal.ZERO; + String group = null; while (rset.next()) { RelatorioLinhasHorarioBean horarioBean = new RelatorioLinhasHorarioBean(); @@ -112,7 +117,7 @@ public class RelatorioLinhasHorario extends Relatorio { group = ((String) rset.getObject("GRUPO_RUTA")); horarioBean.setGrupoRuta(group); - + horarioBean.setTipoLinha((String) rset.getObject("TIPO_LINHA")); horarioBean.setHora((String) rset.getObject("HORA")); @@ -124,13 +129,18 @@ public class RelatorioLinhasHorario extends Relatorio { horarioBean.convetSentido(null); horarioBean.setLot((BigDecimal) rset.getObject("LOT")); horarioBean.setCla((String) rset.getObject("CLA")); - horarioBean.setExtensaoTrecho((BigDecimal) rset.getObject("EXTENSAO_TRECHO")); horarioBean.setExtensao((BigDecimal) rset.getObject("EXTENSAO")); horarioBean.setTarifa((BigDecimal) rset.getObject("TARIFA")); horarioBean.setPassagens((BigDecimal) rset.getObject("PASSAGENS")); horarioBean.setSeguro((BigDecimal) rset.getObject("SEGURO")); horarioBean.setBagagens((BigDecimal) rset.getObject("BAGAGENS")); + horarioBean.setTxEmbarque((BigDecimal) rset.getObject("TX_EMBARQUE")); + horarioBean.setPedagio((BigDecimal) rset.getObject("PEDAGIO")); + + // Substituir a coluna Seg. Opcional por Tx. Embarque + horarioBean.setSegOpc(horarioBean.getTxEmbarque()); + horarioBean.setOrd((BigDecimal) rset.getObject("ORD")); horarioBean.setExtra((BigDecimal) rset.getObject("EXTRA")); horarioBean.setAbsol((BigDecimal) rset.getObject("ABSOL")); @@ -138,8 +148,6 @@ public class RelatorioLinhasHorario extends Relatorio { horarioBean.setOrigem((String) rset.getObject("ORIGEM")); horarioBean.setDestino((String) rset.getObject("DESTINO")); - horarioBean.setSegOpc((BigDecimal) rset.getObject("SEGURO")); - horarioBean = trecho(horarioBean); horarioBean = calcTotal(horarioBean); @@ -157,8 +165,6 @@ public class RelatorioLinhasHorario extends Relatorio { horarioBean = calcPaxKmTransportado(horarioBean); horarioBean = calcIap(horarioBean); - horarioBean.setExtensao(horarioBean.getExtensaoTrecho()); - lsDadosRelatorio.add(horarioBean); totalPassagens = totalPassagens.add(horarioBean.getPassagens() != null ? horarioBean.getPassagens() : BigDecimal.ZERO); @@ -173,6 +179,9 @@ public class RelatorioLinhasHorario extends Relatorio { totalAbsoluto = totalAbsoluto.add(horarioBean.getAbsol() != null ? horarioBean.getAbsol() : BigDecimal.ZERO); totalEquivalente = totalEquivalente.add(horarioBean.getEquivalente() != null ? horarioBean.getEquivalente() : BigDecimal.ZERO); + totalTxEmbarque = totalTxEmbarque.add(horarioBean.getTxEmbarque() != null ? horarioBean.getTxEmbarque() : BigDecimal.ZERO); + totalPedagio = totalPedagio.add(horarioBean.getPedagio() != null ? horarioBean.getPedagio() : BigDecimal.ZERO); + mediaMPA = mediaMPA.add(horarioBean.getMpa() != null ? horarioBean.getMpa() : BigDecimal.ZERO); mediaMPE = mediaMPE.add(horarioBean.getMpe() != null ? horarioBean.getMpe() : BigDecimal.ZERO); @@ -208,7 +217,8 @@ public class RelatorioLinhasHorario extends Relatorio { parametros.put("MEDIA_MPE", mediaMPE.divide(qtdeRegistros, RoundingMode.HALF_EVEN)); parametros.put("MEDIA_RS_POR_KM", mediaRsPorKm.divide(qtdeRegistros, RoundingMode.HALF_EVEN)); parametros.put("TOTAL_EQ", totalEQ); - + parametros.put("TOTAL_TX_EMBARQUE", totalTxEmbarque); + parametros.put("TOTAL_PEDAGIO", totalPedagio); parametros.put("MEDIA_RS_POR_VIAGEM", mediaRSPorViagem.divide(qtdeRegistros, RoundingMode.HALF_EVEN)); parametros.put("TOTAL_PAX_KM_OFERTADO", totalPaxKMOfertado); parametros.put("TOTAL_PAX_KM_TRANSPORTADO", totalPaxKMTransportado); @@ -257,7 +267,7 @@ public class RelatorioLinhasHorario extends Relatorio { } private RelatorioLinhasHorarioBean calcKmRodado(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal kmRodado = horarioBean.getTotalViagem().multiply(horarioBean.getExtensaoTrecho()); + BigDecimal kmRodado = horarioBean.getTotalViagem().multiply(horarioBean.getExtensao()); horarioBean.setKmRodado(kmRodado); return horarioBean; } @@ -265,7 +275,7 @@ public class RelatorioLinhasHorario extends Relatorio { private RelatorioLinhasHorarioBean calcEquivalente(RelatorioLinhasHorarioBean horarioBean) { BigDecimal equivalente = new BigDecimal(0); try { - equivalente = horarioBean.getExtensao().divide(horarioBean.getExtensaoTrecho(), RoundingMode.CEILING); + equivalente = horarioBean.getExtensao().divide(horarioBean.getExtensao(), RoundingMode.CEILING); equivalente = equivalente.multiply(horarioBean.getAbsol()); } catch (ArithmeticException e) { @@ -303,7 +313,7 @@ public class RelatorioLinhasHorario extends Relatorio { private RelatorioLinhasHorarioBean calcRsKm(RelatorioLinhasHorarioBean horarioBean) { BigDecimal rsKm = horarioBean.getTotal().divide(horarioBean.getTotalViagem(), RoundingMode.CEILING); - rsKm = rsKm.multiply(horarioBean.getExtensaoTrecho()); + rsKm = rsKm.multiply(horarioBean.getExtensao()); horarioBean.setRsKm(rsKm); return horarioBean; } @@ -337,7 +347,7 @@ public class RelatorioLinhasHorario extends Relatorio { } private RelatorioLinhasHorarioBean calcPaxKmTransportado(RelatorioLinhasHorarioBean horarioBean) { - BigDecimal paxKmTransportado = horarioBean.getExtensaoTrecho().multiply(horarioBean.getEquivalente()); + BigDecimal paxKmTransportado = horarioBean.getExtensao().multiply(horarioBean.getEquivalente()); horarioBean.setPaxKmTransportado(paxKmTransportado); return horarioBean; } @@ -365,95 +375,86 @@ public class RelatorioLinhasHorario extends Relatorio { private String getSql(ArrayList lsNumLinha, ArrayList lsNumServico, Empresa empresa, Integer tipoServico, GrupoRuta grupoRuta) { StringBuffer sql = new StringBuffer(); - sql.append(" SELECT "); - sql.append(" R.RUTA_ID, "); - sql.append(" NVL(GR.DESCGRUPO, 'NÃO POSSUI GRUPO') AS GRUPO_RUTA, "); - sql.append(" TO_CHAR(CJ.FECHORVIAJE, 'HH24:MI') AS HORA, "); - sql.append(" C.CORRIDA_ID AS SERVICO, "); - sql.append(" R.INDSENTIDOIDA AS SENTIDO, "); - sql.append(" DA.CANTASIENTOS AS LOT, "); - sql.append(" CS.CVECLASE AS CLA, "); - sql.append(" CJ.NUMKMVIAJE AS EXTENSAO_TRECHO, "); + sql.append(" SELECT R.RUTA_ID, "); + sql.append(" NVL(GR.DESCGRUPO, 'NÃO POSSUI GRUPO') AS GRUPO_RUTA, "); + sql.append(" TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORA, "); + sql.append(" C.CORRIDA_ID AS SERVICO, "); + sql.append(" R.INDSENTIDOIDA AS SENTIDO, "); + sql.append(" DA.CANTASIENTOS AS LOT, "); + sql.append(" CS.CVECLASE AS CLA, "); + sql.append(" NVL(TF.PRECIOORIGINAL, 0) AS TARIFA, "); + sql.append(" ORIGEM.CVEPARADA AS ORIGEM, "); + sql.append(" DESTINO.CVEPARADA AS DESTINO, "); sql.append(" EXTENSAO, "); - sql.append(" NVL(CJ.PRECIOBASE, 0) AS TARIFA, "); - sql.append(" ORIGEM.CVEPARADA AS ORIGEM, "); - sql.append(" DESTINO.CVEPARADA AS DESTINO, "); - sql.append(" SUM(NVL(EE.IMPINGRESO, 0)) AS BAGAGENS, "); - sql.append(" SUM(NVL(CJ.PRECIOPAGADO, 0)) AS PASSAGENS, "); - sql.append(" SUM(NVL(CJ.IMPORTESEGURO, 0)) AS SEGURO, "); - + sql.append(" SUM(NVL(EE.IMPINGRESO, 0)) AS BAGAGENS, "); + sql.append(" SUM(NVL(CJ.IMPORTESEGURO, 0)) AS SEGURO, "); + sql.append(" SUM(NVL(CJ.IMPORTETAXAEMBARQUE, 0)) AS TX_EMBARQUE, "); + sql.append(" SUM(NVL(CJ.IMPORTEPEDAGIO, 0)) AS PEDAGIO, "); + sql.append(" SUM(NVL(CJ.PRECIOPAGADO, 0)) AS PASSAGENS, "); sql.append(" ORD, "); sql.append(" EXTRA, "); - - sql.append(" CASE "); - sql.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN "); - sql.append(" 'INTERESTADUAL' "); - sql.append(" ELSE "); - sql.append(" 'INTERMUNICIPAL' "); - sql.append(" END TIPO_LINHA, "); - - sql.append(" ABSOL "); - - sql.append(" FROM (SELECT RS.RUTA_ID, "); + sql.append(" CASE "); + sql.append(" WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' "); + sql.append(" ELSE 'INTERMUNICIPAL' "); + sql.append(" END TIPO_LINHA, "); + sql.append(" ABSOL "); + sql.append(" FROM (SELECT RS.RUTA_ID, "); sql.append(" 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 AND T.ACTIVO=1 "); + sql.append(" INNER JOIN TRAMO T "); + sql.append(" 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, "); + sql.append(" (SELECT C.CORRIDA_ID, "); sql.append(" COUNT(CASE "); sql.append(" WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); - sql.append(" AND C.TIPOSERVICIO_ID = 1 THEN 1 "); - sql.append(" ELSE NULL "); - sql.append(" END) AS ORD "); - sql.append(" FROM CORRIDA C "); - sql.append(" WHERE C.ACTIVO = 1 "); + sql.append(" AND C.TIPOSERVICIO_ID = 1 THEN 1 "); + sql.append(" ELSE NULL "); + sql.append(" END) AS ORD "); + sql.append(" FROM CORRIDA C "); + sql.append(" WHERE C.ACTIVO = 1 "); sql.append(" GROUP BY C.CORRIDA_ID) TB2, "); - sql.append(" (SELECT C.CORRIDA_ID, "); + sql.append(" (SELECT C.CORRIDA_ID, "); sql.append(" COUNT(CASE "); sql.append(" WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); - sql.append(" AND C.TIPOSERVICIO_ID = 2 THEN 1 "); - sql.append(" ELSE NULL "); - sql.append(" END) AS EXTRA "); - sql.append(" FROM CORRIDA C "); - sql.append(" WHERE C.ACTIVO = 1 "); + sql.append(" AND C.TIPOSERVICIO_ID = 2 THEN 1 "); + sql.append(" ELSE NULL "); + sql.append(" END) AS EXTRA "); + sql.append(" FROM CORRIDA C "); + sql.append(" WHERE C.ACTIVO = 1 "); sql.append(" GROUP BY C.CORRIDA_ID) TB3, "); - - sql.append(" (SELECT C.CORRIDA_ID, "); - sql.append(" NVL(COUNT(CASE "); - sql.append(" WHEN C.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); - sql.append(" THEN 1 "); - sql.append(" ELSE NULL "); - sql.append(" END),0) AS ABSOL "); - sql.append(" FROM CORRIDA C "); - sql.append(" LEFT JOIN BOLETO B "); - sql.append(" ON ( B.CORRIDA_ID = C.CORRIDA_ID "); - sql.append(" AND B.FECCORRIDA = C.FECCORRIDA ) "); - sql.append(" WHERE C.ACTIVO = 1 "); - sql.append(" AND B.ACTIVO = 1 "); - sql.append(" AND B.MOTIVOCANCELACION_ID IS NULL "); - sql.append(" GROUP BY C.CORRIDA_ID) TB4, "); - + sql.append(" (SELECT C.CORRIDA_ID, "); + sql.append(" NVL(COUNT(CASE "); + sql.append(" WHEN C.FECCORRIDA "); + sql.append(" BETWEEN :DATA_INICIO AND :DATA_FINAL THEN "); + sql.append(" 1 "); + sql.append(" ELSE NULL "); + sql.append(" END), 0) AS ABSOL "); + sql.append(" FROM CORRIDA C "); + sql.append(" LEFT JOIN BOLETO B "); + sql.append(" ON ( B.CORRIDA_ID = C.CORRIDA_ID "); + sql.append(" AND B.FECCORRIDA = C.FECCORRIDA ) "); + sql.append(" WHERE C.ACTIVO = 1 "); + sql.append(" AND B.ACTIVO = 1 "); + sql.append(" AND B.MOTIVOCANCELACION_ID IS NULL "); + sql.append(" GROUP BY C.CORRIDA_ID) TB4, "); sql.append(" CORRIDA C "); sql.append(" LEFT JOIN CAJA CJ "); sql.append(" ON ( CJ.CORRIDA_ID = C.CORRIDA_ID "); sql.append(" AND CJ.FECCORRIDA = C.FECCORRIDA ) "); sql.append(" LEFT JOIN PARADA ORIGEM "); - sql.append(" ON ( CJ.ORIGEN_ID = ORIGEM.PARADA_ID ) "); + sql.append(" ON ( C.ORIGEN_ID = ORIGEM.PARADA_ID ) "); sql.append(" LEFT JOIN PARADA DESTINO "); - sql.append(" ON ( CJ.DESTINO_ID = DESTINO.PARADA_ID ) "); - + sql.append(" ON ( C.DESTINO_ID = DESTINO.PARADA_ID ) "); sql.append(" LEFT OUTER JOIN CIUDAD CO "); - sql.append(" ON ( CO.CIUDAD_ID = ORIGEM.CIUDAD_ID ) "); - + sql.append(" ON ( CO.CIUDAD_ID = ORIGEM.CIUDAD_ID ) "); sql.append(" LEFT OUTER JOIN CIUDAD CD "); - sql.append(" ON ( CO.CIUDAD_ID = DESTINO.CIUDAD_ID ) "); - + sql.append(" ON ( CO.CIUDAD_ID = DESTINO.CIUDAD_ID ) "); sql.append(" LEFT JOIN RUTA R "); sql.append(" ON ( C.RUTA_ID = R.RUTA_ID ) "); sql.append(" LEFT OUTER JOIN GRUPO_RUTA GR "); - sql.append(" ON ( R.GRUPORUTA_ID = GR.GRUPORUTA_ID ) "); + sql.append(" ON ( R.GRUPORUTA_ID = GR.GRUPORUTA_ID ) "); sql.append(" LEFT JOIN ROL_OPERATIVO RO "); sql.append(" ON ( C.ROLOPERATIVO_ID = RO.ROLOPERATIVO_ID ) "); sql.append(" LEFT OUTER JOIN DIAGRAMA_AUTOBUS DA "); @@ -464,11 +465,23 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" ON ( EE.CORRIDA_ID = C.CORRIDA_ID "); sql.append(" AND EE.FECCORRIDA = C.FECCORRIDA "); sql.append(" AND EE.TIPOEVENTOEXTRA_ID = 1 ) "); - sql.append(" WHERE CJ.PRECIOBASE>0 AND CJ.MOTIVOCANCELACION_ID IS NULL AND CJ.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); - sql.append(" AND TB1.RUTA_ID = C.RUTA_ID "); - sql.append(" AND TB2.CORRIDA_ID = C.CORRIDA_ID "); - sql.append(" AND TB3.CORRIDA_ID = C.CORRIDA_ID "); - sql.append(" AND TB4.CORRIDA_ID = C.CORRIDA_ID "); + sql.append(" LEFT JOIN TARIFA TF "); + sql.append(" ON ( TF.CLASESERVICIO_ID = C.CLASESERVICIO_ID "); + sql.append(" AND TF.DESTINO_ID = C.DESTINO_ID "); + sql.append(" AND TF.ORIGEN_ID = C.ORIGEN_ID "); + sql.append(" AND TF.MARCA_ID = C.MARCA_ID "); + sql.append(" AND TF.RUTA_ID = C.RUTA_ID ) "); + sql.append(" LEFT OUTER JOIN VIGENCIA_TARIFA VTF "); + sql.append(" ON ( TF.VIGENCIATARIFA_ID = VTF.VIGENCIATARIFA_ID "); + sql.append(" AND C.FECCORRIDA BETWEEN VTF.FECINICIOVIGENCIA AND "); + sql.append(" VTF.FECFINVIGENCIA ) "); + sql.append(" WHERE CJ.PRECIOBASE > 0 "); + sql.append(" AND CJ.MOTIVOCANCELACION_ID IS NULL "); + sql.append(" AND CJ.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + sql.append(" AND TB1.RUTA_ID = C.RUTA_ID "); + sql.append(" AND TB2.CORRIDA_ID = C.CORRIDA_ID "); + sql.append(" AND TB3.CORRIDA_ID = C.CORRIDA_ID "); + sql.append(" AND TB4.CORRIDA_ID = C.CORRIDA_ID "); if (empresa != null) { sql.append(" AND C.EMPRESACORRIDA_ID IN ( " + empresa.getEmpresaId() + " ) "); @@ -512,31 +525,24 @@ public class RelatorioLinhasHorario extends Relatorio { sql.append(" AND RO.ACTIVO = 1 "); sql.append(" AND DA.ACTIVO = 1 "); sql.append(" AND CS.ACTIVO = 1 "); - - sql.append(" GROUP BY "); - sql.append(" R.RUTA_ID, "); - sql.append(" NVL(GR.DESCGRUPO, 'NÃO POSSUI GRUPO'), "); - sql.append(" TO_CHAR(CJ.FECHORVIAJE, 'HH24:MI'), "); - sql.append(" C.CORRIDA_ID, "); - sql.append(" R.INDSENTIDOIDA, "); - sql.append(" CJ.PRECIOBASE, "); - sql.append(" DA.CANTASIENTOS, "); - sql.append(" CS.CVECLASE, "); - sql.append(" CJ.NUMKMVIAJE, "); - sql.append(" EXTENSAO, "); - sql.append(" ORD, "); - sql.append(" EXTRA, "); - - sql.append(" ABSOL, "); - - sql.append(" CO.ESTADO_ID, "); - sql.append(" CD.ESTADO_ID, "); - - sql.append(" ORIGEM.CVEPARADA, "); - sql.append(" DESTINO.CVEPARADA "); - sql.append(" ORDER BY "); - sql.append(" NVL(GR.DESCGRUPO, 'NÃO POSSUI GRUPO'), "); - sql.append(" C.CORRIDA_ID "); + sql.append(" GROUP BY R.RUTA_ID, "); + sql.append(" NVL(GR.DESCGRUPO, 'NÃO POSSUI GRUPO'), "); + sql.append(" TO_CHAR(C.FECHORSALIDA, 'HH24:MI'), "); + sql.append(" C.CORRIDA_ID, "); + sql.append(" R.INDSENTIDOIDA, "); + sql.append(" TF.PRECIOORIGINAL, "); + sql.append(" DA.CANTASIENTOS, "); + sql.append(" CS.CVECLASE, "); + sql.append(" EXTENSAO, "); + sql.append(" ORD, "); + sql.append(" EXTRA, "); + sql.append(" ABSOL, "); + sql.append(" CO.ESTADO_ID, "); + sql.append(" CD.ESTADO_ID, "); + sql.append(" ORIGEM.CVEPARADA, "); + sql.append(" DESTINO.CVEPARADA "); + sql.append(" ORDER BY NVL(GR.DESCGRUPO, 'NÃO POSSUI GRUPO'), "); + sql.append(" C.CORRIDA_ID "); return sql.toString(); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorario_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorario_pt_BR.properties index ff1d0b854..0c458ecbc 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorario_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLinhasHorario_pt_BR.properties @@ -29,7 +29,7 @@ detail.tarifa=Tarifa detail.passagens=Passagens detail.seguro=Seguro detail.bagagens=Bagagens -detail.segOpc=Seg.Opc. +detail.segOpc=Tx. Embarque detail.total=Total detail.ord=Ord. detail.extra=Extra @@ -45,6 +45,7 @@ detail.rsViagem=R$/Viagem detail.paxOfer=Pax.Km Ofer. detail.paxTrans=Pax.Km Transportado detail.iap=IAP% +detail.pedagio=Pedágio #Group diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper index 14f6cb1ba22a2c34fbe826a9c7e2d22d2286f8f5..3c81360dfe9bbad1c3fe9df7f108530de6b54e46 100644 GIT binary patch literal 109692 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 literal 106502 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 - + @@ -31,6 +31,7 @@ + @@ -65,6 +66,7 @@ + @@ -122,6 +124,9 @@ + + + @@ -203,12 +208,15 @@ + + + - + @@ -218,7 +226,7 @@ - + @@ -239,28 +247,28 @@ - - + + - + - + - + @@ -330,14 +338,14 @@ - + - + @@ -371,6 +379,13 @@ + + + + + + + @@ -379,7 +394,7 @@ - + @@ -403,28 +418,28 @@ - - + + - + - + - + @@ -494,14 +509,14 @@ - + - + @@ -538,6 +553,13 @@ + + + + + + + @@ -592,7 +614,7 @@ - + @@ -608,7 +630,7 @@ - + @@ -638,14 +660,14 @@ - + - + @@ -662,70 +684,70 @@ - + - + - + - + - - + + - + - + - + - + - + @@ -823,14 +845,14 @@ - + - + @@ -839,6 +861,13 @@ + + + + + + + @@ -847,7 +876,7 @@ - + @@ -868,21 +897,21 @@ - + - + - + @@ -937,15 +966,8 @@ - - - - - - - - + @@ -965,20 +987,6 @@ - - - - - - - - - - - - - - @@ -1001,14 +1009,14 @@ - - + + - + @@ -1022,14 +1030,42 @@ - + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + @@ -1049,28 +1085,28 @@ - - + + - + - + - + @@ -1168,14 +1204,14 @@ - + - + @@ -1188,6 +1224,13 @@ + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java index 662121ffa..dce70e848 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioLinhasHorarioBean.java @@ -14,7 +14,6 @@ public class RelatorioLinhasHorarioBean { private String sentido; private BigDecimal lot; private String cla; - private BigDecimal extensaoTrecho; private BigDecimal extensao; private BigDecimal tarifa; private BigDecimal passagens; @@ -37,7 +36,10 @@ public class RelatorioLinhasHorarioBean { private BigDecimal paxKmOfertado; private BigDecimal paxKmTransportado; private BigDecimal iap; - private BigDecimal antiAbsol; + private BigDecimal txEmbarque; + private BigDecimal pedagio; + private BigDecimal ordLinha; + private BigDecimal extraLinha; public RelatorioLinhasHorarioBean() { } @@ -136,14 +138,6 @@ public class RelatorioLinhasHorarioBean { this.cla = cla; } - public BigDecimal getExtensaoTrecho() { - return extensaoTrecho == null ? BigDecimal.ZERO : extensaoTrecho; - } - - public void setExtensaoTrecho(BigDecimal extensaoTrecho) { - this.extensaoTrecho = extensaoTrecho; - } - public BigDecimal getExtensao() { return extensao == null ? BigDecimal.ZERO : extensao; } @@ -320,12 +314,35 @@ public class RelatorioLinhasHorarioBean { this.iap = iap; } - public BigDecimal getAntiAbsol() { - return antiAbsol; + public BigDecimal getTxEmbarque() { + return txEmbarque; } - public void setAntiAbsol(BigDecimal antiAbsol) { - this.antiAbsol = antiAbsol; + public void setTxEmbarque(BigDecimal txEmbarque) { + this.txEmbarque = txEmbarque; } + public BigDecimal getPedagio() { + return pedagio; + } + + public void setPedagio(BigDecimal pedagio) { + this.pedagio = pedagio; + } + + public BigDecimal getOrdLinha() { + return ordLinha; + } + + public void setOrdLinha(BigDecimal ordLinha) { + this.ordLinha = ordLinha; + } + + public BigDecimal getExtraLinha() { + return extraLinha; + } + + public void setExtraLinha(BigDecimal extraLinha) { + this.extraLinha = extraLinha; + } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioLinhasHorarioController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioLinhasHorarioController.java index 853ec8b07..a9766c542 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioLinhasHorarioController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioLinhasHorarioController.java @@ -35,13 +35,12 @@ import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.CorridaService; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.GrupoRutaService; +import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; -import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCorridaOrigemDestino; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioLinhaHorario; -import com.trg.search.Filter; @Controller("relatorioLinhasHorarioController") @Scope("prototype") @@ -59,6 +58,9 @@ public class RelatorioLinhasHorarioController extends MyGenericForwardComposer { @Autowired private CorridaService corridaService; + @Autowired + private RutaService rutaService; + @Autowired private GrupoRutaService grupoRutaService; @@ -75,7 +77,6 @@ public class RelatorioLinhasHorarioController extends MyGenericForwardComposer { private transient PagedListWrapper plwLinha; private MyListbox linhaList; private MyListbox linhaListSelList; - private Paging pagingLinha; private Textbox txtPalavraPesquisaLinha; private ArrayList lsNumLinha = new ArrayList(); @@ -162,7 +163,7 @@ public class RelatorioLinhasHorarioController extends MyGenericForwardComposer { log.debug(e.getMessage()); } parametros.put("GRUPORUTA", grupoRuta); - + if (grupoRuta != null) { parametros.put("DESCGRUPO", grupoRuta.getDescGrupo()); } else { @@ -216,14 +217,9 @@ public class RelatorioLinhasHorarioController extends MyGenericForwardComposer { } private void executarPesquisaLinha() { - HibernateSearchObject linhaBusqueda = - new HibernateSearchObject(Ruta.class, pagingLinha.getPageSize()); - linhaBusqueda.addFilterOr(Filter.like("descruta", "%" + txtPalavraPesquisaLinha.getText().trim().toUpperCase().concat("%")), Filter.like("prefixo", "%" + txtPalavraPesquisaLinha.getText().trim().toUpperCase().concat("%"))); - linhaBusqueda.addSortAsc("descruta"); - linhaBusqueda.addFilterEqual("activo", Boolean.TRUE); - - plwLinha.init(linhaBusqueda, linhaList, pagingLinha); + String palavraPesquisaRuta = txtPalavraPesquisaLinha.getText(); + linhaList.setData(rutaService.buscaRuta(palavraPesquisaRuta)); if (linhaList.getData().length == 0) { try { @@ -238,7 +234,6 @@ public class RelatorioLinhasHorarioController extends MyGenericForwardComposer { private void executarPesquisaServico() { Integer corridaId = txtCorridaId.getValue(); - servicoList.setData(corridaService.buscarGroupCorrridaId(corridaId, datInicial.getValue(), datFinal.getValue())); if (servicoList.getData().length == 0) { diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioLinhaHorario.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioLinhaHorario.java index c58389e73..b9caaa479 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioLinhaHorario.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioLinhaHorario.java @@ -15,7 +15,10 @@ public class RenderRelatorioLinhaHorario implements ListitemRenderer { public void render(Listitem lstm, Object o) throws Exception { Ruta ruta = (Ruta) o; - Listcell lc = new Listcell(ruta.getPrefixo()); + Listcell lc = new Listcell(ruta.getNumRuta().toString()); + lc.setParent(lstm); + + lc = new Listcell(ruta.getPrefixo()); lc.setParent(lstm); lc = new Listcell(ruta.getDescruta()); diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index f33566859..105b81c3b 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -300,7 +300,10 @@ relatorioLinhasHorarioController.lbGrupoRuta.label = Grupo de Linhas relatorioLinhasHorarioController.lbLote.label = Lote relatorioLinhasHorarioController.lbLinha.label = Linha relatorioLinhasHorarioController.lbServico.label = Servico + +relatorioLinhasHorarioController.lbNumRuta.label = Num. Linha relatorioLinhasHorarioController.lbPrefixo.label = Prefixo + relatorioLinhasHorarioController.lbOrgao.label = Orgão Concedente relatorioLinhasHorarioController.lbDataCorrida.value = Data relatorioLinhasHorarioController.btnPesquisa.label = Pesquisar diff --git a/web/gui/relatorios/filtroRelatorioLinhasHorario.zul b/web/gui/relatorios/filtroRelatorioLinhasHorario.zul index 328d1ab32..3b0441993 100644 --- a/web/gui/relatorios/filtroRelatorioLinhasHorario.zul +++ b/web/gui/relatorios/filtroRelatorioLinhasHorario.zul @@ -135,14 +135,18 @@ vflex="true" multiple="false" height="60%" width="410px"> + + + label="${c:l('lb.dec')}" width="35%" /> + width="27%" /> @@ -161,14 +165,17 @@ use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" vflex="true" multiple="true" height="60%" width="100%"> + + label="${c:l('lb.dec')}" width="30%" /> + width="22%" />