From b448beb7004ae1218fa8c8cb94ebabe1e31d438c Mon Sep 17 00:00:00 2001 From: walace Date: Wed, 27 Dec 2017 16:46:28 +0000 Subject: [PATCH] fixes bug #10103 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@77566 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/impl/RelatorioGratuidade.java | 223 ++++-- .../RelatorioGratuidade_es.properties | 43 +- .../RelatorioGratuidade_pt_BR.properties | 14 +- .../templates/RelatorioGratuidade.jasper | Bin 60235 -> 59594 bytes .../templates/RelatorioGratuidade.jrxml | 707 +++++++++--------- .../utilitarios/RelatorioGratuidadeBean.java | 25 +- .../RelatorioGratuidadeController.java | 81 +- .../relatorios/filtroRelatorioGratuidade.zul | 41 +- 8 files changed, 572 insertions(+), 562 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java index 9c23abe08..2100f2a4b 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java @@ -49,13 +49,10 @@ public class RelatorioGratuidade extends Relatorio { } String empresa = parametros.get("empresa") != null ? parametros.get("empresa").toString() : ""; String agencia = parametros.get("agencia") != null ? parametros.get("agencia").toString() : ""; - String ruta = parametros.get("ruta") != null && !parametros.get("ruta").equals(-1) ? parametros.get("ruta").toString() : ""; - String origem = parametros.get("origem") != null ? parametros.get("origem").toString() : ""; - String destino = parametros.get("destino") != null ? parametros.get("destino").toString() : ""; String categoria = parametros.get("categoria") != null ? parametros.get("categoria").toString() : ""; - orgaoConcedenteId = parametros.get("orgao_concedente_id") != null ? (Integer) parametros.get("orgao_concedente_id") : null; + - String sql = getSql(empresa, agencia, ruta, fecInicioViagem, fecFinalViagem, fecInicioVenda, fecFinalVenda, origem, destino, categoria); + String sql = getSql(empresa, agencia, fecInicioViagem, fecFinalViagem, fecInicioVenda, fecFinalVenda, categoria); System.out.println(sql); @@ -79,15 +76,6 @@ public class RelatorioGratuidade extends Relatorio { if(agencia != null && !agencia.equals("")){ stmt.setInt("puntoventa_id", Integer.parseInt(agencia)); } - if(ruta != null && !ruta.equals("")){ - stmt.setInt("ruta_id", Integer.parseInt(ruta)); - } - if(origem != null && !origem.equals("")){ - stmt.setInt("origem_id", Integer.parseInt(origem)); - } - if(destino != null && !destino.equals("")){ - stmt.setInt("destino_id", Integer.parseInt(destino)); - } if(categoria != null && !categoria.equals("")){ stmt.setInt("categoria_id", Integer.parseInt(categoria)); } @@ -103,13 +91,16 @@ public class RelatorioGratuidade extends Relatorio { while (rset.next()) { RelatorioGratuidadeBean gratuidadeBean = new RelatorioGratuidadeBean(); + + gratuidadeBean.setTarifa(rset.getBigDecimal("precio")); + gratuidadeBean.setCcf(rset.getString("ccf")); gratuidadeBean.setCorridaId(rset.getString("corrida_id")); gratuidadeBean.setCveusuario(rset.getString("cveusuario")); gratuidadeBean.setDescnumdoc(rset.getString("descnumdoc")); gratuidadeBean.setDesctipoventa(rset.getString("desctipoventa")); gratuidadeBean.setDestino(rset.getString("destino")); gratuidadeBean.setFeccreacion(rset.getDate("feccreacion")); - gratuidadeBean.setFechorviaje(rset.getTime("fechorviaje")); + gratuidadeBean.setFechorviaje(rset.getDate("fechorviaje")); gratuidadeBean.setKm(rset.getInt("numkmviaje")); gratuidadeBean.setLinha(rset.getString("descruta")); gratuidadeBean.setNombpasajero(rset.getString("nombpasajero")); @@ -125,7 +116,7 @@ public class RelatorioGratuidade extends Relatorio { gratuidadeBean.setDescdestino(rset.getString("descdestino")); gratuidadeBean.setNumfoliosistema(rset.getString("numfoliosistema")); - gratuidadeBean.setTipoDoc(rset.getString("desctipo")); + gratuidadeBean.setTipoDoc(rset.getString("desctipodoc")); gratuidadeBean.setTipo(rset.getString("desccategoria")); gratuidadeBean.setSeguro(rset.getBigDecimal("importeseguro")); gratuidadeBean.setPedagio(rset.getBigDecimal("importepedagio")); @@ -155,72 +146,160 @@ public class RelatorioGratuidade extends Relatorio { protected void processaParametros() throws Exception { } - private String getSql(String empresa, String agencia, String ruta, String fecInicioViagem, String fecFinalViagem, String fecInicioVenda, String fecFinalVenda, String origem, String destino, String categoria) { - StringBuffer sql = new StringBuffer(); - String orderBy = ""; - sql.append("SELECT og.descorgao, b.feccreacion, ori.cveparada origen, des.cveparada destino, ori.descparada descorigen, des.descparada descdestino, b.numkmviaje, "); - sql.append("r.descruta, b.corrida_id, b.fechorviaje, b.numasiento, b.numfoliosistema, tv.desctipoventa, b.nombpasajero, b.descnumdoc, tar.preciooriginal, "); - sql.append("b.porccategoria, b.preciopagado, u.cveusuario, ag.nombpuntoventa, e.nombempresa, C.cvecategoria, ti.DESCTIPO, "); - sql.append("c.DESCCATEGORIA, tar.IMPORTEPEDAGIO, tar.IMPORTESEGURO, tar.IMPORTETAXAEMBARQUE, b.DESCNUMDOC, b.INDSTATUSBOLETO, ori.CVEPARADA codOrigem, des.CVEPARADA codDestino "); - sql.append("FROM boleto b "); - sql.append("JOIN categoria c ON b.categoria_id = c.categoria_id "); - sql.append("JOIN parada ori ON ori.parada_id = b.origen_id "); - sql.append("JOIN parada des ON des.parada_id = b.destino_id "); - sql.append("JOIN ruta r ON r.ruta_id = b.ruta_id "); - sql.append("JOIN tipo_venta tv ON tv.tipoventa_id = b.tipoventa_id "); - sql.append("JOIN punto_venta ag ON ag.puntoventa_id = b.puntoventa_id "); - sql.append("JOIN usuario u ON u.usuario_id = b.usuario_id "); - sql.append("JOIN vigencia_tarifa vt ON b.feccorrida BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia "); - sql.append("JOIN tarifa tar ON (tar.ruta_id = b.ruta_id "); - sql.append(" AND tar.marca_id = b.marca_id "); - sql.append(" AND tar.claseservicio_id = b.claseservicio_id "); - sql.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id "); - sql.append(" AND tar.origen_id = b.origen_id "); - sql.append(" AND tar.destino_id = b.destino_id) "); - sql.append("JOIN empresa e ON e.empresa_id = b.empresacorrida_id "); - sql.append("LEFT JOIN TIPO_IDENTIFICACION ti ON ti.TIPOIDENTIFICACION_ID = b.TIPOIDENTIFICACIONDOC_ID "); - sql.append("join ORGAO_CONCEDENTE og on og.ORGAOCONCEDENTE_ID = tar.ORGAOCONCEDENTE_ID "); - sql.append("WHERE 1=1 "); + private String getSql(String empresa, String agencia, String fecInicioViagem, String fecFinalViagem, String fecInicioVenda, String fecFinalVenda, String categoria) { + + + StringBuilder sb = new StringBuilder(); + + + sb.append("SELECT * "); + sb.append("FROM "); + sb.append(" (SELECT b.boleto_id,"); + sb.append(" b.ccf,"); + sb.append(" og.descorgao,"); + sb.append(" b.feccreacion,"); + sb.append(" ori.cveparada origen,"); + sb.append(" des.cveparada destino,"); + sb.append(" ori.descparada descorigen,"); + sb.append(" des.descparada descdestino,"); + sb.append(" b.numkmviaje,"); + sb.append(" r.descruta,"); + sb.append(" b.corrida_id,"); + sb.append(" b.fechorviaje,"); + sb.append(" b.numasiento,"); + sb.append(" b.numfoliosistema,"); + sb.append(" case when b.tipoventa_id in(5,12,18,41,49) then 'PTA' else tv.desctipoventa end as desctipoventa, "); + sb.append(" b.nombpasajero,"); + sb.append(" b.descnumdoc,"); + sb.append(" tar.preciooriginal,"); + sb.append(" tar.precio,"); + sb.append(" b.porccategoria,"); + sb.append(" b.preciopagado,"); + sb.append(" u.cveusuario,"); + sb.append(" ag.nombpuntoventa,"); + sb.append(" e.nombempresa,"); + sb.append(" ca.cvecategoria,"); + sb.append(" b.desctipodoc,"); + sb.append(" ca.desccategoria,"); + sb.append(" tar.importepedagio,"); + sb.append(" tar.importeseguro,"); + sb.append(" tar.importetaxaembarque,"); + sb.append(" 'RESERVA' as indstatusboleto, "); + sb.append(" ori.cveparada codorigem,"); + sb.append(" des.cveparada coddestino"); + sb.append(" FROM boleto b"); + sb.append(" JOIN categoria ca ON b.categoria_id = ca.categoria_id"); + sb.append(" JOIN parada ori ON ori.parada_id = b.origen_id"); + sb.append(" JOIN parada des ON des.parada_id = b.destino_id"); + sb.append(" JOIN ruta r ON r.ruta_id = b.ruta_id"); + sb.append(" JOIN tipo_venta tv ON tv.tipoventa_id = b.tipoventa_id"); + sb.append(" JOIN punto_venta ag ON ag.puntoventa_id = b.puntoventa_id"); + sb.append(" JOIN usuario u ON u.usuario_id = b.usuario_id"); + sb.append(" JOIN vigencia_tarifa vt ON b.fechorventa BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia and vt.activo = 1"); + sb.append(" JOIN tarifa tar ON (tar.ruta_id = b.ruta_id"); + sb.append(" AND tar.marca_id = b.marca_id"); + sb.append(" AND tar.claseservicio_id = b.claseservicio_id"); + sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id"); + sb.append(" AND tar.origen_id = b.origen_id"); + sb.append(" AND tar.destino_id = b.destino_id and tar.activo = 1)"); + sb.append(" JOIN empresa e ON e.empresa_id = b.empresacorrida_id"); + sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = tar.orgaoconcedente_id"); + sb.append(" WHERE 1=1 and b.tipoventa_id = 15"); + sb.append(" AND b.indstatusboleto = 'S' "); if (fecInicioViagem != null && fecFinalViagem != null) { - sql.append(" AND b.feccorrida BETWEEN :fecInicioViagem AND :fecFinalViagem "); - orderBy = "b.feccorrida"; + sb.append(" AND b.feccorrida BETWEEN :fecInicioViagem AND :fecFinalViagem "); } if (fecInicioVenda != null && fecFinalVenda != null) { - sql.append(" AND b.FECHORVENTA BETWEEN :fecInicioVenda AND :fecFinalVenda "); - if (orderBy.length() > 0) { - orderBy += ","; - } - orderBy += "b.FECHORVENTA"; + sb.append(" AND b.fechorventa BETWEEN :fecInicioVenda AND :fecFinalVenda "); } - sql.append("AND b.motivocancelacion_id IS NULL "); if (!empresa.isEmpty()){ - sql.append("AND b.empresacorrida_id = :empresa_id "); + sb.append("AND b.empresacorrida_id = :empresa_id "); } - if (!agencia.isEmpty()){ - sql.append(" AND b.puntoventa_id = :puntoventa_id "); - } - if (!ruta.isEmpty() && !ruta.equals("-1")){ - sql.append(" AND b.ruta_id = :ruta_id "); - } - if(!origem.isEmpty()){ - sql.append(" AND ori.parada_id = :origem_id "); - } - if(!destino.isEmpty()){ - sql.append(" AND des.parada_id = :destino_id "); + if (!agencia.isEmpty() && !agencia.equals("-1")){ + sb.append(" AND b.puntoventa_id = :puntoventa_id "); } if(!categoria.isEmpty()){ - sql.append(" AND c.categoria_id = :categoria_id "); - if (orderBy.length() > 0) { - orderBy += ","; - } - orderBy += "c.categoria_id"; + sb.append(" AND ca.categoria_id = :categoria_id "); } - if(orgaoConcedenteId != null){ - sql.append(" AND r.orgaoconcedente_id = :orgao_concedente_id "); + sb.append(" "); + sb.append(" UNION ALL "); + sb.append(" "); + sb.append(" SELECT c.transacao_id,"); + sb.append(" c.ccf,"); + sb.append(" og.descorgao,"); + sb.append(" c.feccreacion,"); + sb.append(" ori.cveparada origen,"); + sb.append(" des.cveparada destino,"); + sb.append(" ori.descparada descorigen,"); + sb.append(" des.descparada descdestino,"); + sb.append(" c.numkmviaje,"); + sb.append(" r.descruta,"); + sb.append(" c.corrida_id,"); + sb.append(" c.fechorviaje,"); + sb.append(" c.numasiento,"); + sb.append(" c.numfoliosistema,"); + sb.append(" case when c.tipoventa_id in(5,12,18,41,49) then 'PTA' when c.tipoventa_id = '81' then 'VENDA DE TRANSFERENCIA' else tv.desctipoventa end as desctipoventa, "); + sb.append(" c.nombpasajero,"); + sb.append(" c.descnumdoc,"); + sb.append(" tar.preciooriginal,"); + sb.append(" tar.precio,"); + sb.append(" c.porccategoria,"); + sb.append(" c.preciopagado,"); + sb.append(" u.cveusuario,"); + sb.append(" ag.nombpuntoventa,"); + sb.append(" e.nombempresa,"); + sb.append(" ca.cvecategoria,"); + sb.append(" c.desctipodoc,"); + sb.append(" ca.desccategoria,"); + sb.append(" tar.importepedagio,"); + sb.append(" tar.importeseguro,"); + sb.append(" tar.importetaxaembarque,"); + sb.append(" case when c.indstatusboleto = 'V' then 'VENDIDO' when c.indstatusboleto = 'C' and c.motivocancelacion_id = 31 then 'CANCELADO' "); + sb.append(" when c.indstatusboleto = 'C' and c.motivocancelacion_id = 32 then 'DEVOLVIDO' "); + sb.append(" when c.indstatusboleto = 'E' and c.indreimpresion = 1 then 'ENTREGUE' "); + sb.append(" when c.indstatusboleto = 'T' and c.motivocancelacion_id = 10 or c.tipoventa_id = 8 then 'TROCA' "); + sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 81 or c.indstatusboleto = 'T' then 'TRANSFERÊNCIA' " ); + sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 82 then 'CONFIRM.ABERTO' " ); + sb.append(" when c.indstatusboleto = 'T' and c.tipoventa_id = 41 then 'CHECKIN REATIVADO' end as indstatusboleto, "); + sb.append(" ori.cveparada codorigem,"); + sb.append(" des.cveparada coddestino"); + sb.append(" FROM caja c"); + sb.append(" JOIN categoria ca ON c.categoria_id = ca.categoria_id"); + sb.append(" JOIN parada ori ON ori.parada_id = c.origen_id"); + sb.append(" JOIN parada des ON des.parada_id = c.destino_id"); + sb.append(" JOIN ruta r ON r.ruta_id = c.ruta_id"); + sb.append(" JOIN tipo_venta tv ON tv.tipoventa_id = c.tipoventa_id"); + sb.append(" JOIN punto_venta ag ON ag.puntoventa_id = c.puntoventa_id"); + sb.append(" JOIN usuario u ON u.usuario_id = c.usuario_id"); + sb.append(" JOIN vigencia_tarifa vt ON c.fechorventa BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia"); + sb.append(" JOIN tarifa tar ON (tar.ruta_id = c.ruta_id"); + sb.append(" AND tar.marca_id = c.marca_id"); + sb.append(" AND tar.claseservicio_id = c.claseservicio_id"); + sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id"); + sb.append(" AND tar.origen_id = c.origen_id"); + sb.append(" AND tar.destino_id = c.destino_id and tar.activo = 1)"); + sb.append(" JOIN empresa e ON e.empresa_id = c.empresacorrida_id"); + sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = tar.orgaoconcedente_id"); + sb.append(" WHERE 1=1 and (c.motivocancelacion_id IN (31,32) OR c.motivocancelacion_id IS NULL) "); + sb.append(" AND (c.indreimpresion = 0 OR (c.indstatusboleto IN ('E','T') AND c.indreimpresion = 1))"); + if (fecInicioViagem != null && fecFinalViagem != null) { + sb.append(" AND c.feccorrida BETWEEN :fecInicioViagem AND :fecFinalViagem "); } - - sql.append(" ORDER BY " + orderBy); + if (fecInicioVenda != null && fecFinalVenda != null) { + sb.append(" AND c.fechorventa BETWEEN :fecInicioVenda AND :fecFinalVenda "); + } + if (!empresa.isEmpty()){ + sb.append("AND c.empresacorrida_id = :empresa_id "); + } + if (!agencia.isEmpty() && !agencia.equals("-1")){ + sb.append(" AND c.puntoventa_id = :puntoventa_id "); + } + if(!categoria.isEmpty()){ + sb.append(" AND ca.categoria_id = :categoria_id "); + } + sb.append(") "); + sb.append("ORDER BY 1"); - return sql.toString(); + return sb.toString(); } } \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidade_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidade_es.properties index aee5bf593..c35d69e0f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidade_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidade_es.properties @@ -1,20 +1,23 @@ #geral -msg.noData=No se pudo obtener datos con los parámetros reportados. -msg.a=a +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à #Labels header header.periodo=Período: -header.data.hora=Fecha/Hora\: +header.data.hora=Data/Hora\: header.pagina=Página\: header.filtro=Filtro\: -header.filtro.servico=Servicio\: -header.filtro.linha=Línea\: -header.filtro.grupo=Grupo de líneas\: +header.filtro.servico=Serviço\: +header.filtro.linha=Linha\: +header.filtro.grupo=Grupo de Linhas\: header.empresa=Empresa\: +header.periodo.viagem=Período Viagem +header.periodo.venda=Período Venda #Labels detail detail.data=Data +detail.dataServico=Data Servi. detail.origen=Origem detail.destino=Destino detail.km=Km @@ -27,15 +30,27 @@ detail.pasajero=Passageiro detail.documento=Doc detail.precio=Preço detail.desconto=Desc.(%) -detail.tarifadesconto=Tarifa +detail.valorCobrado=Vlr.Cobrado +detail.tarifa=Tarifa detail.bilheteiro=Bilheteiro detail.agencia=Agência -detail.total=Orgão +detail.dataMD=Data MD +detail.empresa=Empresa +detail.tipo=Tipo +detail.tipoDoc=Tipo Doc. +detail.tarifa=Tarifa +detail.seguro=Seguro +detail.utr=UTR +detail.tpp=TPP +detail.pedagio=Pedágio +detail.rg=RG +detail.status=Status +detail.codOrigem=Cod. Origem +detail.codDestino=Cod. Destino +detail.total=Total +detail.ccf=CCf -detail.total=Total Quantidade: - -linhas=Líneas - -detail.numfoliosistema=N.Bil -detail.numasiento=Pol +linhas=Linhas +detail.numfoliosistema=Bilhete +detail.numasiento=Poltrona diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidade_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidade_pt_BR.properties index 9e4d94a7e..c35d69e0f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidade_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidade_pt_BR.properties @@ -17,6 +17,7 @@ header.periodo.venda=Per #Labels detail detail.data=Data +detail.dataServico=Data Servi. detail.origen=Origem detail.destino=Destino detail.km=Km @@ -29,24 +30,27 @@ detail.pasajero=Passageiro detail.documento=Doc detail.precio=Preço detail.desconto=Desc.(%) -detail.tarifadesconto=Tarifa +detail.valorCobrado=Vlr.Cobrado +detail.tarifa=Tarifa detail.bilheteiro=Bilheteiro detail.agencia=Agência detail.dataMD=Data MD +detail.empresa=Empresa detail.tipo=Tipo detail.tipoDoc=Tipo Doc. detail.tarifa=Tarifa detail.seguro=Seguro detail.utr=UTR +detail.tpp=TPP detail.pedagio=Pedágio detail.rg=RG detail.status=Status detail.codOrigem=Cod. Origem detail.codDestino=Cod. Destino -detail.total=Total Quantidade: -detail.total=Orgão +detail.total=Total +detail.ccf=CCf linhas=Linhas -detail.numfoliosistema=N.Bil -detail.numasiento=Pol +detail.numfoliosistema=Bilhete +detail.numasiento=Poltrona diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidade.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidade.jasper index 555a5d61aa359bc20ccdfd0a89535ab4d327c225..3d1fbef1fd7cd25d3543286bb15ce69a39976191 100644 GIT binary patch literal 59594 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidade.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidade.jrxml index 7067d0386..dd9958d0b 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidade.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidade.jrxml @@ -1,8 +1,8 @@ - - - - + + + + @@ -15,6 +15,7 @@ + @@ -24,7 +25,7 @@ - + @@ -44,12 +45,14 @@ - + + + @@ -59,527 +62,511 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + <band height="144"> <textField> - <reportElement uuid="e5d4714c-07cc-42ff-a7a8-76d6f6d3e716" x="0" y="20" width="113" height="20"/> - <textElement/> + <reportElement x="0" y="0" width="314" height="37" uuid="652312bd-292a-424d-a234-5f157e3699c6"/> + <textFieldExpression><![CDATA[$P{TITULO}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="0" y="37" width="82" height="23" uuid="e5d4714c-07cc-42ff-a7a8-76d6f6d3e716"/> <textFieldExpression><![CDATA[$R{header.periodo.viagem}]]></textFieldExpression> </textField> <textField> - <reportElement uuid="66b2d0f6-2bf1-4bc7-9ec0-a34444e04d60" x="666" y="0" width="56" height="20"/> - <textElement/> + <reportElement x="633" y="37" width="106" height="23" uuid="66b2d0f6-2bf1-4bc7-9ec0-a34444e04d60"/> <textFieldExpression><![CDATA[$R{header.data.hora}]]></textFieldExpression> </textField> <textField evaluationTime="Report"> - <reportElement uuid="8ca68351-fc00-4f19-b94f-f2fd1f41964f" x="798" y="20" width="22" height="20"/> + <reportElement x="811" y="37" width="30" height="23" uuid="8ca68351-fc00-4f19-b94f-f2fd1f41964f"/> <textElement textAlignment="Right"/> <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression> </textField> <textField> - <reportElement uuid="be1692e9-f130-4d08-9173-6ca3e4699030" x="734" y="20" width="37" height="20"/> - <textElement/> + <reportElement x="739" y="37" width="39" height="23" uuid="be1692e9-f130-4d08-9173-6ca3e4699030"/> <textFieldExpression><![CDATA[$R{header.pagina}]]></textFieldExpression> </textField> <textField> - <reportElement uuid="4914d9e7-6ce8-4512-b1f8-13f3b572ac50" x="113" y="20" width="147" height="20"/> - <textElement/> + <reportElement x="82" y="37" width="232" height="23" uuid="4914d9e7-6ce8-4512-b1f8-13f3b572ac50"/> <textFieldExpression><![CDATA[( $P{fecInicioViagem} != null ? ($P{fecInicioViagem} + " à " + $P{fecFinalViagem}) : "" )]]></textFieldExpression> </textField> - <textField> - <reportElement uuid="652312bd-292a-424d-a234-5f157e3699c6" x="0" y="0" width="260" height="20"/> - <textElement/> - <textFieldExpression><![CDATA[$P{TITULO}]]></textFieldExpression> - </textField> <textField pattern="dd/MM/yyyy HH:mm"> - <reportElement uuid="6f671365-868e-41a6-81ee-a308d1d91e1d" x="722" y="0" width="98" height="20"/> + <reportElement x="739" y="0" width="102" height="37" uuid="6f671365-868e-41a6-81ee-a308d1d91e1d"/> <textElement textAlignment="Left"/> <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> </textField> <textField> - <reportElement uuid="7548d623-fb6c-48d4-b8b7-504f5437a79a" x="771" y="20" width="27" height="20"/> + <reportElement x="778" y="37" width="33" height="23" uuid="7548d623-fb6c-48d4-b8b7-504f5437a79a"/> <textElement textAlignment="Right"/> <textFieldExpression><![CDATA[$V{PAGE_NUMBER}+" de"]]></textFieldExpression> </textField> <textField> - <reportElement uuid="a79c03e0-bbe4-4b1c-8297-533a0d137b27" x="0" y="40" width="113" height="20"/> - <textElement/> + <reportElement x="0" y="60" width="82" height="21" uuid="a79c03e0-bbe4-4b1c-8297-533a0d137b27"/> <textFieldExpression><![CDATA[$R{header.periodo.venda}]]></textFieldExpression> </textField> <textField> - <reportElement uuid="b31b00a3-1ced-4f9c-acb7-470646f7b335" x="113" y="40" width="147" height="20"/> - <textElement/> + <reportElement x="82" y="60" width="232" height="21" uuid="b31b00a3-1ced-4f9c-acb7-470646f7b335"/> <textFieldExpression><![CDATA[( $P{fecInicioVenda} != null ? ($P{fecInicioVenda} + " à " + $P{fecFinalVenda}) : "" )]]></textFieldExpression> </textField> + <textField> + <reportElement x="0" y="81" width="82" height="20" uuid="8fb67bb3-6ff2-40d1-b338-714f199ea7f0"/> + <textFieldExpression><![CDATA[$R{header.empresa}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="368" y="114" width="73" height="26" uuid="2c09f3ff-c554-4ce2-886e-eaab93fa15eb"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.origen}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="474" y="114" width="68" height="26" uuid="e18edb89-17f4-417e-8041-664f11245cbd"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.destino}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="257" y="114" width="57" height="26" uuid="67851ba5-cc9c-4f37-8857-9e3c5be9b362"/> + <textElement textAlignment="Center"> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.linha}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="224" y="114" width="33" height="26" uuid="93fedb4f-18e2-4d95-82e8-2108d3eb135c"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.servicio}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="314" y="114" width="28" height="26" uuid="3de0b54a-0b10-4556-9b0a-ba8f19989716"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.hora}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="739" y="114" width="39" height="26" uuid="cc834009-ae90-46d4-8bbb-37578b69f621"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.tipobilhete}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="633" y="114" width="44" height="26" uuid="842c2e2b-0a9e-4a28-9010-9b0c814c5bcb"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.pasajero}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="707" y="114" width="32" height="26" uuid="94fe9e9b-e231-43b8-aeb8-7bc3eb2d61af"/> + <textElement textAlignment="Center"> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.documento}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="841" y="114" width="28" height="26" uuid="952c3d60-ade1-4f57-8801-3ef6bc7f2333"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.precio}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="869" y="114" width="40" height="26" uuid="e14732be-42a0-4f54-9eb2-52f10ece154b"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.desconto}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="909" y="114" width="41" height="26" uuid="b34ce751-6969-47b0-aeb7-fff00a5de1e3"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.valorCobrado}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="109" y="114" width="30" height="26" uuid="bb3d2388-6bda-4727-ba30-0a5f4612f1a8"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.bilheteiro}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="778" y="114" width="33" height="26" uuid="6b1fac8d-c098-4893-b1dd-7b64573f0173"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.tipopassagem}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="542" y="114" width="34" height="26" uuid="0948a2fc-fc39-4f2d-ab06-d7c97a66df39"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.numasiento}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="576" y="114" width="36" height="26" uuid="c4b5d11d-79a1-4850-8294-8ccaa0898bca"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.numfoliosistema}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="139" y="114" width="43" height="26" uuid="2af7bea7-e8bf-424a-9813-c9d2be7c0459"/> + <textElement textAlignment="Center"> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.dataMD}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="811" y="114" width="30" height="26" uuid="7b62e459-04bc-4227-be76-24bf5938d552"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.tipo}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="677" y="114" width="30" height="26" uuid="069eab80-7d6d-4dae-a598-c5014deb81f4"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.tipoDoc}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="1062" y="114" width="20" height="26" uuid="5105aee2-c3ec-4571-a14c-06b69218decc"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.tpp}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="1082" y="114" width="50" height="26" uuid="1fe1fad6-d193-4dc1-9696-5614ff9a10d0"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.status}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="983" y="114" width="27" height="26" uuid="f3655778-94dd-4fb6-8c84-cf32416201e0"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.seguro}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="1043" y="114" width="19" height="26" uuid="b68a4e34-b6e9-4006-8373-707c4e37eb31"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.utr}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="1010" y="114" width="33" height="26" uuid="c74391a0-cc07-44f7-90af-3036910e6bb3"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.pedagio}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="342" y="114" width="26" height="26" uuid="aed6f61a-6566-451b-ba78-6964fb2c9f4e"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.codOrigem}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="441" y="114" width="33" height="26" uuid="2f7626c2-fbea-4cb7-808c-2d7dbbd18ee2"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.codDestino}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="0" y="114" width="54" height="26" uuid="421120df-7852-4311-95a8-93478f8c4a5e"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.empresa}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="54" y="114" width="55" height="26" uuid="24ef9240-77fe-4c43-b065-4aa214805b3e"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.agencia}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="612" y="114" width="21" height="26" uuid="9e0176f6-a8ff-4246-8038-34155064d017"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.ccf}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="950" y="114" width="33" height="26" uuid="97583aa4-45de-402c-8ce9-978c974d6e0c"/> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.tarifa}]]></textFieldExpression> + </textField> + <textField> + <reportElement x="182" y="114" width="42" height="26" uuid="17200d3a-6195-42d1-bc36-ff2baffb56ce"/> + <textElement textAlignment="Center"> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{detail.dataServico}]]></textFieldExpression> + </textField> + <line> + <reportElement x="0" y="140" width="1132" height="1" uuid="8e2d6686-e4d7-43d5-b3a9-46adc3e58350"/> + </line> + <textField> + <reportElement x="82" y="81" width="232" height="20" uuid="3541e1b0-8dfe-404e-9461-64d10d85531a"/> + <textFieldExpression><![CDATA[$P{nomb_empresa}]]></textFieldExpression> + </textField> </band> - </pageHeader> + - - - - - - - - + - + - + - - - - - - - - - - - - - - - + - - - - - - - - + - - + + - - + + - - - - - - - - - - - - - - - + - + - - + + - + - + - - - - - - - - - + + - - + + - - + + - + - + - - + + - + - - + + - - - - - - - - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - + - + - - + - - - - - - - - - - - + - - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioGratuidadeBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioGratuidadeBean.java index c50fbdf2a..5f5e559fb 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioGratuidadeBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioGratuidadeBean.java @@ -4,6 +4,7 @@ import java.math.BigDecimal; import java.util.Date; public class RelatorioGratuidadeBean { + private Date feccreacion; private String origen; private String descorigen; @@ -30,12 +31,15 @@ public class RelatorioGratuidadeBean { private BigDecimal seguro; private BigDecimal pedagio; private BigDecimal utr; + private BigDecimal tpp; + private BigDecimal tarifa; private String rg; private String status; private Date dataMd; private String codOrigem; private String codDestino; private String descorgao; + private String ccf; public String getDescorgao() { return descorgao; @@ -228,6 +232,25 @@ public class RelatorioGratuidadeBean { } public void setNumfoliosistema(String numfoliosistema) { this.numfoliosistema = numfoliosistema; - } + } + public String getCcf() { + return ccf; + } + public void setCcf(String ccf) { + this.ccf = ccf; + } + public BigDecimal getTarifa() { + return tarifa; + } + public void setTarifa(BigDecimal tarifa) { + this.tarifa = tarifa; + } + public BigDecimal getTpp() { + return tpp; + } + public void setTpp(BigDecimal tpp) { + this.tpp = tpp; + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeController.java index ed8627b9a..853fe30c2 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeController.java @@ -55,22 +55,16 @@ public class RelatorioGratuidadeController extends MyGenericForwardComposer { private Datebox datFinalViagem; private Datebox datInicialVenda; private Datebox datFinalVenda; - private MyComboboxEstandar cmbTeste; + private MyComboboxEstandar cmbEmpresa; private MyComboboxPuntoVenta cmbAgencia; - private MyComboboxEstandar cmbLinha; - private MyComboboxParada cmbOrigem; - private MyComboboxParada cmbDestino; private MyComboboxEstandar cmbTipoGratuidade; - private MyComboboxEstandar cmbOrgaoConcedente; private List lsEmpresas; - private List lsLinhas; private List lsCategorias; private MyListbox selectedTipoGratuidadeList; private List listSelectedTipoGratuidade; - private List lsOrgaoConcedente; public void onClick$btnRemoveTipoGratuidade(Event ev) throws InterruptedException { Categoria categoria = (Categoria) selectedTipoGratuidadeList.getSelectedItem().getValue(); @@ -145,30 +139,20 @@ public class RelatorioGratuidadeController extends MyGenericForwardComposer { return; } - if (cmbTeste.getSelectedIndex() != -1) { - parametros.put("empresa", ((Empresa) cmbTeste.getSelectedItem().getValue()).getEmpresaId()); + if (cmbEmpresa.getSelectedIndex() != -1) { + parametros.put("empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getEmpresaId()); + parametros.put("nomb_empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getNombempresa()); + + }else{ + parametros.put("nomb_empresa", "TODAS" ); } + if (cmbAgencia.getSelectedIndex() != -1) { parametros.put("agencia", ((PuntoVenta) cmbAgencia.getSelectedItem().getValue()).getPuntoventaId()); } - if (cmbLinha.getSelectedIndex() != -1) { - parametros.put("ruta", ((Ruta) cmbLinha.getSelectedItem().getValue()).getRutaId()); - } - if(cmbOrigem.getSelectedIndex() != -1){ - parametros.put("origem", ((Parada) cmbOrigem.getSelectedItem().getValue()).getParadaId()); - } - if(cmbDestino.getSelectedIndex() != -1){ - parametros.put("destino", ((Parada) cmbDestino.getSelectedItem().getValue()).getParadaId()); - } if(cmbTipoGratuidade.getSelectedIndex() != -1){ parametros.put("categoria", ((Categoria) cmbTipoGratuidade.getSelectedItem().getValue()).getCategoriaId()); } - if (cmbOrgaoConcedente.getSelectedItem() != null) { - OrgaoConcedente orgaoConcedente = (OrgaoConcedente) cmbOrgaoConcedente.getSelectedItem().getValue(); - parametros.put("orgao_concedente_id", orgaoConcedente.getOrgaoConcedenteId()); - parametros.put("orgao_concedente_desc", orgaoConcedente.getDescOrgao()); - } - parametros.put("TITULO", Labels.getLabel("relatorioGratuidadeController.window.title")); Relatorio relatorio = new RelatorioGratuidade(parametros, dataSourceRead.getConnection()); @@ -188,10 +172,9 @@ public class RelatorioGratuidadeController extends MyGenericForwardComposer { @Override public void doAfterCompose(Component comp) throws Exception { - lsLinhas = rutaService.obtenerTodos(); + lsEmpresas = empresaService.obtenerTodos(); lsCategorias = categoriaService.obtenerTodos(); - lsOrgaoConcedente = orgaocConcedenteService.obtenerTodos(); listSelectedTipoGratuidade = new ArrayList(); super.doAfterCompose(comp); @@ -205,13 +188,6 @@ public class RelatorioGratuidadeController extends MyGenericForwardComposer { this.lsEmpresas = lsEmpresas; } - public List getLsLinhas() { - return lsLinhas; - } - - public void setLsLinhas(List lsLinhas) { - this.lsLinhas = lsLinhas; - } public List getLsCategorias() { return lsCategorias; @@ -261,30 +237,6 @@ public class RelatorioGratuidadeController extends MyGenericForwardComposer { this.cmbAgencia = cmbAgencia; } - public MyComboboxEstandar getCmbLinha() { - return cmbLinha; - } - - public void setCmbLinha(MyComboboxEstandar cmbLinha) { - this.cmbLinha = cmbLinha; - } - - public MyComboboxParada getCmbOrigem() { - return cmbOrigem; - } - - public void setCmbOrigem(MyComboboxParada cmbOrigem) { - this.cmbOrigem = cmbOrigem; - } - - public MyComboboxParada getCmbDestino() { - return cmbDestino; - } - - public void setCmbDestino(MyComboboxParada cmbDestino) { - this.cmbDestino = cmbDestino; - } - public MyComboboxEstandar getCmbTipoGratuidade() { return cmbTipoGratuidade; } @@ -293,20 +245,5 @@ public class RelatorioGratuidadeController extends MyGenericForwardComposer { this.cmbTipoGratuidade = cmbTipoGratuidade; } - public MyComboboxEstandar getCmbOrgaoConcedente() { - return cmbOrgaoConcedente; - } - - public void setCmbOrgaoConcedente(MyComboboxEstandar cmbOrgaoConcedente) { - this.cmbOrgaoConcedente = cmbOrgaoConcedente; - } - - public List getLsOrgaoConcedente() { - return lsOrgaoConcedente; - } - - public void setLsOrgaoConcedente(List lsOrgaoConcedente) { - this.lsOrgaoConcedente = lsOrgaoConcedente; - } } diff --git a/web/gui/relatorios/filtroRelatorioGratuidade.zul b/web/gui/relatorios/filtroRelatorioGratuidade.zul index a10d2729b..a20f86712 100644 --- a/web/gui/relatorios/filtroRelatorioGratuidade.zul +++ b/web/gui/relatorios/filtroRelatorioGratuidade.zul @@ -7,7 +7,7 @@ @@ -65,7 +65,7 @@ - - - - - - - - - - - - +