From f0f1fd8757767e8ecee29d9258fd5ee645aff9d7 Mon Sep 17 00:00:00 2001 From: fabio Date: Thu, 25 Nov 2021 13:12:32 +0000 Subject: [PATCH] fixes bug#23201 dev: Celio qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@109761 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioGratuidadeAGR.java | 231 ++++++++++ .../impl/RelatorioGratuidadeAGRCliente.java | 18 + ...elatorioGratuidadeAGRCliente_es.properties | 32 ++ ...torioGratuidadeAGRCliente_pt_BR.properties | 32 ++ .../RelatorioGratuidadeAGR_es.properties | 31 ++ .../RelatorioGratuidadeAGR_pt_BR.properties | 31 ++ .../templates/RelatorioGratuidadeAGR.jasper | Bin 0 -> 42048 bytes .../templates/RelatorioGratuidadeAGR.jrxml | 361 ++++++++++++++++ .../RelatorioGratuidadeAGRCliente.jasper | Bin 0 -> 42048 bytes .../RelatorioGratuidadeAGRCliente.jrxml | 226 ++++++++++ .../RelatorioReceitaDiariaAgencia.jasper | Bin 104667 -> 104664 bytes .../RelatorioReceitaDiariaAgencia.jrxml | 8 +- .../RelatorioGratuidadeAGRBean.java | 153 +++++++ .../RelatorioGratuidadeAGRController.java | 394 ++++++++++++++++++ .../ItemMenuRelatorioGratuidadeAGR.java | 25 ++ .../utilerias/menu/menu_original.properties | 3 +- .../render/RenderClienteSimples.java | 52 +++ web/WEB-INF/i3-label_en.label | 31 ++ web/WEB-INF/i3-label_es_MX.label | 31 ++ web/WEB-INF/i3-label_pt_BR.label | 31 ++ .../filtroRelatorioGratuidadeAGR.zul | 251 +++++++++++ 21 files changed, 1936 insertions(+), 5 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidadeAGR.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidadeAGRCliente.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGRCliente_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGRCliente_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGR_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGR_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidadeAGR.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidadeAGR.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidadeAGRCliente.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidadeAGRCliente.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioGratuidadeAGRBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioGratuidadeAGRController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioGratuidadeAGR.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderClienteSimples.java create mode 100644 web/gui/relatorios/filtroRelatorioGratuidadeAGR.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidadeAGR.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidadeAGR.java new file mode 100644 index 000000000..8fe8b0a8a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidadeAGR.java @@ -0,0 +1,231 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioGratuidadeAGRBean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioGratuidadeAGR extends Relatorio { + + private List lsDadosRelatorio; + + public RelatorioGratuidadeAGR(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + + Map parametros = this.relatorio.getParametros(); + + String fecInicioVenda = null; + if (parametros.get("fecInicioVenda") != null) { + fecInicioVenda = parametros.get("fecInicioVenda") + " 00:00:00"; + } + String fecFinalVenda = null; + if (parametros.get("fecFinalVenda") != null) { + fecFinalVenda = parametros.get("fecFinalVenda")+ " 23:59:59"; + } + + String fecInicioViagem = null; + if (parametros.get("fecInicioViagem") != null) { + fecInicioViagem = parametros.get("fecInicioViagem") + " 00:00:00"; + } + String fecFinalViagem = null; + if (parametros.get("fecFinalViagem") != null) { + fecFinalViagem = parametros.get("fecFinalViagem") + " 23:59:59"; + } + + String tipGratuIds = parametros.get("tipGratuIds").toString(); + String clienteIds = parametros.get("clienteIds").toString(); + String linhaIds = parametros.get("linhaIds").toString(); + String empresa = parametros.get("empresa") != null ? parametros.get("empresa").toString() : ""; + + String sql = getSql(fecInicioVenda, fecFinalVenda, linhaIds, tipGratuIds, clienteIds, empresa); + + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + + if (fecInicioVenda != null) { + stmt.setTimestamp("fecInicioVenda", new java.sql.Timestamp(sdf.parse(fecInicioVenda).getTime())); + } + + if (fecFinalVenda != null) { + stmt.setTimestamp("fecFinalVenda", new java.sql.Timestamp(sdf.parse(fecFinalVenda).getTime())); + } + + if (fecInicioViagem != null) { + stmt.setTimestamp("fecInicioViagem", new java.sql.Timestamp(sdf.parse(fecInicioViagem).getTime())); + } + + if (fecFinalViagem != null) { + stmt.setTimestamp("fecFinalViagem", new java.sql.Timestamp(sdf.parse(fecFinalViagem).getTime())); + } + + if(empresa != null && !empresa.equals("")){ + stmt.setInt("empresa_id", Integer.parseInt(empresa)); + } + + ResultSet rset = null; + + rset = stmt.executeQuery(); + + lsDadosRelatorio = new ArrayList(); + + while (rset.next()) { + RelatorioGratuidadeAGRBean gratuidadeBean = new RelatorioGratuidadeAGRBean(); + + gratuidadeBean.setCategoria(rset.getString("categoria")); + + gratuidadeBean.setDescOrigem(rset.getString("descorigem")); + gratuidadeBean.setDescDestino(rset.getString("descdestino")); + gratuidadeBean.setCodOrigem(rset.getString("codorigem")); + gratuidadeBean.setCodDestino(rset.getString("coddestino")); + + gratuidadeBean.setDataViagem(rset.getString("dataviagem")); + gratuidadeBean.setHoraViagem(rset.getString("horaviagem")); + gratuidadeBean.setPoltrona(rset.getString("poltrona")); + gratuidadeBean.setPassageiro(rset.getString("nombpasajero")); + gratuidadeBean.setDoc1(rset.getString("doc1")); + gratuidadeBean.setTipoDoc1(rset.getString("tipodoc1")); + gratuidadeBean.setTipoDoc2(rset.getString("tipodoc2")); + gratuidadeBean.setDoc2(rset.getString("doc2")); + gratuidadeBean.setLinha(rset.getString("linha")); + gratuidadeBean.setDescLinha(rset.getString("desclinha")); + gratuidadeBean.setValor(rset.getBigDecimal("valor")); + + lsDadosRelatorio.add(gratuidadeBean); + } + + if (lsDadosRelatorio.size() > 0) { + setLsDadosRelatorio(lsDadosRelatorio); + } + } + }); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql(String fecInicioVenda, String fecFinalVenda, String linha, String tipoGratu, String cliente, String empresa ) { + + StringBuilder sql = new StringBuilder(3400); + + sql.append(" SELECT "); + sql.append(" ca.desccategoria AS categoria, "); + sql.append(" to_date(b.fechorviaje, 'DD/MM/YY hh24:mi:ss') || '' AS dataviagem, "); + sql.append(" to_char(b.fechorviaje, 'HH24:MI') AS horaviagem, "); + sql.append(" ori.cveparada AS codorigem, "); + sql.append(" ori.descparada AS descorigem, "); + sql.append(" des.cveparada AS coddestino, "); + sql.append(" des.descparada AS descdestino, "); + sql.append(" b.numasiento AS poltrona, "); + sql.append(" b.nombpasajero AS nombpasajero, "); + sql.append(" NVL(b.descnumdoc, c.numidentificauno) AS doc1, "); + sql.append(" c.tipoidentificauno_id AS tipodoc1, "); + sql.append(" c.tipoidentificados_id AS tipodoc2, "); + sql.append(" NVL(b.descnumdoc2, c.numidentificados) AS doc2, "); + sql.append(" r.prefixo AS linha, "); + sql.append(" r.descruta AS desclinha, "); + sql.append(" NVL(t.precio, 0) + NVL(t.importepedagio, 0) AS valor "); + sql.append(" FROM boleto b "); + sql.append(" JOIN categoria ca ON b.categoria_id = ca.categoria_id "); + sql.append(" JOIN empresa e ON e.empresa_id = b.empresacorrida_id "); + sql.append(" JOIN marca m ON m.empresa_id = e.empresa_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 ruta_combinacion rc ON rc.ruta_id = r.ruta_id "); + sql.append(" JOIN tramo tr ON ( tr.tramo_id = rc.tramo_id "); + sql.append(" AND ori.parada_id = tr.origen_id "); + sql.append(" AND des.parada_id = tr.destino_id ) "); + sql.append(" LEFT JOIN cliente c ON c.cliente_id = b.cliente_id "); + sql.append(" LEFT JOIN cliente_direccion cd ON cd.cliente_id = c.cliente_id "); + sql.append(" AND cd.activo = 1 "); + sql.append(" JOIN orgao_concedente oc ON r.orgaoconcedente_id = oc.orgaoconcedente_id "); + sql.append(" JOIN tarifa t ON r.ruta_id = t.ruta_id "); + sql.append(" AND b.origen_id = t.origen_id "); + sql.append(" AND b.destino_id = t.destino_id "); + sql.append(" AND b.claseservicio_id = t.claseservicio_id "); + sql.append(" AND m.marca_id = t.marca_id "); + sql.append(" AND tr.tramo_id = t.tramo_id "); + sql.append(" AND oc.orgaoconcedente_id = t.orgaoconcedente_id "); + sql.append(" JOIN vigencia_tarifa vt ON vt.vigenciatarifa_id = t.vigenciatarifa_id "); + sql.append(" AND b.fechorviaje BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia "); + sql.append(" WHERE "); + sql.append(" m.activo = 1 "); + sql.append(" AND rc.activo = 1 "); + sql.append(" AND tr.activo = 1 "); + + if( fecInicioVenda != null && fecFinalVenda !=null ){ + sql.append(" AND b.fechorventa BETWEEN :fecInicioVenda AND :fecFinalVenda "); + }else { + sql.append(" AND b.fechorviaje BETWEEN :fecInicioViagem AND :fecFinalViagem "); + } + + sql.append(" AND ( b.motivocancelacion_id NOT IN ( 4 ) "); + sql.append(" OR b.motivocancelacion_id IS NULL ) "); + + if( tipoGratu != null && !tipoGratu.equals("Todas")) { + sql.append(" AND b.CATEGORIA_ID in (").append(tipoGratu).append(") "); + } + + if( linha != null && !linha.equals("Todas")) { + sql.append(" AND r.ruta_id in (").append(linha).append(") "); + } + + if( cliente != null && !cliente.equals("Todas")) { + sql.append(" AND b.cliente_id in (").append(cliente).append(") "); + } + + if (!empresa.isEmpty()){ + sql.append("AND b.empresacorrida_id =:empresa_id "); + } + + sql.append(" GROUP BY "); + sql.append(" ca.desccategoria, "); + sql.append(" b.motivocancelacion_id, "); + sql.append(" b.fechorviaje, "); + sql.append(" ori.cveparada, "); + sql.append(" ori.descparada, "); + sql.append(" des.cveparada, "); + sql.append(" des.descparada, "); + sql.append(" b.numasiento, "); + sql.append(" b.nombpasajero, "); + sql.append(" NVL(b.descnumdoc, c.numidentificauno), "); + sql.append(" c.tipoidentificauno_id, "); + sql.append(" c.tipoidentificados_id, "); + sql.append(" NVL(b.descnumdoc2, c.numidentificados), "); + sql.append(" r.prefixo, "); + sql.append(" r.descruta, "); + sql.append(" NVL(t.precio, 0) + NVL(t.importepedagio, 0) "); + sql.append(" ORDER BY "); + sql.append(" NVL(b.descnumdoc2, c.numidentificados), "); + sql.append(" NVL(b.descnumdoc, c.numidentificauno), "); + sql.append(" b.nombpasajero, "); + sql.append(" b.fechorviaje, "); + sql.append(" descorigem, "); + sql.append(" descdestino "); + + return sql.toString(); + } + +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidadeAGRCliente.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidadeAGRCliente.java new file mode 100644 index 000000000..9e62d6a20 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidadeAGRCliente.java @@ -0,0 +1,18 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.util.List; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioGratuidadeAGRBean; + +public class RelatorioGratuidadeAGRCliente extends RelatorioGratuidadeAGR { + + private List lsDadosRelatorio; + + public RelatorioGratuidadeAGRCliente(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + //lsDadosRelatorio = super.get + } + +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGRCliente_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGRCliente_es.properties new file mode 100644 index 000000000..030f3a1bb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGRCliente_es.properties @@ -0,0 +1,32 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à + +#Labels header +header.periodo=Período: +header.data.hora=Data/Hora\: +header.pagina=Página\: +header.filtro=Filtro\: +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 +header.tipopassagem=Tipo Passagem\: + +#Labels label + +label.passageiro=Passageiro +label.cpf=CPF +label.documento=Documento +label.data.viagem=Data +label.hora.viagem=Hora +label.linha=Linha +label.origen=Origem +label.destino=Destino +label.poltrona=Polt. +label.valor=Preço +label.quantitativo=Quantitativo + +label.tot.cpf=Total Por Cpf: diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGRCliente_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGRCliente_pt_BR.properties new file mode 100644 index 000000000..47cb9c104 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGRCliente_pt_BR.properties @@ -0,0 +1,32 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à + +#Labels header +header.periodo=Período: +header.data.hora=Data/Hora\: +header.pagina=Página\: +header.filtro=Filtro\: +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 +header.tipopassagem=Tipo Passagem\: + +#Labels label + +label.passageiro=Passageiro +label.cpf=CPF +label.documento=Documento +label.data.viagem=Data +label.hora.viagem=Hora +label.linha=Linha +label.origen=Origem +label.destino=Destino +label.poltrona=Polt. +label.valor=Preço +label.quantitativo=Quantitativo + +label.tot.cpf=Total Por Cpf: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGR_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGR_es.properties new file mode 100644 index 000000000..a55d13c71 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGR_es.properties @@ -0,0 +1,31 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à + +#Labels header +header.periodo=Período: +header.data.hora=Data/Hora\: +header.pagina=Página\: +header.filtro=Filtro\: +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 +header.tipopassagem=Tipo Passagem\: + +#Labels label + +label.passageiro=Passageiro +label.cpf=CPF +label.documento=Documento +label.data.viagem=Data +label.hora.viagem=Hora +label.linha=Linha +label.origen=Origem +label.destino=Destino +label.poltrona=Polt. +label.valor=Preço + +label.tot.cpf=Total Por Cpf: diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGR_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGR_pt_BR.properties new file mode 100644 index 000000000..b0acdbab8 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioGratuidadeAGR_pt_BR.properties @@ -0,0 +1,31 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à + +#Labels header +header.periodo=Período: +header.data.hora=Data/Hora\: +header.pagina=Página\: +header.filtro=Filtro\: +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 +header.tipopassagem=Tipo Passagem\: + +#Labels label + +label.passageiro=Passageiro +label.cpf=CPF +label.documento=Documento +label.data.viagem=Data +label.hora.viagem=Hora +label.linha=Linha +label.origen=Origem +label.destino=Destino +label.poltrona=Polt. +label.valor=Preço + +label.tot.cpf=Total Por Cpf: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidadeAGR.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidadeAGR.jasper new file mode 100644 index 0000000000000000000000000000000000000000..33e9a85ff3217d6183476e6adfdc0438f2a190f4 GIT binary patch literal 42048 zcmeHw33Ob=m3CD<*=oyedB-+j5C)7lBrn*2&8F3s(Pl}uu?-e&sUNN$RrR5!!jWd2oo|u;)H=foG{<5s<%}4^Hb~h`RDxq zInhzqd+**_zgu1S_l4UK?R4fvYZH}yqM;Fzx(b`)> zq$k?a*V!5C&#*Ddb3BshDr?E4Vu>zz9HBj?D&vuK`doG)6a6W6Y*60TMbgM%a|JHh z8JtneCN;HGFRyBBYpHIoEw5`^QQh29+t|>yytb;Ah1VrBnPg9WB!xoOQd#1CJ&DR> zUm{aWIiaVP-bg#L=5SZWIx^j>*{E1oBAJRdMG!KQi6s-O+1OaRCZ3FBDrLBuWHJ*? zk;imPUr$dYwW%Sx5#FP#S&2hh8OwANZAmoJ5lxjRI_yxzv2<%J6OZaJwX7%}?aZi* zR9{*CfRGpR=lx0nrKLp z1Y0-tM(bG7x=8!_t`uPC$grd8fPGoIv&^U$WvX735$uT$$Ze!Tt16a?wo|q;Y+hi% z3{omE{N=uumWbjI{cSJiQ zeeq07W>Y+xVMh-TPX?TnWJS?nlo@x zO->D$DXn2c(6=y^0)iTnp;oI) zG}dfbx>WNAF4an-LCTW#_cFGp6`FS(eq51iB;N}rjh+N3s2 z0U0B$UKp%2hjvFvldNXYQ7ygkSf)H4Pi~BM)UmNrf|U8{{@zqHotAoFMqqiDHoJa- z--zB+61`6*7ERYjdNb_U0RlI9y(9dvH06lYScZ-A^e+{gGSm$fJ8UhC*@5xP+APaR zF)BHv*t|SZt&T@~prsc>k!nE^x&p1ay*n1~NP%bPQ8x9uSX%0+s3%;8%?ivR;Pd!i z)ZYuKkEK4il%gyxPo*N8DBk`pznFZ>bCEkN#%ozYI<`4V6^gNq1>`!Fi}Bvx-V0N# zG^mJ#N~wVg#X)~#5LJp5%k)WOl@er%rI?UtVM}Xsb!+7kq%vo~RI)n=Z(P*KCTC!S zv^MujLt(UZ4~Cy2S*#*pF*_&;kKxc7?a$Q2qH#|%7$4jWMyyLF*P~lsUl-jFjaRVZ z=mscA*(JBedZHCalY-H?>Q{IyZFQ83vG&|#qh=_amoHpwYn zxy*h})+aa~sOQRJuVG_7>=cR)>j^4&-asmNiH&koM2A9I4|U>dj&?@T(%Q4rt78W{ zep-{scqZ1Hm7_Z5X4uqewkTrh3e@uTQd{@M;~6&At8ox%G?GAOirhLtAxQy93No&r z3wt9O6gQzCN9)I|454Yw9Yl53ia|9Q(mY28RcIJF>yl(CQXa;^u2)a6Wibq})l_6- zrc6>$Ds4Mgcms`A_Ozl&j}+TXsCC6?iga|qmNtQ^O=O~7(G;Q#b;53>TCZ`C&n?hZ z^gIhS7>y#f8Ga)1@;K~o(yltY6Ma~^hA#+Ipi;#zG2_)$d?@6bjCW89(~-GYx)uq? z+V%5@Sh}gBv$|(pw4)I=fXLh$Qn$F4%ie@JQYa{s|K?B>Xb*|J)FYm@eM@-v5)eQG=6y)d=#aQ z$HtB{V_z@Diu#WFEd{UhiZMzm(v^zzc4vSrs&v5cf?BooO8M;t;EDDm)gc`-k!s9Z zqXs$#jHBe(Cl|-Cq?uxCVI~1XisuOlxiONkczm1g?p3f z7!5zkUc)#!t-4ows%1kq($Kw@@qYX^!B(VUZaXPB5;e5cIPd5XmgR;R+GmCZgNos$ zXH02_A_eKS<0yrRND>3Us5eP#eRPwq$^|{i4yg&y42RLZmg&raWm*s4y0Q&N+k#q@ z>V_gNtYZ^BB+{-?QX-PYQO z|0W%OpxH}0sx+%?KG7d+L|tB2SKZRu)>yH$y0R69wKDSMAcGKi>K5y>Z}ePNhVji( z7KY)I&a}k3Dq@-RQZ~FN={)uKZhd~LHQ~k3geP9xwC&tX{YnCka!r326C4+0;mDl( zbk;t(A6i-6&|2NB;)RPW=d0vMr=TZQk&@vwJllXF0ie$vrmY$p$OX4jQlT_gmh5ke zl1T{TslSp886*V_Gtd|h;T+%85BhcgWD!KA1-Uq25wvpfjvI?h!lW!W1E$pUIgc*TOvZ$zH)nYuMMnq6faxh^~vd#T6gq2lT zz2UG2S`C<|hQ*+)Zl^X4H1WH%*~y&~hE$cbu#Iel(<;64P7HYoY-DzXrd34AK+?o; zCbF&tibpmNO$%w7tSS?rittCQh4Rkp=nk2n!lV{@mOzaqdzRdZ4h6KDyP{-hzNw*c zHV zRc10?=_HglOyx_v$JBYsn~%=(GR`o95~`FNua7l`4_oJGAIPyxbS-6_LMCJxybc9d z(xSFQe%8q#G&_1&A3b;Bj!Rk$VjHH!*52D`$3lL3=t27Nm&8Yugp7R@dDqr4-DXST z-tn_fWv6~r{mCa=sux?Qf2xZo6C?kFk;E1XAf1bXB%!?dNW#nTmxR}cza+E|8y-gz z7s(QNoghgZ?jwnjN)jE(_CA^&bJ`CTdH{LwQ}dR`9ns$QL|4b#%impf)YCs%viLyc z@ioetbgm1Mhw|nl4==-C9$p{*^3XnV6!Jbu9wk2V7_H@jH_)XUV$f+)2ozO5 z61hHaiQIER*ME)QaO>>uil1D1<1cFtNFv)QYtp$pNFvIck3_r-e~EZ~_)A3l08XZ^ zx?4)Y>jX*Ui2X|h^TmUe$ZDv(ck`CW_kQ#Kw8Skv-+!=e`-eX)XuR$~+Q_3M5$QY} zBoXD!MLma-%(6b+DDEo_So<_*C1IO=_8A< zk_Fy}bVVJzARl2|o3}7_tvvR*-nXi|NB#U;)BfIC4NJnE0HTxz)0w|Y0i^RvkT8@t zA7OYI{=)G3@E3;mkt2*(93j{@LBcr7M;Ie?=Ygdtu|(co`AJv`@=o5;xVmWbyCWBb zpL%xE`e(kgwDSD}k;Z?LG^F#}AZaLXKGN_q{H5Xb;V%vCBS#v)wT0kZgQRh^k2J96 zN{&tNt~ixU46Lb01o*?4!cZg^N${AoG%ws_V;3-uDk{e)TP&(es$r8SN-I&`R?eP3X;1J zhN!uNu-jB7JynyBLSZpiGCgR7FXu|^S59^mp7#<%8=K0PEw5JSWe?@P^X0eiTd`-= zcXnSm|E_nx*Lb(Lf>SOBq5b&;1W?YHfO@UH<<@J1VOLWUxxuh&rw~?QVPNlN7}#qDiezGcvEhoV2-@=rZRyPOL0fTs(DpJ6w7m=i zZOzC*d)}bXp58~*&ofy>HJw&&uNdrDSeOQ85Z-q!{NmY_UrjGLd+j4@C(Jvo@Idgc zB)p|l?t{1D`rz$l7!K}ml5F7Y4ibHaeV;yG7P}I3NbK}I%oMnt++l=dl?4QUWNg+X5>J9)}WxCurpjD-}oEZZLESI(LfySRbT|NQ+=&#{tb?2I2i=@#w~r3y=NwKX0Bl zDN)(*`hnnm9^ow=Z7|tyTck~*xITD$83x{7hJm+cl0^+DPV7BDE+k*nYa>^ffL(=@$ra&m6p1i?Pr2X>k=$QgxaSm?-E zM;(#>8I7s{5h&mxVzvj+b z>@UO;Is9SSiMzA}>tfNWrJm!D%A6)Ul-Wb7kMA7FzsF9>GXVB8=+Rkz0lee6{6cs} z+<69YjgR~SI5Q~udG}0qMFd$eKhxSF`Z?XtcLAiEWqNbojx9o>*du+_v1BZ1H%6hG?hL9&G)N z!vq5L_tIwDCwhY1Es$f)qUkOnj}6~yYrGAKUK>1IngYhI`7s`ne$hahE(FCbIi4dD zu!_?|GCjL0-7&9}_-NC3S)QGTjf5-sKsyS%aj=uAy$@UK(YIhTY%I~9k{hJSgj&sL z>)fU^Hs51A4c4-DRIp*NCZcjLH_RnZSPg3)8#pT61U06)GAnlSv6w6`f)hJZ#yC{U zolY@$BM`k7DXaAsN~d{<6IV3lJ^H~}oms~Y-;Wn#5oaAcD3-wPrbt}oC(Cp+JL)2d zowr0}n<+GPY4TXDE}I?!pi45?o*w(lKgLu!!yBc*HO>TGX_l~bg_L{BNhnx)JEXF4 zc|$8{Jw_`LL)qgAo?#Oc(Tyc;Z?4}`PMb3w{WfwDxL{o7B1eEe`6y^;Y{2U+CnLl1 z&&X_Kgv_7b&Nf*Xl!fm@#sc3i%8VJZ@X6GW#m$Y&o3M)@r}S<{!`T_dbiAHILmmcR zAf2nGd@?e$p|QEXyiS==!zo2x3~y@S>Asp2a*w`{AbQ?s=?L-SJ8Kbxp!cx&Bk5s9$A=vLTlkFQW?P@sWf5v0m8aeGvA=+1O(>v|hFY36%P+h<3W%NwmU1iJlLK zR3N92?@w6?;OQ={a75urPvpTfdd&)9SJ5w)mINHZkEq={9NOkptAgTY~Q$tJh}o;$LKpP zG1zX11LzDZZmw=>Y;J|##m2xhT4lx26)v9!FUsk#{(I4M`&KzSd;X2dtzEnWk*XyS}BZ=C8( znDn{vQWPYi4x}=IkJ7>G%g<0flN*{^%Q(aH811>LytTZorEz(4Wwq-aHgu2$sgC1n zk<&y*q;?KkDw}JYTI;F}OahJ4rOoB*u)!CnYB|$HM$990cIz4|%j=Ass)4_hPhAow zX4D9GkPg>et;*O|vAm(mj9{WGV06%)xi2FkyJ)So_0?^w$#@`Lq$}STHwrqJWpy%P z=EAOJHPo%Pw$+qZwl+4e^2QKoJjlYK<+|sN8Ce^v%UD@g-qO-m*H~VKO|zcdjd#rn zIeS-^q$9hGD6mmjHmv2%b!|(^387}cTq?7Sss=pL_Txy;5-f{~J4Ue)={Ox}O>JE@ z+DJ=d9Zv4^W-M^~s46s$B_yH5aaw{AwK22qK3#pNs z+UmM0Bcx|bG)+MnNe)FhXgjh8*+8YE=csGsB(V{b-S$@0Hn%P>ud7`>h*&XvjioYu zbS`5SB;#sZ+G-cWa;t7@DqmdNfIa1=0`ZuYdiRx`D@Mw-XnD)>^5)vcw%RIh8T}{L zpg(1xq4Gs}dJq9xYg?Dssf7W7Q*m|*#huai+C;29mRu1{bl@$4+w6j~HUa@_aI#~3 zkl{wU391z?d8bHORVfZKU^tQNS=WY*C8=n75GAB}GHGE93<{v8VlX;dt5BNlg&7vc zNsn}7Vd>^%vIj#N`w=J5IQMvUFyFr~=$AqJ<2Ycnzdhd95iNzqgQGM{X{BW8+zdNy zkl|>)r&R8Qb)qFMAF;`z4Es8tl}CPE`{FIKMN~4LRa?ln%Aw8jy!KhTx7O z@Tn{QzFaJ5pBYM&hjEtboYL8I7tEWpVD7vH$1Rw1+?*3nAkJfulgfxQGbA3#Fg}}@ zk7MwcN%heTx_Hzk?$kuecfRv~^7Rk0hd(kFg=c5$%z@sl$guXNR`ZxkOwPk7hRxzN zimO#UuS}*=FpahO%*wxe&zWz%yZnt)ZoH&&UGYzA-hj2NUg`u`%k~7;qIK_Ia{f1F z?X0qm;n1VM?x?zp$$vW6~cgzSXk4-l+ve*=b`A$$5*P4W^v_@vi?w%NXgt zpeTj$g7tRJbOnO*eH6!-4D)}ZfoZCf{FSmgr&>;x1-xLDN(zo=x%v=Tfvu}3)stl* z-6<+A`#LqLW6zh2vkzY_h}&_I)Y&LFR#*<`<+GfklFJoNfxd3Q`P1syOPNIZ6Dw1T zu1maMvO0dqc~dIt_IhVeR2<|=zgf#cC~|9z;}k1T_N=~1s5cX_| zmtp6{o}jXd-Aw8`&m;+KJ3_==Pc|pJ%3zYDs3+Z3s?HiV;&Nt3#>v?c$UAV_LdqNO zXR+5=zE_}$YFjQI84s(&xTK}Byh)9`JUb+crHqRu)V7R|wq-27X~!i?G>Tv^QQ4&u z+S8EMNF~*Kj%yo#;euO!6g_gx)6-{E)Voq8zMN(|NMR!v7g0p}74gxOmUQ&Qp&??$ z^%1d`VTjnvFhr~wc3vD2Pf_LcxIrQwnJr@KFSWJqi9+Q#2WNH;dKZaxUO3;mdwW&Y z+x2I6KK$aRGxwfuO!vBp?HAg)1g&&ttNa+yDy|Q-UWNg!mtjDw8OV~%iv#U!H-SWWrQd&x1N-yh;7-ecU$d1BdhhZlgO@AJp7syXE{^@Urmw&zSs&8Gg zY#(c!pu`iYu-U@?M64yq94huNlaa%!^aS8{AClI}>^2 z&(lGSaqw21EuAScLRax#`Go}|Is;)xS+h=!u)EVTNLg?Bczfuj*AJVV>>3-r{F?G_ zc@dWNq7oyay6T$Xjh4LxberR>Q7{;2E3OaPUWS3Tmtml-898XLG2o$xAhgG3qm9}< z&UtSthpCu;icX_8ifQebz16SAQSVQ9+__cD$ zQYJEPsc~jbDd~us{jgE>UDb{S$?`8h)qe5KEel7CJ@1(NZnxfk^1ag!^?ws~85}UWS3Umto+o898`wb~CB(f~xy?2X9xojI)&szEYFyNS1Dp zvxDAf{ec$Pa3l9N=LhryI~NbF`RtMTj~v3bANo<_?SllGR=Zo$@mW@{7~6b+R>2g* z0NTqifYyv0paYlH=Tz*29H8X{3ZptKrs*CN_F&dztW(d!B}bfGlE4A#C8w55Q`A7; zGtm+6xy#cV!?!tK>qH%zUb3)c%9IkXD$_OFtGJ|T?#T8;QtE0z7hvpfAGzy>A9a1P zWzM6Q9De_KRd)|kw)c>1rE`~0BT`%+*?JjcJ-6?T&>v!_4%g>Zhqrz2>ejnsU623x?GwvC zK4r;$gM|1gf>=7cd>~d_ABepS17a`3fLJqfAl~IgWI%`~WkZZQY`=o?M&u8zQ+xA+ z_QAcE{-F7q$UBR^{ql~#?ybSuYJ;l1KPG6U^PCT~it7WdmtjEbWf;(EMh>*kc@Y^9 z+Jm#9MeQA{YcFkdNhM2-O|ddUf1I5v9LcK+-{1EyPu#gMvNn9hwe$9Dt-?77gTk2( z@3ExwiVx0;>w~kGVc_g#7&vQ24$gt61m$$Ghh*c7D(t?<^NP$LT&EJ}2kx%p&Khyz z;(2fF`|oGJzG3U)uMZO3cL`kSyyF9|;`)H=Wf^1m zzC2EP(JQy_8U6Z@l;X(9pf1oi z77pOEF%-kBHS{UTM2GyyLnJP9ju*9a271kiRZm73EZ_J2+5@F=9F|f;Y01z1(YF}r zUay%BKINT+TZSbYalKr6pzqn_d=29NbJoX*h>TCl{D1ik8_IjBKII)J znrGON18mBGCkQnAd~3)q=W{j`HO{>rYJ8r?|H~WXb-uZ(e!t(bA-}Vc18l!Uer2sB zQXU`Q$olkCexJCp&+|tKjW3>1nxG9$MLJ@AvIoG~+W%L-heIjO!B&_wEuO3G!QLC4 zhmkHtx1Bt`=GfxIqFa#n11>t^|Fy5_P3rbQ(vem(aSh68Z|2O4pgMb*I_PqT)$L z>%J8A{bV4#<+Xu;-psmRn%z(DHxh44)yh(}juk6W0#6*r-Z^{>3||1YSL!++B-VWz z)}&y!=-74*LZ$n~Vt~XS$8H~bkAmGXxtxPMpHwxu_>7Q*Mm#}h+Tm}MvrLEe6K1{) zbm(GD#RGqy@Ry;X*0=S7lNr4~`TMRPAc|6cEoZa#vjDtp&VqTzAAkJp1#{=jKk@js z6Hb_Y;`}*<^t~Bcr?cNrXi@KlPmfe@kY6WErV5$Gxp8G4zAvpSZuaW2zcSjgEZm#p3`a(0+Y@>?;= z+2J`J%;nl#eeFQ*gKx9f#2E-Vt5D>+af4;9+2d?-PGa75wVWNA!}lzq=Ip2(w$GYc zqs)HGHVvHA5=%e0ot55xOssQKOJfb$Y9!P;YQNHW7Nv50^2w*gO<&%pZ z{c_?g2j}b%H=rvMz1ZC-v|4OyWZjXJs^z)0!dza>SxHV}SW;lJh}VDIV;jx!O2VxpY*Fb%*M-~gND9ApR7R3j_oCJ z941AcFgk1aplO__j8$%^hYrK3HCRu^*;t3}uHf?e_O6+NmT-Jyn~vHd0YDt0+Hb|# z(35D7<|&+6)26TBte_H~W(%`L?4%-Az)lIXA#CU{CfI3VR;cbO!Yrijs={oTx~mD} z8_v?-k}w;t?v{pGSl!iy*$8#l5N5^dt|`n$s=MYemWs--tzkA=-K_{?!IPw&5oTl6 z-RdwKr|!-Sv+?R~ZI~UT?#>Rg3F>ZLm`zl79bq;}-F1es7FfpD9cG89yK}904;4p(=nFe_1anJ_y--E9c7DeOqXr9aG$Qg@rfII&dH&JVMx>h8iY zJ4W4oCCsL&yNknYy1KhG%x0*&%foD@y1OFGW~sZchS{;|?y4{=Rd?5fS(&=KF3e`D zyRU`W9CdeNn9WspUk|f+>^REbH^OYby1O;Z7O1=1!|Zr*jwrB5wzs?zH}zpg9Z5=Sg4-iZ1yzI*Wc-kir`18WJOfvnn>BEQBSkO zPlxpHXa7`$-2b!oTO&`a39|kqM?L-E-DJbP|J>?O!fGdxB?h`o$nQPX{_ zfe`y8^6qB_gxJ5MgsT4!vDaNpoQ^-l-gK!>j~`;c0?0Z=)zydCuieaf`uGrg2fc=; za}Tk1sh4o7jqKG!?6+<*PIn$+|B2quMxwDn_v0b<0dlQ6@DTeiK0@qEJUabyh;wAk?UX|t_PJV68{$K7Dh4AI}#UVb7BC$K-5FZY< z+Y5*I2=qO4IAVy8q>?-RZ-|dpoH-#r7A5j@yCFWF%hMkQ8cPr;&=vCZq(VLcGBSGH z5TAr5=|~oRZHOO&Ot`&lh);$OZ~q$Nhf{g%o;AdeKrK*xYKR{RFr#Yx0*yI-TCI;> zLHyPI?NNDfQ5sE*wyl*(T|}Q^-bl)}kWWL6a~b+@fI>b4h#*qv$whot5ueGAMS@Uj za^eE5Yno4bVP3{(7qL(I9C(m%(%~y*?%L);J`d5-0%z1pr3bToEDH1ae8Dh&96uiI z!_AjEf~b(6Si~n%^yYrz5I+ej7uy}PRIUnTs9a47^Hcb#Q2+e2BK8zTn6r8?#4C}> z>>O0|b>iFUg}j)LXk1>eKHY%|t&#u`b-bQp zXrN|;6I$pDrflGy(lqg9?n1FuPfpUc{?f!t!M~w zRBsmID0_j`>dRtN^+{nSxinXIj56TPfjB_%gAXV zXE`}5$yr6t8gkAer;VHlIql>`$>|~|M$US2ddNwVb1pe)a{9>GNX{m5&LignaxNlg z3ptmNa~U~X$=OEEmE>Ga&b8!RPtFbG+(gdJRX#;l#}p&7^SWDmP2Q27~K ziFSMj2G*-ER9=lR7!;`(#1@8)n1Jl_88gQ``UKl0*lzX|{;3kp9P3qF+2~f44QLjOtwR-SM>FU^6^^3%b)v#_u{f&z zg)D~3eGa>at!Iyd@*^~Z*H{7-HOcm|UL19FE-zszK9{9=70d7ytdDoI4SX}($gg7k z{7$xsf0u3M&#?3OE9`v!KD&Vb1+fYmjH~L%FV)p?7Bc#Y&giGR*{7sOW{&xbK{*eU zFAT~BpzJd!7lHD3gR*7DOc?(L=@KFdgLD~@3JlU#A`LZ2+lUl0NLLc6$RJ%!q_9D{ zmPo}0>3SlKGDtTNX^cU-iAduN(#@^}YcT7@poqq>t&rdqkl;2*@T-vEm5|j{>?`bQ zb_2Tx>hW42a2-_7_3YQ|YwS<#20nz{$S1O!_)PY7NCYz>TE*;A5@DB9$_J^G`NZ9P zBB^4K4mL=)5$RBabO(_RGf3YgQi(yjn@Cd((sm*pWsp4TeF{23#_ohl|0b06UF<}5 zH>*S4Y-8J@ns>0v*u8i`bTpp|>mM6XpawagPTl2@a+JuzO8uL7{UQH^>viDL-yHmK zm=k*kKRQhObEw53_yJRnmVwZWqf6oC_+f(^K5oSLI{dKXfM1B;HvDeJ?;iYi?f#LQHkF&{BR1kpj}^m_+5e@9r$$%emn4c2)|wUJ&WIq_`QkW`}pm}Zy)kn zgx^H`rs4-fz^cHn3BR@YVOOTL8NVx@19EOQv6z(^>@5Zw04TlNKRQ|k5) zxXq~B_i(#G-M)_7es%jZ+-_F4dvJTcx_unC7pmI_ar+f@dk=0eR<}1J8(VG3!2EiY zUEn;Oho_sIrye|==RCFH=}PBm8J-;Z!sdLGZE|??@pQfObPS$ucAh5T$*C-CII?vq zWoy=V(eR}G#&4xvP3Rf~dkEdkBWRY7viD#;eFW9@M_5pwvmc<_c?L~%52wk>(d>CX zj{Ou(_1}02rWB{MU+`J%RW#Xu=O4kn3r3_-sfxC@6m++i$^hm z*316L)9e#8<^SeeFsHSReSvQ4?`YCr@>?-8bq_D#_wo?mjrpfNm}Gi^7xSO-G5l3b zCcTcSpwBRn`hp)S1fML1@FPSepCW4bRI!X7BU<@PaVDQ7+W2g74xb}>_BQr zVom3lS;z6qt>gJutqOjnRn4!pn)r2A3%}7?%WtwG{1z+DZ?%&APHQv&rgZ_|Ze785 zSXc6ITQ{H+=lrsNC{{Hz;xtmwd4u3}Y^u@$R+ z(u!3-X~n9av|`myTCwUUtyuMwR;>C-D^~ra6)T?53-4dC@+V*yJ;`3v(S^PJc!F`vX!2gq% z^WX6*{vogDAMqx>m#^V};%oV*d>vF`l>e3Y@_jsw844V-!M8v)ZWBZKRicRBEQa%2 z#YldS7{%`uSobrZ_>giIc=R;$+by%0-{35dH9RiC8Qy7pIGBM4h-^G>Kaf;&!oI><}x& zePXqENURYLBjhe|ws=}}h-XDqJTGG6Ma1;7NQgH@QoJS7;(d`3A0WoPVw3npTp;#| z3&oe>Vyj48VvP`6t%>3a>kx63HC0?~O&8Z&$BD05$BVC972;;ATHIzeiQBCfahJ7L z+-*g~y;fX&%SwuWvNnr7^A@OTITD;B2iT7YH{+5@(cAGAK4;%4g*oJ@LCx}1ua@cWI;xD{je9oK1-}oBw zcfQsVe4S!u&$mcU!E{e490fUu7M{Z?-1Db~}XMV;#!xwMzJI>j=Kb zI-0)#+wW)A4F0M$lfQ12@z1Q;{0pcnVa*pqtP@40wNTVpr-)_NsiM`Y6lYphqRm<& z&arAmk5w=FtOn6~exBA43)&}u1)ZUxcdEzbWBJsZU74d;}sn}~>CO)yYiG9{r#h2DKR*`kB zHNv{VnrPi<9b$dMnrhu*O}Fl_jWPRIeu^zD2S`S(g>w8w* zde}-@k6D|ooz?}`lhzg1Q`VK%Zp8FF6f1_=7)xMd?s(tjq?zCo(((32t+ZW=x2x@X IJ#6ZK0B}WE@c;k- literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidadeAGR.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidadeAGR.jrxml new file mode 100644 index 000000000..8b6312fbf --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioGratuidadeAGR.jrxml @@ -0,0 +1,361 @@ + + + + + + + + + +