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 14f6cb1ba..3c81360df 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml index 6ee22c8e0..b5dbb8154 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLinhasHorario.jrxml @@ -1,7 +1,7 @@ - + @@ -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%" />