From ed20d8286c0e6030b9cda2be644c848da9906b42 Mon Sep 17 00:00:00 2001 From: Fabio Faria Date: Wed, 18 May 2022 09:50:53 -0300 Subject: [PATCH] =?UTF-8?q?Sincroniza=C3=A7=C3=A3o=20com=20trunk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/RelatorioBPeSubstituido.java | 225 +++++ .../impl/RelatorioBpeNumeracaoReuso.java | 146 ++++ .../impl/RelatorioCheckinAberto.java | 160 ++++ .../relatorios/impl/RelatorioCteos.java | 124 +++ .../impl/RelatorioLogAuditoria.java | 44 + .../RelatorioVendasCartoesAlternativo.java | 240 ++++++ .../RelatorioBPeSubstituido_es.properties | 56 ++ .../RelatorioBPeSubstituido_pt_BR.properties | 55 ++ .../RelatorioBpeNumeracaoReuso_es.properties | 32 + ...elatorioBpeNumeracaoReuso_pt_BR.properties | 32 + .../RelatorioCheckinAberto_es.properties | 18 + .../RelatorioCheckinAberto_pt_BR.properties | 18 + .../RelatorioCteos_es.properties | 27 + .../RelatorioCteos_pt_BR.properties | 28 + .../RelatorioLogAuditoria_es_MX.properties | 19 + .../RelatorioLogAuditoria_pt_BR.properties | 19 + ...orioVendasCartoesAlternativo_es.properties | 35 + ...oVendasCartoesAlternativo_pt_BR.properties | 35 + .../templates/RelatorioBPeSubstituido.jasper | Bin 0 -> 71805 bytes .../templates/RelatorioBPeSubstituido.jrxml | 781 ++++++++++++++++++ .../RelatorioBpeNumeracaoReuso.jasper | Bin 0 -> 34137 bytes .../RelatorioBpeNumeracaoReuso.jrxml | 240 ++++++ .../templates/RelatorioCheckinAberto.jasper | Bin 0 -> 28313 bytes .../templates/RelatorioCheckinAberto.jrxml | 168 ++++ .../templates/RelatorioCteos.jasper | Bin 0 -> 40873 bytes .../relatorios/templates/RelatorioCteos.jrxml | 333 ++++++++ .../templates/RelatorioLogAuditoria.jasper | Bin 0 -> 34830 bytes .../templates/RelatorioLogAuditoria.jrxml | 267 ++++++ .../RelatorioVendasCartoesAlternativo.jasper | Bin 0 -> 38071 bytes .../RelatorioVendasCartoesAlternativo.jrxml | 268 ++++++ .../utilitarios/LogAuditoriaBean.java | 107 +++ .../RelatorioBpeNumeracaoReusoBean.java | 67 ++ .../RelatorioCheckinAbertoBean.java | 59 ++ .../RelatorioBPeSubstituidoController.java | 319 +++++++ ...oCheckinEnacerramentoAbertoController.java | 140 ++++ .../relatorios/RelatorioCteosController.java | 243 ++++++ .../ImportarRetornoBancarioController.java | 108 +++ .../web/utilerias/api/ApiCallRunnable.java | 126 +++ .../gerenciais/bpe/SubMenuRelatorioBpe.java | 16 + .../ItemMenuRelatorioBPeSubstituido.java | 25 + .../relatorios/ItemMenuRelatorioCteos.java | 25 + .../ItemMenuRelatorioRetornoBancario.java | 25 + .../ItemMenuLimparCacheEmbarcadaAPI.java | 105 +++ .../menu/item/seguridad/MenuAPI.java | 16 + ...nderEixoConexionRutaRemoveSelecionada.java | 52 ++ .../web/utilerias/render/RenderParada.java | 20 + 46 files changed, 4823 insertions(+) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBPeSubstituido.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBpeNumeracaoReuso.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCheckinAberto.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCteos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLogAuditoria.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasCartoesAlternativo.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBPeSubstituido_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBPeSubstituido_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBpeNumeracaoReuso_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBpeNumeracaoReuso_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCheckinAberto_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCheckinAberto_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCteos_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCteos_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLogAuditoria_es_MX.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLogAuditoria_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasCartoesAlternativo_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasCartoesAlternativo_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBpeNumeracaoReuso.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBpeNumeracaoReuso.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCheckinAberto.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCheckinAberto.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCteos.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCteos.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLogAuditoria.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLogAuditoria.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasCartoesAlternativo.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasCartoesAlternativo.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/LogAuditoriaBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBpeNumeracaoReusoBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioCheckinAbertoBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBPeSubstituidoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCheckinEnacerramentoAbertoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCteosController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/remessa/ImportarRetornoBancarioController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/api/ApiCallRunnable.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/analitico/gerenciais/bpe/SubMenuRelatorioBpe.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioBPeSubstituido.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCteos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioRetornoBancario.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuLimparCacheEmbarcadaAPI.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/MenuAPI.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEixoConexionRutaRemoveSelecionada.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBPeSubstituido.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBPeSubstituido.java new file mode 100644 index 000000000..e1d8217a2 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBPeSubstituido.java @@ -0,0 +1,225 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioBPeSubstituido extends Relatorio { + + public RelatorioBPeSubstituido(Map parametros, Connection conexao) throws Exception { + + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + + String sql = getSql(parametros); + + Date dtInicio = (Date) parametros.get("DATA_INICIO"); + Date dtFim = (Date) parametros.get("DATA_FIM"); + + NamedParameterStatement ps = new NamedParameterStatement(conexao, sql.toString()); + if(dtInicio != null && dtFim != null) { + ps.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00"); + ps.setString("dataFinal", DateUtil.getStringDate(dtFim, "dd/MM/yyyy") + " 23:59:59"); + } + + ps.setString("empresa_id", (String) parametros.get("EMPRESA_ID") ); + + ResultSet rset = ps.executeQuery(); + + while (rset.next()) { + Map dataResult = new HashMap(); + + dataResult.put("cod_origem_venda", rset.getString("cod_origem_venda")); + dataResult.put("cod_destino_venda", rset.getString("cod_destino_venda")); + dataResult.put("desc_origem_venda", rset.getString("desc_origem_venda")); + dataResult.put("desc_destino_venda", rset.getString("desc_destino_venda")); + dataResult.put("cod_origem_remarcado", rset.getString("cod_origem_remarcado")); + dataResult.put("cod_destino_remarcado", rset.getString("cod_destino_remarcado")); + dataResult.put("desc_origem_remarcado", rset.getString("desc_origem_remarcado")); + dataResult.put("desc_destino_remarcado", rset.getString("desc_destino_remarcado")); + dataResult.put("tpp_venda", rset.getBigDecimal("tpp_venda")); + dataResult.put("tpp_remarcado", rset.getBigDecimal("tpp_remarcado")); + dataResult.put("bilhete_venda", rset.getString("bilhete_venda")); + dataResult.put("bilhete_remarcado", rset.getString("bilhete_remarcado")); + dataResult.put("assento_venda", rset.getString("assento_venda")); + dataResult.put("assento_remarcado", rset.getString("assento_remarcado")); + dataResult.put("data_viagem", rset.getDate("data_viagem")); + dataResult.put("data_viagem_remarcado", rset.getDate("data_viagem_remarcado")); + dataResult.put("tarifa_venda", rset.getBigDecimal("tarifa_venda")); + dataResult.put("tarifa_remarcado", rset.getBigDecimal("tarifa_remarcado")); + dataResult.put("desconto_venda", rset.getBigDecimal("desconto_venda")); + dataResult.put("multa", rset.getBigDecimal("multa")); + dataResult.put("valor_passagem_venda", rset.getBigDecimal("valor_passagem_venda")); + dataResult.put("valor_passagem_remarcado", rset.getBigDecimal("valor_passagem_remarcado")); + dataResult.put("taxa_embarque_venda", rset.getBigDecimal("taxa_embarque_venda")); + dataResult.put("taxa_embarque_remarcado", rset.getBigDecimal("taxa_embarque_remarcado")); + dataResult.put("seguro_venda", rset.getBigDecimal("seguro_venda")); + dataResult.put("seguro_remarcado", rset.getBigDecimal("seguro_remarcado")); + dataResult.put("pedagio_venda", rset.getBigDecimal("pedagio_venda")); + dataResult.put("pedagio_remarcado", rset.getBigDecimal("pedagio_remarcado")); + dataResult.put("cliente_venda", rset.getString("cliente_venda")); + dataResult.put("cliente_remarcado", rset.getString("cliente_remarcado")); + dataResult.put("tipo_documento_venda", rset.getString("tipo_documento_venda")); + dataResult.put("tipo_documento_remarcado", rset.getString("tipo_documento_remarcado")); + dataResult.put("documento_venda", rset.getString("documento_venda")); + dataResult.put("documento_remarcado", rset.getString("documento_remarcado")); + dataResult.put("servico_venda", rset.getString("servico_venda")); + dataResult.put("servico_remarcado", rset.getString("servico_remarcado")); + dataResult.put("data_venda", rset.getDate("data_venda")); + dataResult.put("data_remarcacao", rset.getDate("data_remarcacao")); + dataResult.put("agencia_venda", rset.getString("agencia_venda")); + dataResult.put("agencia_remarcado", rset.getString("agencia_remarcado")); + dataResult.put("chbpe_original", rset.getString("chbpe_original")); + dataResult.put("chbpe_remarcado", rset.getString("chbpe_remarcado")); + dataResult.put("num_bpe_original", rset.getString("num_bpe_original")); + dataResult.put("num_bpe_remarcado", rset.getString("num_bpe_remarcado")); + dataResult.put("numserie_original", rset.getString("numserie_original")); + dataResult.put("numserie_remarcado", rset.getString("numserie_remarcado")); + dataResult.put("qrcode_original", rset.getString("qrcode_original")); + dataResult.put("qrcode_remarcado", rset.getString("qrcode_remarcado")); + dataResult.put("valor_total_venda", rset.getBigDecimal("valor_total_venda")); + dataResult.put("valor_total_remarcado", rset.getBigDecimal("valor_total_remarcado")); + + this.dados.add(dataResult); + } + + this.resultSet = rset; + } + }); + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql(Map parametros) { + + StringBuilder sql = new StringBuilder(1400); + + String estados = (String) parametros.get("ESTADOS_ID"); + String empresaId = (String) parametros.get("EMPRESA_ID"); + String puntoVentaId = (String) parametros.get("PUNTOVENTA_ID"); + + sql.append(" SELECT "); + sql.append(" origem.cveparada cod_origem_venda, "); + sql.append(" destino.cveparada cod_destino_venda, "); + sql.append(" origem.descparada desc_origem_venda, "); + sql.append(" destino.descparada desc_destino_venda, "); + sql.append(" po.cveparada cod_origem_remarcado, "); + sql.append(" pd.cveparada cod_destino_remarcado, "); + sql.append(" po.descparada desc_origem_remarcado, "); + sql.append(" pd.descparada desc_destino_remarcado, "); + sql.append(" coalesce(original.importetpp, 0) tpp_venda, "); + sql.append(" coalesce(remarcado.importetpp, 0) tpp_remarcado, "); + sql.append(" remarcado.numfoliosistema bilhete_remarcado, "); + sql.append(" remarcado.fechorviaje data_viagem_remarcado, "); + sql.append(" remarcado.numasiento assento_remarcado, "); + sql.append(" original.numasiento assento_venda, "); + sql.append(" original.numfoliosistema bilhete_venda, "); + sql.append(" original.fechorviaje data_viagem, "); + sql.append(" coalesce(original.preciobase, 0) tarifa_venda, "); + sql.append(" coalesce(original.preciopricing, 0) desconto_venda, "); + sql.append(" coalesce(original.preciopagado, 0) valor_passagem_venda, "); + sql.append(" coalesce(remarcado.preciopagado, 0) valor_passagem_remarcado, "); + sql.append(" coalesce(remarcado.preciobase, 0) tarifa_remarcado, "); + sql.append(" coalesce(original.importetaxaembarque, 0) taxa_embarque_venda, "); + sql.append(" coalesce(remarcado.importetaxaembarque, 0) taxa_embarque_remarcado, "); + sql.append(" coalesce(original.importeseguro, 0) seguro_venda, "); + sql.append(" coalesce(remarcado.importeseguro, 0) seguro_remarcado, "); + sql.append(" coalesce(original.importepedagio, 0) pedagio_venda, "); + sql.append(" coalesce(remarcado.importepedagio, 0) pedagio_remarcado, "); + sql.append(" original.nombpasajero cliente_venda, "); + sql.append(" remarcado.nombpasajero cliente_remarcado, "); + sql.append(" original.desctipodoc tipo_documento_remarcado, "); + sql.append(" remarcado.desctipodoc tipo_documento_venda, "); + sql.append(" remarcado.descnumdoc documento_remarcado, "); + sql.append(" original.descnumdoc documento_venda, "); + sql.append(" original.corrida_id servico_venda, "); + sql.append(" remarcado.corrida_id servico_remarcado, "); + sql.append(" remarcado.fechorventa data_remarcacao, "); + sql.append(" original.fechorventa data_venda, "); + sql.append(" ptv.nombpuntoventa agencia_venda, "); + sql.append(" ptr.nombpuntoventa agencia_remarcado, "); + sql.append(" bpe.chbpe chbpe_original, "); + sql.append(" original.num_bpe num_bpe_original, "); + sql.append(" original.numserie_bpe numserie_original, "); + sql.append(" bpe.qrcode qrcode_original, "); + sql.append(" bper.chbpe chbpe_remarcado, "); + sql.append(" remarcado.num_bpe num_bpe_remarcado, "); + sql.append(" coalesce(remarcado.numserie_bpe, '1') numserie_remarcado, "); + sql.append(" bper.qrcode qrcode_remarcado, "); + sql.append(" ( select "); + sql.append(" coalesce(impingreso, 0) "); + sql.append(" FROM evento_extra "); + sql.append(" WHERE boleto_id = remarcado.boleto_id "); + sql.append(" ) AS multa, "); + sql.append(" ( "); + sql.append(" SELECT "); + sql.append(" SUM(coalesce(bfpv.importe, 0)) "); + sql.append(" FROM "); + sql.append(" boleto_formapago bfpv "); + sql.append(" WHERE "); + sql.append(" bfpv.boleto_id = original.boleto_id "); + sql.append(" AND bfpv.activo = 1 "); + sql.append(" ) AS valor_total_venda, "); + sql.append(" ( "); + sql.append(" SELECT "); + sql.append(" SUM(coalesce(bfpr.importe, 0)) "); + sql.append(" FROM "); + sql.append(" boleto_formapago bfpr "); + sql.append(" WHERE "); + sql.append(" bfpr.boleto_id = remarcado.boleto_id "); + sql.append(" AND bfpr.activo = 1 "); + sql.append(" ) AS valor_total_remarcado "); + sql.append(" FROM "); + sql.append(" bpe bpe "); + sql.append(" INNER JOIN boleto original ON original.boleto_id = bpe.boleto_id AND bpe.activo = 1 "); + sql.append(" INNER JOIN BPE bper on bper.bpesubstituicao_id = bpe.bpe_id and bper.activo = 1 "); + sql.append(" INNER JOIN boleto remarcado ON remarcado.boleto_id = bper.boleto_id "); + sql.append(" INNER JOIN parada origem ON origem.parada_id = original.origen_id "); + sql.append(" INNER JOIN parada destino ON destino.parada_id = original.destino_id "); + sql.append(" INNER JOIN parada po ON po.parada_id = remarcado.origen_id "); + sql.append(" INNER JOIN parada pd ON pd.parada_id = remarcado.destino_id "); + sql.append(" INNER JOIN punto_venta ptv ON ptv.puntoventa_id = original.puntoventa_id "); + sql.append(" INNER JOIN punto_venta ptr ON ptr.puntoventa_id = remarcado.puntoventa_id "); + sql.append(" INNER JOIN empresa e ON remarcado.empresacorrida_id = e.empresa_id "); + sql.append(" INNER JOIN empresa ev ON original.empresacorrida_id = ev.empresa_id "); + sql.append(" INNER JOIN ruta rr ON remarcado.ruta_id = rr.ruta_id "); + sql.append(" INNER JOIN ruta ro ON original.ruta_id = ro.ruta_id "); + sql.append(" "); + sql.append(" WHERE "); + sql.append(" bpe.CODSTAT IN ('100', '102') "); + sql.append(" AND bper.BPE_ID IS NOT NULL "); + + if (empresaId != null) { + sql.append(" AND original.empresacorrida_id = :empresa_id "); + } + + if (puntoVentaId != null) { + sql.append(" AND original.puntoventa_id IN ( " + puntoVentaId + " ) "); + } + + if (estados != null) { + sql.append(" AND bpe.uf IN ( " + estados + " )"); + } + + sql.append(" AND coalesce(original.fechorventa_h, original.fechorventa) >= to_date(:dataInicio, 'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" AND coalesce(original.fechorventa_h, original.fechorventa) <= to_date(:dataFinal, 'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" ORDER BY "); + sql.append(" agencia_remarcado, data_remarcacao "); + + return sql.toString(); + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBpeNumeracaoReuso.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBpeNumeracaoReuso.java new file mode 100644 index 000000000..139a50ff7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBpeNumeracaoReuso.java @@ -0,0 +1,146 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioBpeNumeracaoReusoBean; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioBpeNumeracaoReuso extends Relatorio { + + private List lsDadosRelatorio; + + public RelatorioBpeNumeracaoReuso(Map parametros, Connection conexao) throws Exception { + + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + + String sql = getSql(parametros); + + Date dtInicio = (Date) parametros.get("DATA_INICIO"); + Date dtFim = (Date) parametros.get("DATA_FIM"); + + NamedParameterStatement ps = new NamedParameterStatement(conexao, sql.toString()); + if(dtInicio != null && dtFim != null) { + ps.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00"); + ps.setString("dataFinal", DateUtil.getStringDate(dtFim, "dd/MM/yyyy") + " 23:59:59"); + } + + ResultSet rset = ps.executeQuery(); + lsDadosRelatorio = new ArrayList(); + + while (rset.next()) { + RelatorioBpeNumeracaoReusoBean bean = new RelatorioBpeNumeracaoReusoBean(); + bean.setEstado(rset.getString("estado")); + bean.setSerieBPE(rset.getString("serieBPE")); + bean.setNumeroBPE( rset.getInt("numeroBPE")); + lsDadosRelatorio.add(bean); + } + buscarInicialFinalPorUf(); + setLsDadosRelatorio(lsDadosRelatorio); + this.resultSet = rset; + } + }); + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql(Map parametros) { + + + String estados = (String) parametros.get("ESTADOS_ID"); + String empresaId = (String) parametros.get("EMPRESA_ID"); + Date dtInicio = (Date) parametros.get("DATA_INICIO"); + Date dtFim = (Date) parametros.get("DATA_FIM"); + + String sql = getSql( estados, empresaId, dtInicio, dtFim); + + return sql.toString(); + } + + private String getSql(String estados, String empresaId, Date dtInicio, Date dtFim) { + + StringBuilder sql = new StringBuilder(); + + sql.append("select tabela.estado as estado , tabela.serieBPE as serieBPE, to_number(tabela.numeroBPE) as numeroBPE, estadoId as estadoId from ( select (to_number(bol.num_bpe) + 1) as numeroBPE, BOL.NUMSERIE_BPE as serieBPE, E.NOMBESTADO as estado, e.estado_id as estadoId "); + sql.append(" FROM BOLETO bol "); + sql.append(" LEFT outer JOIN BOLETO r on bol.num_bpe + 1 = r.num_bpe "); + sql.append(" inner join parada origem on origem.parada_id = bol.origen_id "); + sql.append(" inner join ciudad cidade on cidade.ciudad_id = origem.ciudad_id "); + sql.append(" inner join estado e on (e.estado_id = cidade.estado_id) "); + if (empresaId != null) { + sql.append(" AND bol.EMPRESACORRIDA_ID IN( " + empresaId + " ) "); + } + if (estados != null) { + sql.append(" AND e.ESTADO_ID IN ( " + estados + " )"); + } + sql.append(" and bol.fechorventa between to_date(:dataInicio,'dd/MM/yyyy hh24:mi:ss') and to_date(:dataFinal,'dd/MM/yyyy hh24:mi:ss') "); + sql.append(" minus "); + sql.append("select to_number(bol.num_bpe) as numeroBPE , BOL.NUMSERIE_BPE as serieBPE, E.NOMBESTADO as estado, e.estado_id as estadoId "); + sql.append(" FROM BOLETO bol "); + sql.append(" inner join parada origem on origem.parada_id = bol.origen_id "); + sql.append(" inner join ciudad cidade on cidade.ciudad_id = origem.ciudad_id "); + sql.append(" inner join estado e on (e.estado_id = cidade.estado_id) "); + if (empresaId != null) { + sql.append(" AND bol.EMPRESACORRIDA_ID IN( " + empresaId + " ) "); + } + if (estados != null) { + sql.append(" AND e.ESTADO_ID IN ( " + estados + " )"); + } + sql.append(" ) tabela "); + sql.append(" group by tabela.estado, tabela.serieBPE, numeroBPE, estadoId "); + sql.append(" ORDER BY tabela.estado, tabela.serieBPE, tabela.numeroBPE ASC "); + return sql.toString(); + } + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + private void buscarInicialFinalPorUf() { + + String estado = ""; + List bpes = new ArrayList(); + Map estados = converterListaParaMap(lsDadosRelatorio); + + for (Map.Entry entry : estados.entrySet()) { + estado = entry.getValue(); + if(estado != null){ + for (RelatorioBpeNumeracaoReusoBean relatorio2 : lsDadosRelatorio) { + if(estado.equals(relatorio2.getEstado())){ + bpes.add(relatorio2.getNumeroBPE()); + } + } + for (RelatorioBpeNumeracaoReusoBean relatorio2 : lsDadosRelatorio) { + if(estado.equals(relatorio2.getEstado())){ + relatorio2.setFinalAutorizado(bpes.get(bpes.size()-1)); + } + } + } + } + } + + public Map converterListaParaMap(List list) { + Map map = new HashMap(); + for (RelatorioBpeNumeracaoReusoBean relatorio : list) { + map.put(relatorio.getEstado(), relatorio.getEstado()); + } + return map; + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCheckinAberto.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCheckinAberto.java new file mode 100644 index 000000000..840cc3ce5 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCheckinAberto.java @@ -0,0 +1,160 @@ +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.RelatorioCheckinAbertoBean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioCheckinAberto extends Relatorio { + + public static final String DATA_INICIO_SERVICO = "DATA_INICIO_SERVICO"; + public static final String DATA_FIM_SERVICO = "DATA_FIM_SERVICO"; + public static final String DATA_INICIO_ENCERRAMENTO = "DATA_INICIO_ENCERRAMENTO"; + public static final String DATA_FIM_ENCERRAMENTO = "DATA_FIM_ENCERRAMENTO"; + private List lsDadosRelatorio; + + public RelatorioCheckinAberto(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 dataInicioServico = null; + if (parametros.containsKey(DATA_INICIO_SERVICO)) { + dataInicioServico = parametros.get(DATA_INICIO_SERVICO).toString() + " 00:00"; + } + + String dataFimServico = null; + if (parametros.containsKey(DATA_FIM_SERVICO)) { + dataFimServico = parametros.get(DATA_FIM_SERVICO).toString() + " 23:59"; + } + + String dataInicioEncerramento = null; + if (parametros.containsKey(DATA_INICIO_ENCERRAMENTO)) { + dataInicioEncerramento = parametros.get(DATA_INICIO_ENCERRAMENTO).toString() + " 00:00"; + } + + String dataFimEncerramento = null; + if (parametros.containsKey(DATA_FIM_ENCERRAMENTO)) { + dataFimEncerramento = parametros.get(DATA_FIM_ENCERRAMENTO).toString() + " 23:59"; + } + + Integer empresa_id = (Integer) parametros.get("empresa_id"); + Integer localidade_id = (Integer) parametros.get("localidade_id"); + + String sql = getSql(dataInicioServico, dataFimServico, dataInicioEncerramento, dataFimEncerramento, empresa_id, localidade_id); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + + if (dataInicioServico != null && dataFimServico != null) { + stmt.setString("dataInicioServico", dataInicioServico); + stmt.setString("dataFimServico", dataFimServico); + } + + if (dataInicioEncerramento != null && dataFimEncerramento != null) { + stmt.setString("dataInicioEncerramento", dataInicioEncerramento); + stmt.setString("dataFimEncerramento", dataFimEncerramento); + } + + if (empresa_id != null) { + stmt.setInt("empresa_id", empresa_id); + } + + if (localidade_id != null) { + stmt.setInt("localidade_id", localidade_id); + } + + ResultSet rs = stmt.executeQuery(); + + lsDadosRelatorio = new ArrayList(); + + SimpleDateFormat formatadorData = new SimpleDateFormat("dd/MM/yyyy"); + SimpleDateFormat formatadorDataHora = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); + + while (rs.next()) { + RelatorioCheckinAbertoBean bean = new RelatorioCheckinAbertoBean(); + bean.setServico(rs.getInt("servico")); + bean.setDataServico(formatadorData.format(rs.getDate("data_servico"))); + bean.setLocalidade(rs.getString("localidade")); + //bean.setUsuario(rs.getString("usuario")); + + lsDadosRelatorio.add(bean); + } + + if (lsDadosRelatorio.size() > 0) { + setLsDadosRelatorio(lsDadosRelatorio); + } + } + }); + } + + @Override + protected void processaParametros() throws Exception { + if (parametros.containsKey(DATA_INICIO_SERVICO) && parametros.containsKey(DATA_FIM_SERVICO)) { + this.parametros.put("PERIODO_SERVICO", parametros.get(DATA_INICIO_SERVICO) + " à " + parametros.get(DATA_FIM_SERVICO)); + } + + if (parametros.containsKey(DATA_INICIO_ENCERRAMENTO) && parametros.containsKey(DATA_FIM_ENCERRAMENTO)) { + this.parametros.put("PERIODO_ENCERRAMENTO", parametros.get(DATA_INICIO_ENCERRAMENTO) + " à " + parametros.get(DATA_FIM_ENCERRAMENTO)); + } + } + + private void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + private String getSql(String dataInicioServico, String dataFimServico, String dataInicioEncerramento, String dataFimEncerramento, Integer empresa_id, Integer localidade_id) { + StringBuilder sb = new StringBuilder(); + sb.append("select c.corrida_id as servico, "); + sb.append("c.feccorrida as data_servico, "); + sb.append("p.cveparada || ' - ' || p.descparada as localidade, "); + sb.append("cc.fechorcerrado as data_encerramento "); + sb.append("from corrida c "); + sb.append("join parada p on p.parada_id = c.origen_id "); + sb.append("left join checkin_cerrado cc on (c.corrida_id = cc.corrida_id and c.feccorrida=cc.feccorrida ) "); + + + if (empresa_id!=null) { + sb.append("join marca m on m.marca_id = c.marca_id "); + } + + sb.append("where c.activo = 1 "); + + sb.append(" and cc.corrida_id is null "); + + if (dataInicioServico != null && dataFimServico != null) { + sb.append("and c.feccorrida between to_date(:dataInicioServico, 'dd/mm/yyyy hh24:mi') and to_date(:dataFimServico, 'dd/mm/yyyy hh24:mi') "); + } + + if (dataInicioEncerramento != null && dataFimEncerramento != null) { + sb.append("and c.feccorrida between to_date(:dataInicioEncerramento, 'dd/mm/yyyy hh24:mi') and to_date(:dataFimEncerramento, 'dd/mm/yyyy hh24:mi') "); + } + + if (empresa_id != null) { + sb.append("and m.empresa_id = :empresa_id "); + } + + if (localidade_id != null) { + sb.append("and p.parada_id = :localidade_id "); + } + + sb.append("order by 2, 1, 4, 3"); + + return sb.toString(); + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCteos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCteos.java new file mode 100644 index 000000000..a495d0598 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCteos.java @@ -0,0 +1,124 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioCteos extends Relatorio { + + public RelatorioCteos(Map parametros, Connection conexao) throws Exception { + + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + + String sql = getSql(parametros); + + Date dtInicio = (Date) parametros.get("DATA_INICIO"); + Date dtFim = (Date) parametros.get("DATA_FIM"); + + NamedParameterStatement ps = new NamedParameterStatement(conexao, sql.toString()); + if(dtInicio != null && dtFim != null) { + ps.setString("dataInicio", DateUtil.getStringDate(dtInicio, "dd/MM/yyyy") + " 00:00:00"); + ps.setString("dataFinal", DateUtil.getStringDate(dtFim, "dd/MM/yyyy") + " 23:59:59"); + } + + ResultSet rset = ps.executeQuery(); + + while (rset.next()) { + Map dataResult = new HashMap(); + + dataResult.put("empresa_id", rset.getString("empresa_id")); + dataResult.put("nombempresa", rset.getString("nombempresa")); + dataResult.put("dtvenda", rset.getString("dtvenda")); + dataResult.put("num_bpe", rset.getString("num_bpe")); + dataResult.put("origem", rset.getString("origem")); + dataResult.put("destino", rset.getString("destino")); + dataResult.put("uforigem", rset.getString("uforigem")); + dataResult.put("ufdestino", rset.getString("ufdestino")); + dataResult.put("dtviagem", rset.getString("dtviagem")); + dataResult.put("valor", rset.getBigDecimal("valor")); + dataResult.put("chbpe", rset.getString("chbpe")); + dataResult.put("protocolo", rset.getString("protocolo")); + dataResult.put("num_bpe", rset.getString("num_bpe")); + dataResult.put("numserie_bpe", rset.getString("numserie_bpe")); + dataResult.put("evento", rset.getString("evento")); + dataResult.put("qtd", rset.getString("qtd")); + + this.dados.add(dataResult); + } + + this.resultSet = rset; + } + }); + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql(Map parametros) { + + StringBuilder sql = new StringBuilder(1400); + + String estados = (String) parametros.get("ESTADOS_ID"); + String empresaId = (String) parametros.get("EMPRESA_ID"); + + sql.append(" SELECT "); + sql.append(" ep.empresa_id, "); + sql.append(" ep.nombempresa , "); + sql.append(" to_char(coalesce(bpe.dt_venda, bol.fechorventa), 'dd/mm/yyyy') AS dtvenda, "); + sql.append(" bol.num_bpe, "); + sql.append(" coalesce(bol.numserie_bpe, '1') AS numserie_bpe, "); + sql.append(" to_char(bol.fechorviaje, 'dd/mm/yyyy HH24:MI') AS dtviagem, "); + sql.append(" bpe.chbpe, "); + sql.append(" ori.descparada AS origem, "); + sql.append(" e.cveestado AS uforigem, "); + sql.append(" dest.descparada AS destino, "); + sql.append(" desta.cveestado AS ufdestino, "); + sql.append(" 'EXCESSO BAGAGEM' AS evento, "); + sql.append(" 1 AS qtd, "); + sql.append(" coalesce(bpe.valorpago, bol.preciopagado) AS valor, "); + sql.append(" bpe.nprot AS protocolo "); + sql.append(" FROM "); + sql.append(" bpe bpe "); + sql.append(" LEFT JOIN boleto bol ON bol.boleto_id = bpe.boleto_id AND bpe.activo = 1 "); + sql.append(" LEFT JOIN estado e ON e.codibge = bpe.uf "); + sql.append(" LEFT JOIN marca ma ON bol.marca_id = ma.marca_id "); + sql.append(" LEFT JOIN empresa ep ON ma.empresa_id = ep.empresa_id "); + sql.append(" LEFT JOIN parada ori ON bol.origen_id = ori.parada_id "); + sql.append(" LEFT JOIN parada dest ON bol.destino_id = dest.parada_id "); + sql.append(" LEFT JOIN ciudad dcit on dest.ciudad_id = dcit.ciudad_id "); + sql.append(" LEFT JOIN estado desta ON dcit.estado_id = desta.estado_id "); + sql.append(" WHERE "); + sql.append(" e.activo = 1 "); + sql.append(" and bpe.codstat = 135 "); + sql.append(" AND bpe.tipoevento = 110117 "); + + if (empresaId != null) { + sql.append(" AND ep.EMPRESA_ID IN ( " + empresaId + " ) "); + } + + if (estados != null) { + sql.append(" AND e.ESTADO_ID IN ( " + estados + " )"); + } + + sql.append(" AND coalesce(bol.fechorventa_h, bol.fechorventa) >= to_date(:dataInicio, 'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" AND coalesce(bol.fechorventa_h, bol.fechorventa) <= to_date(:dataFinal, 'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" ORDER BY "); + sql.append(" ep.empresa_id,dtvenda, origem "); + + return sql.toString(); + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLogAuditoria.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLogAuditoria.java new file mode 100644 index 000000000..fc194bb10 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioLogAuditoria.java @@ -0,0 +1,44 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import com.rjconsultores.ventaboletos.entidad.LogAuditoria; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.LogAuditoriaBean; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioLogAuditoria extends RelatorioDemandas { + public RelatorioLogAuditoria(Map parametros, Connection conexao, List list) throws Exception { + super(parametros, conexao); + + List listaBean = new ArrayList(); + + for (Object object : list) { + LogAuditoria log = (LogAuditoria)object; + LogAuditoriaBean bean = new LogAuditoriaBean(); + + bean.setIdAuditado(log.getIdAuditado()); + bean.setCampoAlterado(log.getCampoAlterado()); + bean.setEmpresa(log.getEmpresa() != null ? log.getEmpresa().getNombempresa() : ""); + bean.setUsuario(log.getUsuario() != null ? log.getUsuario().getNombusuario() : ""); + bean.setClasseAlterada(log.getClasseAlterada()); + bean.setClassePrincipal(log.getClassePrincipal()); + bean.setTela(log.getTela()); + bean.setDataAlteracao(log.getFecmodif()); + bean.setCampoAlterado(log.getCampoAlterado()); + bean.setValorAtual(log.getValorNovo()); + bean.setValorAnterior(log.getValorAnterior()); + bean.setTipoAlteracao(log.getTipoAlteracao()); + listaBean.add(bean); + } + setCollectionDataSource(new JRBeanCollectionDataSource(listaBean)); + + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasCartoesAlternativo.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasCartoesAlternativo.java new file mode 100644 index 000000000..253a1ccf3 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasCartoesAlternativo.java @@ -0,0 +1,240 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.apache.log4j.Logger; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Estacion; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.Usuario; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioVendasCartoesBean; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioVendasCartoesAlternativo extends Relatorio { + + private static Logger log = Logger.getLogger(RelatorioVendasCartoesAlternativo.class); + + List list = null; + + public RelatorioVendasCartoesAlternativo(Map parametros, Connection conexao, final Boolean buscarPorDataDaVenda) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + + NamedParameterStatement stmt = null; + ResultSet rset = null; + + String dataInicial = parametros.get("DATA_INICIAL").toString() + " 00:00:00"; + String dataFinal = parametros.get("DATA_FINAL").toString() + " 23:59:59"; + Empresa empresa = (Empresa) parametros.get("EMPRESA"); + PuntoVenta puntoVenta = (PuntoVenta) parametros.get("PUNTOVENTA"); + Usuario usuario = (Usuario) parametros.get("USUARIO"); + Estacion estacao = (Estacion) parametros.get("ESTACION"); + String tipoAgencias = (String) parametros.get("TIPOPUNTOVENTA"); + + String sql = getSql(dataInicial, dataFinal, empresa, puntoVenta, tipoAgencias, usuario, estacao, buscarPorDataDaVenda); + + log.info("query=" + sql); + + try { + stmt = new NamedParameterStatement(conexao, sql); + + if (empresa != null) { + stmt.setInt("empresaId", empresa.getEmpresaId()); + } + if (puntoVenta != null) { + stmt.setInt("puntoventaId", puntoVenta.getPuntoventaId()); + } + if (dataInicial != null) { + stmt.setString("dataInicial", dataInicial); + } + if (dataFinal != null) { + stmt.setString("dataFinal", dataFinal); + } + if (estacao != null) { + stmt.setInt("estacionId", estacao.getEstacionId()); + } + if (usuario != null) { + stmt.setInt("usuarioId", usuario.getUsuarioId()); + } + + rset = stmt.executeQuery(); + + list = new ArrayList(); + BigDecimal valorTotal = BigDecimal.ZERO; + while (rset.next()) { + + RelatorioVendasCartoesBean bean = new RelatorioVendasCartoesBean(); + + bean.setDataVenda(rset.getDate("dataVenda")); + bean.setDataOperacao(rset.getString("dataOperacao") != null ? DateUtil.getDateFromString(rset.getString("dataOperacao"), "ddMMyy") : null); + bean.setDescPagamento(rset.getString("descPagamento") != null ? rset.getString("descPagamento") : null); + bean.setValor(rset.getBigDecimal("valor") != null ? rset.getBigDecimal("valor") : null); + bean.setAutorizacao(rset.getString("autorizacao") != null ? rset.getString("autorizacao") : null); + bean.setQtdParcelas(rset.getInt("qtdParcelas")); + + valorTotal = valorTotal.add(bean.getValor() != null ? bean.getValor() : BigDecimal.ZERO); + bean.setValorTotal(valorTotal); + + list.add(bean); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + if (rset != null && !rset.isClosed()) { + rset.close(); + } + if (stmt != null && !stmt.isClosed()) { + stmt.close(); + } + } + } + }); + + this.setCollectionDataSource(new JRBeanCollectionDataSource(list)); + } + + // private RelatorioVendasCartoesBean calcTotalValor(RelatorioVendasCartoesBean bean) { + // BigDecimal valorTotal = bean.getValorTotal().add(bean.getValorTotal()); + // bean.setValorTotal(valorTotal); + // return bean; + // } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql(String dataInicial, String dataFinal, Empresa empresa, PuntoVenta puntoVenta, String tipoAgencias, Usuario usuario, Estacion estacion, Boolean buscarPorDataDaVenda) { + + StringBuilder sb = new StringBuilder(); + + sb.append("SELECT caja.descpago as descPagamento,"); + sb.append(" to_char(caja.dataoperacao, 'ddMMyyyy') as dataOperacao,"); + sb.append(" caja.autorizacao as autorizacao,"); + sb.append(" coalesce(caja.qtdparcelas, 1) as qtdParcelas ,"); + sb.append(" trunc(caja.datavenda) as dataVenda, "); + sb.append(" sum(caja.preco) as valor "); + sb.append("FROM"); + sb.append(" (SELECT fp.descpago AS descpago,"); + sb.append(" ct.fecoperacion AS dataoperacao,"); + sb.append(" ct.numautorizacion AS autorizacao,"); + sb.append(" ct.cantparcelas AS qtdparcelas,"); + sb.append(" c.fechorventa AS datavenda,"); + sb.append(" case when c.motivocancelacion_id is null then cfp.importe else cfp.importe * -1 end AS preco"); + sb.append(" FROM caja c"); + sb.append(" INNER JOIN caja_formapago cfp ON c.caja_id=cfp.caja_id AND cfp.activo = 1 "); + sb.append(" INNER JOIN marca ma on ma.marca_id = c.marca_id "); + sb.append(" INNER JOIN forma_pago fp ON cfp.formapago_id=fp.formapago_id"); + sb.append(" LEFT JOIN caja_det_pago cdp ON (c.caja_id = cdp.caja_id and cdp.cajaformapago_id = cfp.cajaformapago_id)"); + sb.append(" LEFT JOIN caja_tarjeta ct ON (ct.cajadetpago_id = cdp.cajadetpago_id)"); + sb.append(" INNER JOIN punto_venta pt ON (pt.puntoventa_id = c.puntoventa_id) "); + sb.append(" WHERE c.indreimpresion = 0 "); + + if (empresa != null) { + sb.append("and ma.empresa_id = :empresaId "); + } + + if (puntoVenta != null) { + sb.append("AND c.puntoventa_id = :puntoventaId "); + } + + if (estacion != null) { + sb.append("AND c.estacion_id = :estacionId "); + } + + if (usuario != null) { + sb.append(" and c.usuario_id = :usuarioId "); + } + + if (dataInicial != null && buscarPorDataDaVenda) { + sb.append("AND c.fechorventa >= TO_DATE(:dataInicial, 'DD/MM/YYYY HH24:MI:SS') "); + } else if (dataInicial != null && !buscarPorDataDaVenda) { + sb.append("AND c.feccorte >= TO_DATE(:dataInicial, 'DD/MM/YYYY HH24:MI:SS') "); + } + + if (dataFinal != null && buscarPorDataDaVenda) { + sb.append("AND c.fechorventa <= TO_DATE(:dataFinal, 'DD/MM/YYYY HH24:MI:SS') "); + } else if (dataInicial != null && !buscarPorDataDaVenda) { + sb.append("AND c.feccorte <= TO_DATE(:dataFinal, 'DD/MM/YYYY HH24:MI:SS') "); + } + + sb.append(tipoAgencias.equals("-1") || tipoAgencias.equals("TODAS") ? "" : " and pt.tipoptovta_id not in (" + tipoAgencias + ") "); + + sb.append(" AND fp.formapago_id IN(2,3)"); + sb.append(" AND c.activo = 1 "); + + sb.append(" UNION "); + sb.append(" SELECT "); + sb.append(" fp.descpago as descpago, "); + sb.append(" ct.fecoperacion as dataoperacao, "); + sb.append(" ct.numautorizacion as autorizacao, "); + sb.append(" coalesce(ct.cantparcelas, 1) as qtdparcelas, "); + sb.append(" coalesce(c.fechorventa, cd.fechorvta) as datavenda, "); + sb.append(" case when cdp.importe < 0 and fp.formapago_id in (3, 2) then 0 else cdp.importe end as preco "); + sb.append(" FROM caja_diversos cd "); + sb.append(" JOIN caja_diversos_pago cdp on cdp.cajadiversos_id = cd.cajadiversos_id "); + sb.append(" INNER JOIN forma_pago fp on fp.formapago_id = cdp.formapago_id "); + sb.append(" INNER JOIN evento_extra ee on ee.eventoextra_id = cd.eventoextra_id "); + sb.append(" LEFT JOIN boleto c on c.boleto_id = ee.boleto_id "); + sb.append(" LEFT JOIN caja_tarjeta ct on ( cdp.cajatarjeta_id = ct.cajatarjeta_id) "); + sb.append(" WHERE cd.activo = 1 "); + sb.append(" AND (ee.boleto_id is null or ee.boleto_id = c.boleto_id) "); + sb.append(" AND fp.formapago_id in (3, 2) "); + + if (empresa != null) { + sb.append("and ee.empresa_id = :empresaId "); + } + + if (puntoVenta != null) { + sb.append("AND cd.puntoventa_id = :puntoventaId "); + } + + if (estacion != null) { + sb.append("AND cd.estacion_id = :estacionId "); + } + + if (usuario != null) { + sb.append(" AND cd.usuario_id = :usuarioId "); + } + + if (dataInicial != null && buscarPorDataDaVenda) { + sb.append(" AND cd.fechorvta >= TO_DATE(:dataInicial, 'DD/MM/YYYY HH24:MI:SS') "); + } else if (dataInicial != null && !buscarPorDataDaVenda) { + sb.append(" AND cd.feccorte >= TO_DATE(:dataInicial, 'DD/MM/YYYY HH24:MI:SS') "); + } + + if (dataFinal != null && buscarPorDataDaVenda) { + sb.append(" AND cd.fechorvta <= TO_DATE(:dataFinal, 'DD/MM/YYYY HH24:MI:SS') "); + } else if (dataInicial != null && !buscarPorDataDaVenda) { + sb.append(" AND cd.feccorte <= TO_DATE(:dataFinal, 'DD/MM/YYYY HH24:MI:SS') "); + } + + sb.append(tipoAgencias.equals("-1") || tipoAgencias.equals("TODAS") ? "" : " and pt.tipoptovta_id not in (" + tipoAgencias + ") "); + sb.append(" ) caja "); + + sb.append("GROUP BY caja.descpago,"); + sb.append(" to_char(caja.dataoperacao, 'ddMMyyyy'),"); + sb.append(" caja.autorizacao,"); + sb.append(" caja.qtdparcelas,"); + sb.append(" trunc(caja.datavenda) "); + sb.append("ORDER BY caja.descpago, trunc(caja.datavenda), caja.autorizacao"); + + return sb.toString(); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBPeSubstituido_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBPeSubstituido_es.properties new file mode 100644 index 000000000..45918e811 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBPeSubstituido_es.properties @@ -0,0 +1,56 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório BPe Substituído +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +cabecalho.puntoventa=Agência +label.nomeVendaAgencia=Agência Atendimento +label.nomeAgenciaEmissao=Agência Emissão +label.documento=Doc. +label.dataRemarcacao=Data Rem. +label.dataVenda=Data Venda +label.dataServico=Data Serv. +label.origem= Origem +label.destino=Destino +label.codOrigem= Cod.O +label.codDestino=Cod.D +label.formaPagamento=Forma Pag. +label.servico=Servi. +label.poltrona= Poltrona +label.dataInicial=Data Inicial: +label.dataFinal=Data Final: +label.empresa=Empresa: +label.agencia=Agência: +label.situacao=Situacao +label.bilhete=Bilhete +label.bilheteiro=Bilheteiro +label.valorDiferenca=Diferenca +label.valorMulta=Multa +label.tarifa=Tarifa +label.tarifaVenda=Tarifa Venda +label.seguro=Seguro +label.pedagio=Pedagio +label.taxaEmbarque=Taxa Emb. +label.cliente=Cliente +label.bilheteOriginal=Bilhete Original +label.bilheteRemarcado=Bilhete Remarcado +label.linha=Linha +label.horaServico=Horário +label.chave=CH.BPe +label.numBpe=Nº BPe +label.tipoDocumento=Tp.Doc +label.tipoVenda=Tp.Venda +label.tipoPassagem=Tp.Pass +label.percentualDesconto=Perc.Desc +label.valorTotal=Vlr.Tot.Cob +label.valorPassagem=Vlr.Passagem +label.tpp=TPP +label.siglaTipoPassagem=Sig.Tp.Pas \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBPeSubstituido_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBPeSubstituido_pt_BR.properties new file mode 100644 index 000000000..58e7049ad --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBPeSubstituido_pt_BR.properties @@ -0,0 +1,55 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório BPe Substituído +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +cabecalho.puntoventa=Agência +label.nomeVendaAgencia=Agência Atendimento +label.nomeAgenciaEmissao=Agência Emissão +label.documento=Doc. +label.dataRemarcacao=Data Rem. +label.dataVenda=Data Venda +label.dataServico=Data Serv. +label.origem= Origem +label.destino=Destino +label.codOrigem= Cod.O +label.codDestino=Cod.D +label.formaPagamento=Forma Pag. +label.servico=Servi. +label.poltrona= Poltrona +label.dataInicial=Data Inicial: +label.dataFinal=Data Final: +label.empresa=Empresa: +label.agencia=Agência: +label.situacao=Situacao +label.bilhete=Bilhete +label.valorDiferenca=Diferenca +label.valorMulta=Multa +label.tarifa=Tarifa +label.tarifaVenda=Tarifa Venda +label.seguro=Seguro +label.pedagio=Pedagio +label.taxaEmbarque=Taxa Emb. +label.cliente=Cliente +label.bilheteOriginal=Bilhete Original +label.bilheteRemarcado=Bilhete Remarcado +label.linha=Linha +label.horaServico=Horário +label.chave=CH.BPe +label.numBpe=Nº BPe +label.tipoDocumento=Tp.Doc +label.tipoVenda=Tp.Venda +label.tipoPassagem=Tp.Pass +label.percentualDesconto=Perc.Desc +label.valorTotal=Vlr.Tot.Cob +label.valorPassagem=Vlr.Passagem +label.tpp=TPP +label.siglaTipoPassagem=Sig.Tp.Pas \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBpeNumeracaoReuso_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBpeNumeracaoReuso_es.properties new file mode 100644 index 000000000..8a6d36489 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBpeNumeracaoReuso_es.properties @@ -0,0 +1,32 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: + +label.dataVenda=Data Venda +label.horaVenda=Hora Venda +label.origem=Origem +label.destino=Destino +label.dataViagem=Data Viagem +label.valorBPe=Valor +label.origemPV= Loc. Venda +label.valortarifa=Tarifa +label.valortaxa=Taxa +label.valorpedagio=Pedágio +label.valorseguro=Seguro +label.valoroutros=Outros +label.chaveAcesso=Chave Acesso +label.protocolo=Protocolo +label.numBPe=Núm. BPe +label.serie=Série +label.status=Status +label.obs=Observação +header.filtro.total=Total Geral: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBpeNumeracaoReuso_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBpeNumeracaoReuso_pt_BR.properties new file mode 100644 index 000000000..63b5c15c9 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBpeNumeracaoReuso_pt_BR.properties @@ -0,0 +1,32 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +header.filtro.total=Total Geral: + +label.dataVenda=Data Venda +label.horaVenda=Hora Venda +label.origem=Origem +label.destino=Destino +label.dataViagem=Data Viagem +label.valorBPe=Valor +label.origemPV= Loc. Venda +label.valortarifa=Tarifa +label.valortaxa=Taxa +label.valorpedagio=Pedágio +label.valorseguro=Seguro +label.valoroutros=Outros +label.chaveAcesso=Chave Acesso +label.protocolo=Protocolo +label.numBPe=Núm. BPe +label.serie=Série +label.status=Status +label.obs=Observação \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCheckinAberto_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCheckinAberto_es.properties new file mode 100644 index 000000000..458ad2c1f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCheckinAberto_es.properties @@ -0,0 +1,18 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à + +#Labels header +header.data.hora=Data/Hora\: +header.pagina=Página\: +header.periodo.servico=Período Serviço\: +header.periodo.encerramento=Período Encerramento\: +header.empresa=Empresa\: + +#Labels detail +detail.servico=Serviço +detail.data.servico=Data Serviço +detail.localidade=Localidade +detail.data.encerramento=Data Encerramento +detail.usuario.operacao=Usuário da Operação +detail.imei=Dispositivo \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCheckinAberto_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCheckinAberto_pt_BR.properties new file mode 100644 index 000000000..37934eabb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCheckinAberto_pt_BR.properties @@ -0,0 +1,18 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à + +#Labels header +header.data.hora=Data/Hora\: +header.pagina=Página\: +header.periodo.servico=Período Serviço\: +header.periodo.encerramento=Período Encerramento\: +header.empresa=Empresa\: + +#Labels detail +detail.servico=Serviço +detail.data.servico=Data Serviço +detail.localidade=Origem do Serviço +detail.data.encerramento=Data Encerramento +detail.usuario.operacao=Usuário da Operação +detail.imei=Dispositivo \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCteos_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCteos_es.properties new file mode 100644 index 000000000..6e31d16d5 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCteos_es.properties @@ -0,0 +1,27 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +header.filtro.total=Total Geral: + +label.dataVenda=Data Bpe +label.origem=Origem +label.destino=Destino +label.dataViagem=Data Viagem +label.valorBPe=Valor +label.chaveAcesso=Chave Acesso +label.protocolo=Protocolo +label.numBPe=Núm. BPe +label.serie=Série +label.empresaId=Cod. Empresa +label.nomeEmpresa=Empresa +label.evento=Evento +label.qtd=Qtd. \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCteos_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCteos_pt_BR.properties new file mode 100644 index 000000000..8cde6371d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCteos_pt_BR.properties @@ -0,0 +1,28 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +header.filtro.total=Total Geral: + +label.dataVenda=Data Bpe +label.origem=Origem +label.destino=Destino +label.dataViagem=Data Viagem +label.valorBPe=Valor +label.chaveAcesso=Chave Acesso +label.protocolo=Protocolo +label.numBPe=Núm. BPe +label.serie=Série +label.empresaId=Cod. Empre. +label.nomeEmpresa=Empresa +label.evento=Evento +label.qtd=Qtd. +label.serie=Série \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLogAuditoria_es_MX.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLogAuditoria_es_MX.properties new file mode 100644 index 000000000..d0e8c3ee9 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLogAuditoria_es_MX.properties @@ -0,0 +1,19 @@ +TITULO = Relatório Log de Auditoria +PERIODO = PERÍODO +header.data.hora=Data/Hora\: +cabecalho.impressorPor=Impresso por + +DATA_ALTERACAO = DATA ATLERAÇÃO +ID_AUDITADO = ID AUDITADO +EMPRESA = EMPRESA +USUARIO = USUARIO +TIPO_ALTERACAO = TIPO ALTERAÇÃO +TELA = TELA +CAMPO_ALTERADO = CAMPO ALTERADO +VALOR_ATUAL = VALOR ATUAL +VALOR_ANTERIOR = VALOR ANTERIOR +CLASSE_ALTERADA = CLASSE ALTERADA +CLASSE_PRINCIPAL = CLASSE PRINCIPAL + + +msg.noData=Não foi possivel obter dados com os parâmetros informados. \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLogAuditoria_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLogAuditoria_pt_BR.properties new file mode 100644 index 000000000..d0e8c3ee9 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioLogAuditoria_pt_BR.properties @@ -0,0 +1,19 @@ +TITULO = Relatório Log de Auditoria +PERIODO = PERÍODO +header.data.hora=Data/Hora\: +cabecalho.impressorPor=Impresso por + +DATA_ALTERACAO = DATA ATLERAÇÃO +ID_AUDITADO = ID AUDITADO +EMPRESA = EMPRESA +USUARIO = USUARIO +TIPO_ALTERACAO = TIPO ALTERAÇÃO +TELA = TELA +CAMPO_ALTERADO = CAMPO ALTERADO +VALOR_ATUAL = VALOR ATUAL +VALOR_ANTERIOR = VALOR ANTERIOR +CLASSE_ALTERADA = CLASSE ALTERADA +CLASSE_PRINCIPAL = CLASSE PRINCIPAL + + +msg.noData=Não foi possivel obter dados com os parâmetros informados. \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasCartoesAlternativo_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasCartoesAlternativo_es.properties new file mode 100644 index 000000000..ed7325185 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasCartoesAlternativo_es.properties @@ -0,0 +1,35 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à + +#Labels header +header.titulo.relatorio=Relatório Vendas de Cartões +header.periodo=Per\u00EDodo\: +header.data.hora=Data/Hora\: +header.pagina=P\u00E1gina\: +header.filtro=Filtro\: +header.filtro.servico=Servi\u00E7o\: +header.filtro.empresa=Empresa: +header.filtro.agencia=Agência: +header.filtro.estacao=Estação: +header.filtro.bilheteiro=Bilheteiro: +header.filtro.grupo=Grupo de Linhas\: + +#Labels detail + +detail.dataOperacao=Data Operação +detail.dataVenda=Data Venda +detail.autorizacao=Autorização +detail.qtdParcelas=Quantidade Parcelas +detail.valorTotal=Valor Total +detail.valor=Valor R$ + +#Group + +group.total=Total Geral: +sub.total=Sub Total: +total.debito=Total Débito: +total.credito=Total Crédito: +linhas=Linhas + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasCartoesAlternativo_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasCartoesAlternativo_pt_BR.properties new file mode 100644 index 000000000..ed7325185 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasCartoesAlternativo_pt_BR.properties @@ -0,0 +1,35 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. +msg.a=à + +#Labels header +header.titulo.relatorio=Relatório Vendas de Cartões +header.periodo=Per\u00EDodo\: +header.data.hora=Data/Hora\: +header.pagina=P\u00E1gina\: +header.filtro=Filtro\: +header.filtro.servico=Servi\u00E7o\: +header.filtro.empresa=Empresa: +header.filtro.agencia=Agência: +header.filtro.estacao=Estação: +header.filtro.bilheteiro=Bilheteiro: +header.filtro.grupo=Grupo de Linhas\: + +#Labels detail + +detail.dataOperacao=Data Operação +detail.dataVenda=Data Venda +detail.autorizacao=Autorização +detail.qtdParcelas=Quantidade Parcelas +detail.valorTotal=Valor Total +detail.valor=Valor R$ + +#Group + +group.total=Total Geral: +sub.total=Sub Total: +total.debito=Total Débito: +total.credito=Total Crédito: +linhas=Linhas + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jasper new file mode 100644 index 0000000000000000000000000000000000000000..f972cbfc61f41cb36e7b61694c5c992d81dd159d GIT binary patch literal 71805 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jrxml new file mode 100644 index 000000000..8828d552b --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jrxml @@ -0,0 +1,781 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="93"> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="49ab1647-150e-479d-a1d6-1911439f9372" mode="Transparent" x="107" y="82" width="54" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.dataRemarcacao}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="36adfbd2-baef-4050-b4dd-b2c17cec1f8f" mode="Transparent" x="248" y="82" width="107" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.origem}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="dabaae73-0430-44ac-b5ca-07bb8943d1e1" mode="Transparent" x="379" y="82" width="107" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.destino}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="7105fabd-e019-4de6-bb8b-6ac0d194c121" mode="Transparent" x="0" y="82" width="107" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.agencia}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="24600b7b-f380-4bd5-8d27-9c7e29cb9a59" mode="Transparent" x="486" y="82" width="28" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.poltrona}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="16f23967-8aa7-4eeb-8138-3587989cc6cd" mode="Transparent" x="514" y="82" width="33" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.bilhete}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="e17fff3d-04bd-4ce0-86a6-81785d6045ed" mode="Transparent" x="1086" y="82" width="33" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.tarifa}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="70a4673b-db31-4291-be71-17255ce1c03f" mode="Transparent" x="1119" y="82" width="38" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.seguro}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="6495c82f-0698-4a95-ac7a-3c6838c5269c" mode="Transparent" x="1157" y="82" width="31" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.pedagio}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="8d9bd3b8-178e-4e33-a047-35fc979993f7" mode="Transparent" x="161" y="82" width="63" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.dataServico}]]></textFieldExpression> + </textField> + <staticText> + <reportElement uuid="d7f6fbb0-f726-4dca-8903-4f19fc26462e" mode="Opaque" x="0" y="67" width="1242" height="15" backcolor="#33CC00"/> + <textElement textAlignment="Center"> + <font size="8" isBold="true"/> + </textElement> + <text><![CDATA[Bilhete Remarcado]]></text> + </staticText> + <staticText> + <reportElement uuid="03422950-8ba2-4ba7-8f65-447c3458253e" mode="Opaque" x="1242" y="67" width="1209" height="15" backcolor="#FFFF00"/> + <textElement textAlignment="Center"> + <font size="8" isBold="true"/> + </textElement> + <text><![CDATA[Bilhete Original]]></text> + </staticText> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="236d0e6f-34ca-45f4-a6a4-adf15b284342" mode="Transparent" x="547" y="82" width="28" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.numBpe}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="06be7125-9ea5-4635-a8ad-24e1a3945351" mode="Transparent" x="771" y="82" width="171" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.cliente}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="b0058a06-fa48-44f8-b740-1b9559ddc266" mode="Transparent" x="942" y="82" width="33" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.tipoDocumento}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="93f28873-6879-483a-89ac-45deb0248a4f" mode="Transparent" x="975" y="82" width="45" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.documento}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="7eb33017-a1c9-490e-bf3e-247f53d1a553" mode="Transparent" x="575" y="82" width="196" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.chave}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="6264791d-5f03-4d0f-8440-63e81e60fde3" mode="Transparent" x="1020" y="82" width="31" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.valorPassagem}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="451020ec-55a8-449a-a276-3405eb82cc50" mode="Transparent" x="1051" y="82" width="35" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.valorTotal}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="e5b4dab9-d599-4174-96d6-b1484925b103" mode="Transparent" x="1188" y="82" width="21" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.tpp}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="bb591b6f-5e16-4dbe-942f-11b4bfc0864b" mode="Transparent" x="1209" y="82" width="33" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.valorMulta}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="8471eaf2-18d7-44c4-9825-950f797e4c54" mode="Transparent" x="224" y="82" width="24" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.codOrigem}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="c841ad4a-de72-4bd2-9171-15ef10523696" mode="Transparent" x="355" y="82" width="24" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.codDestino}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="d9f2f9b3-255b-4e61-8ced-75a973ce41d0" mode="Transparent" x="0" y="0" width="2158" height="46" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Center" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="16" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$P{nome_relatorio}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="dc20d664-f848-4aae-bc5c-3424007aaed3" x="2158" y="0" width="211" height="15"/> + <textElement textAlignment="Right"> + <font size="9" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.dataHora}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="4b441767-c36f-4834-9377-5d99b4a1cc9c" mode="Transparent" x="2158" y="15" width="267" height="16" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.pagina}+" "+$V{PAGE_NUMBER}+" "+$R{cabecalho.de}]]></textFieldExpression> + </textField> + <textField pattern="dd/MM/yyyy HH:mm" isBlankWhenNull="false"> + <reportElement uuid="52bfc867-bd17-427f-93fd-2f454dfaebba" mode="Transparent" x="2371" y="0" width="80" height="15" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> + </textField> + <textField evaluationTime="Report" pattern="" isBlankWhenNull="false"> + <reportElement uuid="162d6c25-279f-4642-b541-2d46b24382d9" mode="Transparent" x="2425" y="15" width="26" height="16" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression> + </textField> + <textField isStretchWithOverflow="true"> + <reportElement uuid="00f6b2c3-d2d1-4a8d-bde4-b83b029ab508" x="0" y="46" width="2451" height="21"/> + <box leftPadding="2"> + <topPen lineWidth="0.75"/> + <bottomPen lineWidth="0.75"/> + </box> + <textElement verticalAlignment="Middle"> + <font size="12" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$P{FILTROS}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="1607d941-f50d-4023-a70d-7c34b3969260" stretchType="RelativeToBandHeight" mode="Transparent" x="2158" y="31" width="293" height="15" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.impressorPor}+" "+$P{usuario_nome}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="543ab691-bfc2-4de1-84ed-5110c0154332" mode="Transparent" x="2399" y="82" width="31" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.pedagio}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="a0f4dfbc-b79c-47f6-a3c1-1011d1f30970" mode="Transparent" x="1756" y="82" width="33" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.bilhete}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="5e2918f3-1195-4044-9ecd-20eb2e500bc4" mode="Transparent" x="2262" y="82" width="31" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.valorPassagem}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="98855d07-a57a-4fde-b42c-1fa516de7d43" mode="Transparent" x="2328" y="82" width="33" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.tarifa}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="014faa80-f886-4629-9fbc-f1de7942259e" mode="Transparent" x="1817" y="82" width="196" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.chave}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="e8c02a9e-1919-49f4-b3a9-1e7a8b425afc" mode="Transparent" x="2013" y="82" width="171" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.cliente}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="fc93fe5b-3b99-4a6e-b7e3-af2190acd700" mode="Transparent" x="1728" y="82" width="28" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.poltrona}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="ae2a0538-0666-49ec-b2a5-a460fde316b7" mode="Transparent" x="1621" y="82" width="107" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.destino}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="7d8318f7-2d57-48ce-9b29-9eb5e2b6c184" mode="Transparent" x="1466" y="82" width="24" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.codOrigem}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="a8e97f17-f1a9-4b5b-a78c-699e39bbad54" mode="Transparent" x="2293" y="82" width="35" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.valorTotal}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="3a1326ee-27a1-46ea-b0ec-7076da1f746c" mode="Transparent" x="1349" y="82" width="54" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.dataRemarcacao}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="0df0e1eb-7899-4a89-b1ab-bd96b0bf458b" mode="Transparent" x="2430" y="82" width="21" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.tpp}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="80a01629-4b9e-4e3d-b94e-c8eebda58465" mode="Transparent" x="2184" y="82" width="33" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.tipoDocumento}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="b623608f-cdaa-4672-ae99-3cf70628d61a" mode="Transparent" x="1490" y="82" width="107" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.origem}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="4d24353a-42f9-41e4-a5b1-3597c45a5c93" mode="Transparent" x="2217" y="82" width="45" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.documento}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="0dd69179-4670-460c-b474-50f068a207fa" mode="Transparent" x="2361" y="82" width="38" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.seguro}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="a115ad10-6cc8-4f5e-bef2-7577c9cf1038" mode="Transparent" x="1403" y="82" width="63" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.dataServico}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="1e7cbf6c-3ecd-40b3-a0a4-f8649e36d353" mode="Transparent" x="1597" y="82" width="24" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.codDestino}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="dc8189f7-334c-46e1-911a-7960ab828d75" mode="Transparent" x="1242" y="82" width="107" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.agencia}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="true"> + <reportElement uuid="277aa553-fd1c-45e1-a306-f992d10741d4" mode="Transparent" x="1789" y="82" width="28" height="11" isRemoveLineWhenBlank="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="7" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.numBpe}]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBpeNumeracaoReuso.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBpeNumeracaoReuso.jasper new file mode 100644 index 0000000000000000000000000000000000000000..9abdc94e4ed13b2b5657e4a1842f6212fdd2fcb0 GIT binary patch literal 34137 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBpeNumeracaoReuso.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBpeNumeracaoReuso.jrxml new file mode 100644 index 000000000..b4756b5aa --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBpeNumeracaoReuso.jrxml @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCheckinAberto.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCheckinAberto.jasper new file mode 100644 index 0000000000000000000000000000000000000000..a64c25ecd27ad6be7ced2eff2a4ef06900e8d7ec GIT binary patch literal 28313 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 W#AhIbUKg>?Y&T#VxKE#~=Knu{WBok< literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCheckinAberto.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCheckinAberto.jrxml new file mode 100644 index 000000000..72802b783 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCheckinAberto.jrxml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCteos.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCteos.jasper new file mode 100644 index 0000000000000000000000000000000000000000..c86195b41b9220b610b1ef3b861bfe8d6b3f57a6 GIT binary patch literal 40873 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="93" splitType="Stretch"> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="da52f710-3882-4beb-ba6f-870e03f6800d" mode="Transparent" x="0" y="0" width="798" height="57" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="16" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$P{NOME_RELATORIO}]]></textFieldExpression> + </textField> + <textField evaluationTime="Report" pattern="" isBlankWhenNull="false"> + <reportElement uuid="2f4f1314-9363-4e6d-822f-c85c1890998b" mode="Transparent" x="1065" y="25" width="25" height="16" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="c8a70b8d-369e-48ae-a911-a5d9692316f7" stretchType="RelativeToBandHeight" mode="Transparent" x="798" y="42" width="292" height="15" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.impressorPor}+" "+$P{USUARIO}]]></textFieldExpression> + </textField> + <textField pattern="dd/MM/yyyy HH:mm" isBlankWhenNull="false"> + <reportElement uuid="ad4bbfb8-582d-4aa2-904d-8dfe60e54442" mode="Transparent" x="1009" y="0" width="80" height="25" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="8601bf20-f5f8-4fed-9445-7adfe580d236" mode="Transparent" x="798" y="25" width="267" height="16" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.pagina}+" "+$V{PAGE_NUMBER}+" "+$R{cabecalho.de}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="b48a0903-0b2a-4ae5-ae04-811d097a9f91" x="798" y="0" width="211" height="25"/> + <textElement textAlignment="Right"> + <font size="9" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.dataHora}]]></textFieldExpression> + </textField> + <textField isStretchWithOverflow="true"> + <reportElement uuid="aff6535e-c25b-4f31-ad3a-baacc52e4974" x="-1" y="57" width="1091" height="21"/> + <box> + <topPen lineWidth="0.75"/> + <bottomPen lineWidth="0.75"/> + </box> + <textElement verticalAlignment="Middle"> + <font size="12" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$P{FILTROS}]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLogAuditoria.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioLogAuditoria.jasper new file mode 100644 index 0000000000000000000000000000000000000000..d7885364cec58368881b4e92386a9e721d494c28 GIT binary patch literal 34830 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 eE$q@7=eRoqzwG9AY{%NaQimm~4z + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasCartoesAlternativo.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasCartoesAlternativo.jasper new file mode 100644 index 0000000000000000000000000000000000000000..872ca2d46fedc8e23f6d9ad0ad9b9a702919f837 GIT binary patch literal 38071 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band splitType="Stretch"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/LogAuditoriaBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/LogAuditoriaBean.java new file mode 100644 index 000000000..a46bcb977 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/LogAuditoriaBean.java @@ -0,0 +1,107 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.util.Date; + +public class LogAuditoriaBean { + + private String idAuditado; + private String empresa; + private String valorAnterior; + private String valorAtual; + private String campoAlterado; + private String classeAlterada; + private String classePrincipal; + private String tela; + private String tipoAlteracao; + private Date dataAlteracao; + private String usuario; + + public String getIdAuditado() { + return idAuditado; + } + + public void setIdAuditado(String idAuditado) { + this.idAuditado = idAuditado; + } + + public String getEmpresa() { + return empresa; + } + + public void setEmpresa(String empresa) { + this.empresa = empresa; + } + + public String getValorAnterior() { + return valorAnterior; + } + + public void setValorAnterior(String valorAnterior) { + this.valorAnterior = valorAnterior; + } + + public String getValorAtual() { + return valorAtual; + } + + public void setValorAtual(String valorAtual) { + this.valorAtual = valorAtual; + } + + public String getCampoAlterado() { + return campoAlterado; + } + + public void setCampoAlterado(String campoAlterado) { + this.campoAlterado = campoAlterado; + } + + public String getClasseAlterada() { + return classeAlterada; + } + + public void setClasseAlterada(String classeAlterada) { + this.classeAlterada = classeAlterada; + } + + public String getClassePrincipal() { + return classePrincipal; + } + + public void setClassePrincipal(String classePrincipal) { + this.classePrincipal = classePrincipal; + } + + public String getTela() { + return tela; + } + + public void setTela(String tela) { + this.tela = tela; + } + + public String getTipoAlteracao() { + return tipoAlteracao; + } + + public void setTipoAlteracao(String tipoAlteracao) { + this.tipoAlteracao = tipoAlteracao; + } + + public Date getDataAlteracao() { + return dataAlteracao; + } + + public void setDataAlteracao(Date dataAlteracao) { + this.dataAlteracao = dataAlteracao; + } + + public String getUsuario() { + return usuario; + } + + public void setUsuario(String usuario) { + this.usuario = usuario; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBpeNumeracaoReusoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBpeNumeracaoReusoBean.java new file mode 100644 index 000000000..320b684a0 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBpeNumeracaoReusoBean.java @@ -0,0 +1,67 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +public class RelatorioBpeNumeracaoReusoBean { + + private Integer numeroBPE; + private Integer finalAutorizado; + private String estado; + private String serieBPE; + + public Integer getFinalAutorizado() { + return finalAutorizado; + } + + public void setFinalAutorizado(Integer finalAutorizado) { + this.finalAutorizado = finalAutorizado; + } + + public String getEstado() { + return estado; + } + + public void setEstado(String estado) { + this.estado = estado; + } + + public Integer getNumeroBPE() { + return numeroBPE; + } + + public void setNumeroBPE(Integer numeroBPE) { + this.numeroBPE = numeroBPE; + } + + public String getSerieBPE() { + return serieBPE; + } + + public void setSerieBPE(String serieBPE) { + this.serieBPE = serieBPE; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((estado == null) ? 0 : estado.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + RelatorioBpeNumeracaoReusoBean other = (RelatorioBpeNumeracaoReusoBean) obj; + if (estado == null) { + if (other.estado != null) + return false; + } else if (!estado.equals(other.estado)) + return false; + return true; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioCheckinAbertoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioCheckinAbertoBean.java new file mode 100644 index 000000000..4e8fa9d76 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioCheckinAbertoBean.java @@ -0,0 +1,59 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +public class RelatorioCheckinAbertoBean { + + private Integer servico; + private String dataServico; + private String localidade; + private String dataEncerramento; + private String usuario; + private String imei; + + public Integer getServico() { + return servico; + } + + public void setServico(Integer servico) { + this.servico = servico; + } + + public String getDataServico() { + return dataServico; + } + + public void setDataServico(String dataServico) { + this.dataServico = dataServico; + } + + public String getLocalidade() { + return localidade; + } + + public void setLocalidade(String localidade) { + this.localidade = localidade; + } + + public String getDataEncerramento() { + return dataEncerramento; + } + + public void setDataEncerramento(String dataEncerramento) { + this.dataEncerramento = dataEncerramento; + } + + public String getUsuario() { + return usuario; + } + + public void setUsuario(String usuario) { + this.usuario = usuario; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBPeSubstituidoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBPeSubstituidoController.java new file mode 100644 index 000000000..d1a7c9beb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioBPeSubstituidoController.java @@ -0,0 +1,319 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Bandbox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Estado; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioBPeSubstituido; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.EstadoService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +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.RenderEstadoSimple; +import com.trg.search.Filter; + +@Controller("relatorioBPeSubstituidoController") +@Scope("prototype") +public class RelatorioBPeSubstituidoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + private Datebox dtInicio; + private Datebox dtFim; + private MyComboboxEstandar cmbEmpresa; + private MyListbox estadoList; + + private List lsEmpresa; + private List lsEstado; + + @Autowired + private DataSource dataSourceRead; + @Autowired + private EmpresaService empresaService; + @Autowired + private EstadoService estadoService; + + @Autowired + private transient PagedListWrapper plwPuntoVenta; + private ArrayList lsNumPuntoVenta = new ArrayList(); + private MyListbox puntoVentaList; + private Paging pagingPuntoVenta; + private Bandbox bbPesquisaPuntoVenta; + private Textbox txtPalavraPesquisa; + private MyListbox puntoVentaSelList; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + lsEstado = estadoService.obtenerTodos(); + super.doAfterCompose(comp); + + estadoList.setItemRenderer(new RenderEstadoSimple()); + estadoList.setData(lsEstado); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + Map parametros = new HashMap(); + StringBuilder filtro = new StringBuilder(); + + if (!validar()) { + return; + } + + if (dtInicio.getValue() != null && dtFim.getValue() != null) { + filtro.append("Data: ") + .append(DateUtil.getStringDate(dtInicio.getValue(), "dd/MM/yyyy")) + .append(" - ") + .append(DateUtil.getStringDate(dtFim.getValue(), "dd/MM/yyyy")) + .append(";"); + parametros.put("DATA_INICIO", (java.util.Date) dtInicio.getValue()); + parametros.put("DATA_FIM", (java.util.Date) dtFim.getValue()); + } + + parametros.put("nome_relatorio", Labels.getLabel("relatorioBPeSubstituidoController.window.title")); + parametros.put("usuario", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("usuario_nome", UsuarioLogado.getUsuarioLogado().getNombusuario()); + + filtro.append("UF: "); + String estadosIds = ""; + String UFs = ""; + List lsEstadosSelecionados = estadoList.getItensSelecionados(); + + if (!lsEstadosSelecionados.isEmpty()) { + for (int i = 0; i < lsEstadosSelecionados.size(); i++) { + Estado estado = (Estado) lsEstadosSelecionados.get(i); + UFs = UFs + estado.getCveestado() + ","; + estadosIds = estadosIds + estado.getCodibge() + ","; + } + + estadosIds = estadosIds.substring(0, estadosIds.length() - 1); + UFs = UFs.substring(0, UFs.length() - 1); + parametros.put("ESTADOS_ID", estadosIds); + filtro.append(UFs).append(";"); + } else { + filtro.append("Todos; "); + } + + filtro.append("Agência: "); + String pvIds = ""; + String PVs = ""; + lsNumPuntoVenta = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); + + if (lsNumPuntoVenta.size() > 0) { + for (PuntoVenta p : lsNumPuntoVenta) { + PVs = PVs + p.getNombpuntoventa() + ","; + pvIds = pvIds + p.getPuntoventaId() + ","; + } + + pvIds = pvIds.substring(0, pvIds.length() - 1); + PVs = PVs.substring(0, PVs.length() - 1); + parametros.put("PUNTOVENTA_ID", pvIds); + filtro.append(PVs).append(";"); + } else { + filtro.append("Todas; "); + } + + + filtro.append("Empresa: "); + if (cmbEmpresa.getSelectedItem() == null ) { + filtro.append(" Todas; "); + }else{ + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", String.valueOf(empresa.getEmpresaId())); + filtro.append(empresa.getNombempresa()).append(";"); + } else { + filtro.append(" Todas; "); + } + } + + parametros.put("FILTROS", filtro.toString()); + + Relatorio relatorio = new RelatorioBPeSubstituido(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioBPeSubstituidoController.window.title"), args, MODAL); + } + + private boolean validar() { + + try { + if (dtInicio.getValue() == null || dtFim.getValue() == null) { + Messagebox.show(Labels.getLabel("relatorioBPeSubstituidoController.data.obrigatoria"), + Labels.getLabel("relatorioBPeSubstituidoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if(dtInicio.getValue().after(dtFim.getValue())){ + Messagebox.show(Labels.getLabel("relatorioBPeSubstituidoController.MSG.dataInicialMaiorFinal"), + Labels.getLabel("relatorioBPeSubstituidoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + } catch (InterruptedException ex) { + return false; + } + return true; + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + public void onDoubleClick$puntoVentaList(Event ev) { + PuntoVenta puntoVentaSel = (PuntoVenta) puntoVentaList.getSelected(); + puntoVentaSelList.addItemNovo(puntoVentaSel); + } + + public void onDoubleClick$puntoVentaSelList(Event ev) { + PuntoVenta puntoVentaSel = (PuntoVenta) puntoVentaSelList.getSelected(); + puntoVentaSelList.removeItem(puntoVentaSel); + } + + public void onSelect$puntoVentaList(Event ev) { + } + + public void onClick$btnLimpar(Event ev) { + limparPesquisaAgencia(); + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + private void executarPesquisa() { + HibernateSearchObject puntoVentaBusqueda = + new HibernateSearchObject(PuntoVenta.class, + pagingPuntoVenta.getPageSize()); + + puntoVentaBusqueda.addFilterOr(Filter.like("nombpuntoventa", "%" + txtPalavraPesquisa.getText().trim().toUpperCase().concat("%")), Filter.like("numPuntoVenta", "%" + txtPalavraPesquisa.getText().trim().toUpperCase().concat("%"))); + + puntoVentaBusqueda.addSortAsc("nombpuntoventa"); + + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + + plwPuntoVenta.init(puntoVentaBusqueda, puntoVentaList, pagingPuntoVenta); + + if (puntoVentaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioReceitaDiariaAgenciaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + + private void limparPesquisaAgencia() { + puntoVentaList.clearSelection(); + + lsNumPuntoVenta.clear(); + this.bbPesquisaPuntoVenta.setValue(""); + } + + public Datebox getDtInicio() { + return dtInicio; + } + + public void setDtInicio(Datebox dtInicio) { + this.dtInicio = dtInicio; + } + + public Datebox getDtFim() { + return dtFim; + } + + public void setDtFim(Datebox dtFim) { + this.dtFim = dtFim; + } + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public MyListbox getEstadoList() { + return estadoList; + } + + public void setEstadoList(MyListbox estadoList) { + this.estadoList = estadoList; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public List getLsEstado() { + return lsEstado; + } + + public void setLsEstado(List lsEstado) { + this.lsEstado = lsEstado; + } + + public EmpresaService getEmpresaService() { + return empresaService; + } + + public void setEmpresaService(EmpresaService empresaService) { + this.empresaService = empresaService; + } + + public DataSource getDataSourceRead() { + return dataSourceRead; + } + + public void setDataSourceRead(DataSource dataSourceRead) { + this.dataSourceRead = dataSourceRead; + } + + public EstadoService getEstadoService() { + return estadoService; + } + + public void setEstadoService(EstadoService estadoService) { + this.estadoService = estadoService; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCheckinEnacerramentoAbertoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCheckinEnacerramentoAbertoController.java new file mode 100644 index 000000000..aad84d8cd --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCheckinEnacerramentoAbertoController.java @@ -0,0 +1,140 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Datebox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioCheckinAberto; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioEncerramentoCheckin; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; + +//Mantis 15199 + +@Controller("relatorioEncerramentoCheckinController") +@Scope("prototype") +@SuppressWarnings("serial") +public class RelatorioCheckinEnacerramentoAbertoController extends MyGenericForwardComposer { + + @Autowired + private DataSource dataSourceRead; + + @Autowired + private EmpresaService empresaService; + + private Datebox dataInicioServico; + private Datebox dataFimServico; + private Datebox dataInicioEncerramento; + private Datebox dataFimEncerramento; + private MyComboboxEstandar cmbEmpresa; + private MyComboboxParada cmbLocalidade; + private List lsEmpresas; + private Checkbox chcEncerrado; + private Checkbox chcAberto; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + lsEmpresas = empresaService.obtenerTodos(); + chcEncerrado.setChecked(Boolean.TRUE); + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + private void executarRelatorio() throws Exception { + Map parametros = new HashMap(); + + // Datas + putParametrosDate(parametros, RelatorioEncerramentoCheckin.DATA_INICIO_SERVICO, this.dataInicioServico.getValue()); + putParametrosDate(parametros, RelatorioEncerramentoCheckin.DATA_FIM_SERVICO, this.dataFimServico.getValue()); + putParametrosDate(parametros, RelatorioEncerramentoCheckin.DATA_INICIO_ENCERRAMENTO, this.dataInicioEncerramento.getValue()); + putParametrosDate(parametros, RelatorioEncerramentoCheckin.DATA_FIM_ENCERRAMENTO, this.dataFimEncerramento.getValue()); + + // Validação datas + if (parametros.containsKey(RelatorioEncerramentoCheckin.DATA_INICIO_SERVICO) && !parametros.containsKey(RelatorioEncerramentoCheckin.DATA_FIM_SERVICO) || !parametros.containsKey(RelatorioEncerramentoCheckin.DATA_INICIO_SERVICO) && parametros.containsKey(RelatorioEncerramentoCheckin.DATA_FIM_SERVICO)) { + MensagensUtils.showMessageInformation(Labels.getLabel("relatorioEncerramentoCheckinController.data.servico.obrigatoria"), Labels.getLabel("relatorioEncerramentoCheckinController.window.title")); + return; + } + + if (parametros.containsKey(RelatorioEncerramentoCheckin.DATA_INICIO_ENCERRAMENTO) && !parametros.containsKey(RelatorioEncerramentoCheckin.DATA_FIM_ENCERRAMENTO) || !parametros.containsKey(RelatorioEncerramentoCheckin.DATA_INICIO_ENCERRAMENTO) && parametros.containsKey(RelatorioEncerramentoCheckin.DATA_FIM_ENCERRAMENTO)) { + MensagensUtils.showMessageInformation(Labels.getLabel("relatorioEncerramentoCheckinController.data.encerramento.obrigatoria"), Labels.getLabel("relatorioEncerramentoCheckinController.window.title")); + return; + } + + if (!parametros.containsKey(RelatorioEncerramentoCheckin.DATA_INICIO_SERVICO) && !parametros.containsKey(RelatorioEncerramentoCheckin.DATA_FIM_SERVICO) && !parametros.containsKey(RelatorioEncerramentoCheckin.DATA_INICIO_ENCERRAMENTO) && !parametros.containsKey(RelatorioEncerramentoCheckin.DATA_FIM_ENCERRAMENTO)) { + MensagensUtils.showMessageInformation(Labels.getLabel("relatorioEncerramentoCheckinController.data.obrigatoria"), Labels.getLabel("relatorioEncerramentoCheckinController.window.title")); + return; + } + + // Empresa + if (cmbEmpresa.getSelectedIndex() != -1) { + Empresa empresa = (Empresa) cmbEmpresa.getSelectedItem().getValue(); + parametros.put("empresa_id", empresa.getEmpresaId()); + parametros.put("EMPRESA", empresa.getNombempresa()); + } else { + parametros.put("EMPRESA", "TODAS"); + } + + // Localidade + if (cmbLocalidade.getSelectedIndex() != -1) { + parametros.put("localidade_id", ((Parada) cmbLocalidade.getSelectedItem().getValue()).getParadaId()); + } + + Relatorio relatorio = null; + if(chcEncerrado.isChecked()) { + parametros.put("TITULO", Labels.getLabel("relatorioEncerramentoCheckinController.window.title")); + relatorio = new RelatorioEncerramentoCheckin(parametros, dataSourceRead.getConnection()); + }else { + parametros.put("TITULO", Labels.getLabel("relatorioCheckinAbertoController.window.title")); + relatorio = new RelatorioCheckinAberto(parametros, dataSourceRead.getConnection()); + } + + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + if(chcEncerrado.isChecked()) { + openWindow("/component/reportView.zul", Labels.getLabel("relatorioEncerramentoCheckinController.window.title"), args, MODAL); + }else { + openWindow("/component/reportView.zul", Labels.getLabel("relatorioCheckinAbertoController.window.title"), args, MODAL); + } + + } + + private void putParametrosDate(Map parametros, String nomeParametro, Date data) { + if (data != null) { + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + parametros.put(nomeParametro, sdf.format(data)); + } + } + + // gets/sets + public List getLsEmpresas() { + return lsEmpresas; + } + + public void setLsEmpresas(List lsEmpresas) { + this.lsEmpresas = lsEmpresas; + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCteosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCteosController.java new file mode 100644 index 000000000..341abd4e4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCteosController.java @@ -0,0 +1,243 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Datebox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Estado; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioCteos; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.EstadoService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEstadoUf; + +@Controller("relatorioCteosController") +@Scope("prototype") +public class RelatorioCteosController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + private Datebox dtInicio; + private Datebox dtFim; + private MyComboboxEstandar cmbEmpresa; + private Combobox cmbPuntoVenta; + private MyListbox estadoList; + + private List lsEmpresa; + private List lsEstado; + + @Autowired + private DataSource dataSourceRead; + @Autowired + private EmpresaService empresaService; + @Autowired + private EstadoService estadoService; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + lsEstado = estadoService.obtenerTodos(); + super.doAfterCompose(comp); + + estadoList.setItemRenderer(new RenderEstadoUf()); + estadoList.setData(lsEstado); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + Map parametros = new HashMap(); + StringBuilder filtro = new StringBuilder(); + + if (!validar()) { + return; + } + + if (dtInicio.getValue() != null && dtFim.getValue() != null) { + filtro.append("Data: ") + .append(DateUtil.getStringDate(dtInicio.getValue(), "dd/MM/yyyy")) + .append(" - ") + .append(DateUtil.getStringDate(dtFim.getValue(), "dd/MM/yyyy")) + .append(";"); + parametros.put("DATA_INICIO", (java.util.Date) dtInicio.getValue()); + parametros.put("DATA_FIM", (java.util.Date) dtFim.getValue()); + } + + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioCteosController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("USUARIO_NOME", UsuarioLogado.getUsuarioLogado().getNombusuario()); + + filtro.append("UF: "); + String estadosIds = ""; + String UFs = ""; + List lsEstadosSelecionados = estadoList.getItensSelecionados(); + + if (!lsEstadosSelecionados.isEmpty()) { + for (int i = 0; i < lsEstadosSelecionados.size(); i++) { + Estado estado = (Estado) lsEstadosSelecionados.get(i); + UFs = UFs + estado.getCveestado() + ","; + estadosIds = estadosIds + estado.getEstadoId() + ","; + } + + estadosIds = estadosIds.substring(0, estadosIds.length() - 1); + UFs = UFs.substring(0, UFs.length() - 1); + parametros.put("ESTADOS_ID", estadosIds); + } else { + filtro.append("Todos "); + } + + filtro.append(UFs).append(";"); + + filtro.append("Empresa: "); + + + if (cmbEmpresa.getSelectedItem() == null ) { + filtro.append(" Todas; "); + }else{ + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", String.valueOf(empresa.getEmpresaId())); + filtro.append(empresa.getNombempresa()).append(";"); + } else { + filtro.append(" Todas; "); + } + } + + parametros.put("FILTROS", filtro.toString()); + + Relatorio relatorio = new RelatorioCteos(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioCteosController.window.title"), args, MODAL); + } + + private boolean validar() { + + try { + if (dtInicio.getValue() == null || dtFim.getValue() == null) { + Messagebox.show(Labels.getLabel("relatorioCteosController.data.obrigatoria"), + Labels.getLabel("relatorioCteosController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if(dtInicio.getValue().after(dtFim.getValue())){ + Messagebox.show(Labels.getLabel("relatorioCteosController.MSG.dataInicialMaiorFinal"), + Labels.getLabel("relatorioCteosController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + } catch (InterruptedException ex) { + return false; + } + return true; + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + public Datebox getDtInicio() { + return dtInicio; + } + + public void setDtInicio(Datebox dtInicio) { + this.dtInicio = dtInicio; + } + + public Datebox getDtFim() { + return dtFim; + } + + public void setDtFim(Datebox dtFim) { + this.dtFim = dtFim; + } + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public Combobox getCmbPuntoVenta() { + return cmbPuntoVenta; + } + + public void setCmbPuntoVenta(Combobox cmbPuntoVenta) { + this.cmbPuntoVenta = cmbPuntoVenta; + } + + public MyListbox getEstadoList() { + return estadoList; + } + + public void setEstadoList(MyListbox estadoList) { + this.estadoList = estadoList; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public List getLsEstado() { + return lsEstado; + } + + public void setLsEstado(List lsEstado) { + this.lsEstado = lsEstado; + } + + public EmpresaService getEmpresaService() { + return empresaService; + } + + public void setEmpresaService(EmpresaService empresaService) { + this.empresaService = empresaService; + } + + public DataSource getDataSourceRead() { + return dataSourceRead; + } + + public void setDataSourceRead(DataSource dataSourceRead) { + this.dataSourceRead = dataSourceRead; + } + + public EstadoService getEstadoService() { + return estadoService; + } + + public void setEstadoService(EstadoService estadoService) { + this.estadoService = estadoService; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/remessa/ImportarRetornoBancarioController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/remessa/ImportarRetornoBancarioController.java new file mode 100644 index 000000000..c1e6e44f1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/remessa/ImportarRetornoBancarioController.java @@ -0,0 +1,108 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.remessa; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.media.Media; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Filedownload; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.UploadEvent; +import org.zkoss.zul.Messagebox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.ImportacaoRetornoBancarioService; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; + +@Controller("importarRetornoBancarioController") +@Scope("prototype") +public class ImportarRetornoBancarioController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private ImportacaoRetornoBancarioService importacaoRetornoBancarioService; + + @Autowired + private EmpresaService empresaService; + + private List lsEmpresa; + private MyComboboxEstandar cmbEmpresa; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + + lsEmpresa = new ArrayList(); + lsEmpresa.addAll(empresaService.obtenerTodos()); + } + + public void onUpload(UploadEvent event) throws IOException, InterruptedException { + final String resultado; + + if (cmbEmpresa.getSelectedItem() == null){ + Messagebox.show(Labels.getLabel("relatorioRetornoBancario.MSG.erroSemEmpresa"), + Labels.getLabel("importarClientesController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } + + Media media = event.getMedia(); + if(media.getName().toLowerCase().endsWith(".ret")){ + Empresa empresa = (Empresa) cmbEmpresa.getSelectedItem().getValue(); + ByteArrayInputStream bais = new ByteArrayInputStream( media.getByteData()) ; + resultado = importacaoRetornoBancarioService.lerArquivo(bais, empresa); + }else{ + Messagebox.show(Labels.getLabel("relatorioRetornoBancario.MSG.extensaoInvalida"), + Labels.getLabel("importarRetornoBancarioController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } + + if (resultado.startsWith("Arquivo Processado com sucesso")) { + Messagebox.show("Arquivo Processado com sucesso", + Labels.getLabel("importarRetornoBancarioController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + }else if (resultado.startsWith("Arquivo Processado com ressalvas")) { + Messagebox.show("Arquivo Processado com ressalvas", + Labels.getLabel("importarRetornoBancarioController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } else { + Messagebox.show(resultado, + Labels.getLabel("importarRetornoBancarioController.window.title"), + Messagebox.OK, Messagebox.ERROR); + } + + Messagebox.show("Deseja baixar arquivo com detalhes do processamento?", + Labels.getLabel("importarRetornoBancarioController.window.title"), + Messagebox.OK | Messagebox.CANCEL, + Messagebox.QUESTION, + new org.zkoss.zk.ui.event.EventListener(){ + public void onEvent(Event e){ + if(Messagebox.ON_OK.equals(e.getName())){ + InputStream is = new ByteArrayInputStream(resultado.getBytes()); + Filedownload.save(is, "application/txt", "detalhe_processamento.txt"); + } + } + } + ); + + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/api/ApiCallRunnable.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/api/ApiCallRunnable.java new file mode 100644 index 000000000..4e40b1b83 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/api/ApiCallRunnable.java @@ -0,0 +1,126 @@ +package com.rjconsultores.ventaboletos.web.utilerias.api; + +import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Date; + +import javax.xml.bind.DatatypeConverter; + +import org.apache.http.HttpResponse; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.auth.BasicScheme; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.log4j.Logger; + +import com.nimbusds.jose.JOSEException; +import com.nimbusds.jose.JWSAlgorithm; +import com.nimbusds.jose.JWSHeader; +import com.nimbusds.jose.JWSObject; +import com.nimbusds.jose.Payload; +import com.nimbusds.jose.crypto.MACSigner; +import com.nimbusds.jwt.JWTClaimsSet; + +public class ApiCallRunnable implements Runnable { + + private static Logger log = Logger.getLogger(ApiCallRunnable.class); + private static final int minutesExpireToken = 10; + private static final String secret = "#KO&Fm4_k.sU9M8`6Mx'F\\\"H:*Qxu]6F4r,)JmZ2Jwafd)I.2[RET'1:)VQ6mG9,"; + + private final String url; + private final String tenant; + private String retorno; + private String urlBase; + + public String getUrl() { + return url; + } + + public String getTenant() { + return tenant; + } + + public String getRetorno() { + return retorno; + } + + public void setRetorno(String retorno) { + this.retorno = retorno; + } + + public String getUrlBase() { + return urlBase; + } + + public void setUrlBase(String urlBase) { + this.urlBase = urlBase; + } + + public ApiCallRunnable(String url, String tenant, String urlOriginal) { + this.url = url; + this.tenant = tenant; + this.urlBase = urlOriginal; + } + + public void run() { + HttpClient client = new DefaultHttpClient(); + HttpGet request = new HttpGet(url); + UsernamePasswordCredentials creds = null; + + try { + creds = new UsernamePasswordCredentials("internal", getToken()); + request.addHeader(new BasicScheme().authenticate(creds, request)); + + if (tenant != null) { + request.addHeader("x-tenant-id", tenant); + } + + HttpResponse response = client.execute(request); + if (response != null && response.getStatusLine() != null) { + log.info(String.format(":: Response Status Code %d :: Headers = %s", response.getStatusLine().getStatusCode(),Arrays.toString(response.getAllHeaders()))); + } + + Integer codigoRetorno = (response != null && response.getStatusLine() != null) ? response.getStatusLine().getStatusCode() : null; + + retorno = montarMensagemRetorno(tenant, urlBase, codigoRetorno, null); + + } catch (Exception e) { + retorno = montarMensagemRetorno(tenant, urlBase, null, e.getMessage()); + log.error("Ocorreu um erro ao executar a requisição de limpar cache de localidade da API", e); + } + } + private String montarMensagemRetorno(String tenant, String url, Integer codigoRetorno, String mensagemErro) { + + StringBuilder mensagemRetorno = new StringBuilder(); + mensagemRetorno.append("ULR -> ").append(url).append("\n"); + mensagemRetorno.append("tenant -> ").append(tenant).append("\n"); + if (mensagemErro == null) { + mensagemRetorno.append("Resposta -> ").append((codigoRetorno != null && codigoRetorno.equals(200)) ? "Solicitação de limpeza de cache executada com sucesso, código " + codigoRetorno : "Erro ao enviar solicitação, código " + codigoRetorno); + } else { + mensagemRetorno.append("Resposta -> ").append(mensagemErro); + } + + return mensagemRetorno.toString(); + } + private String getToken() throws JOSEException { + long ttlMillis = minutesExpireToken * 60000; + long nowMillis = System.currentTimeMillis(); + long expMillis = nowMillis + ttlMillis; + + JWTClaimsSet claims = new JWTClaimsSet.Builder() + .claim("sub", new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new Date())) + .claim("userId", "adm") + .claim("role", "ROLE_TOKEN") + .claim("exp", expMillis) + .build(); + + JWSObject jwsObject = new JWSObject(new JWSHeader(JWSAlgorithm.HS256), + new Payload(claims.toJSONObject())); + + jwsObject.sign(new MACSigner(DatatypeConverter.parseBase64Binary(secret))); + + return jwsObject.serialize(); + } + +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/analitico/gerenciais/bpe/SubMenuRelatorioBpe.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/analitico/gerenciais/bpe/SubMenuRelatorioBpe.java new file mode 100644 index 000000000..158673616 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/analitico/gerenciais/bpe/SubMenuRelatorioBpe.java @@ -0,0 +1,16 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.bpe; + +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class SubMenuRelatorioBpe extends DefaultItemMenuSistema { + + public SubMenuRelatorioBpe() { + super("indexController.mniRelatoriosBpe.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS"; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioBPeSubstituido.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioBPeSubstituido.java new file mode 100644 index 000000000..fbe9e7ca6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioBPeSubstituido.java @@ -0,0 +1,25 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRelatorioBPeSubstituido extends DefaultItemMenuSistema { + + public ItemMenuRelatorioBPeSubstituido() { + super("indexController.mniRelatorioBPeSubstituido.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOBPESUBSTITUIDO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioBPeSubstituido.zul", + Labels.getLabel("relatorioBPeSubstituidoController.window.title"), getArgs(), desktop); + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCteos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCteos.java new file mode 100644 index 000000000..4d5a91838 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCteos.java @@ -0,0 +1,25 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRelatorioCteos extends DefaultItemMenuSistema { + + public ItemMenuRelatorioCteos() { + super("indexController.mniRelatorioCteos.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOCTEOS"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioCteos.zul", + Labels.getLabel("relatorioCteosController.window.title"), getArgs(), desktop); + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioRetornoBancario.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioRetornoBancario.java new file mode 100644 index 000000000..03bc4d4d4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioRetornoBancario.java @@ -0,0 +1,25 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRelatorioRetornoBancario extends DefaultItemMenuSistema { + + public ItemMenuRelatorioRetornoBancario() { + super("indexController.mniRelatorioRetornoBancario.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIORETORNOBANCARIO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/importarRetornoBancario.zul", + Labels.getLabel("relatorioRetornoBancario.window.title"), getArgs(), desktop); + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuLimparCacheEmbarcadaAPI.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuLimparCacheEmbarcadaAPI.java new file mode 100644 index 000000000..519e7265c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuLimparCacheEmbarcadaAPI.java @@ -0,0 +1,105 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.springframework.context.ApplicationContext; +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.util.Clients; +import org.zkoss.zul.Messagebox; + +import com.rjconsultores.ventaboletos.service.ConstanteService; +import com.rjconsultores.ventaboletos.web.utilerias.api.ApiCallRunnable; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; + +public class ItemMenuLimparCacheEmbarcadaAPI extends DefaultItemMenuSistema { + private static Logger log = Logger.getLogger(ItemMenuLimparCacheEmbarcadaAPI.class); + + + public ItemMenuLimparCacheEmbarcadaAPI() { + super("indexController.mniLimparCacheEmbarcadaAPI.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.SEGURIDAD.MENU.RECARREGARCACHEEMBARCADASINCRONIZACAOAPI"; + } + + @Override + public void ejecutar() { + + try { + + int resp = Messagebox.show( + Labels.getLabel("limparCacheEmbarcadaAPI.message.pergunta"), + Labels.getLabel("limparCacheEmbarcadaAPI.title"), Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + + String[] urls = getURLSAPI(); + + if (urls == null || urls.length == 0) { + Clients.alert(org.zkoss.util.resource.Labels.getLabel("limparCacheEmbarcadaAPI.message.naoconfigurado"), + org.zkoss.util.resource.Labels.getLabel("limparCacheEmbarcadaAPI.title"), Messagebox.INFORMATION); + return; + } + + for (String url : urls) { + + if (StringUtils.isBlank(url) || url.contains("|")) { + Clients.alert(org.zkoss.util.resource.Labels.getLabel("limparCacheEmbarcadaAPI.message.naoconfigurado"), + org.zkoss.util.resource.Labels.getLabel("limparCacheEmbarcadaAPI.title"), Messagebox.INFORMATION); + return; + } + + String tenant = StringUtils.substringBetween(url, "[", "]"); + if (tenant != null) { + url = url.replaceAll("\\[.*?\\]", ""); + } + String urlBase = url; + url = montarUrlRequest(url); + + ApiCallRunnable cache = new ApiCallRunnable(url, tenant, urlBase); + Thread thread = new Thread(cache); + thread.start(); + thread.join(); + + Clients.alert(cache.getRetorno(), org.zkoss.util.resource.Labels.getLabel("limparCacheEmbarcadaAPI.title"), Messagebox.INFORMATION); + } + + } + + } catch (Exception e) { + Clients.alert(e.getMessage(), + org.zkoss.util.resource.Labels.getLabel("limparCacheEmbarcadaAPI.title"), Messagebox.ERROR); + log.error(e.getMessage(), e); + } + + } + + private String montarUrlRequest(String url) { + + url = url.toLowerCase(); + + if (!url.endsWith("/")) { + url += "/"; + } + + return url.concat("adm/limparCacheSincronizacaoTramos"); + } + + private String[] getURLSAPI() { + ApplicationContext appContext = AppContext.getApplicationContext(); + ConstanteService constanteService = (ConstanteService) appContext.getBean("constanteService"); + String constante = constanteService.buscarURLAPIEmb(); + + if (StringUtils.isBlank(constante)){ + log.debug("Não foi encontrado a constante específica para a API da Embarcada. Será buscado o endereço da api de Venda"); + + constante = constanteService.buscarURLAPI(); + } + + return constante == null ? null : constante.split("\\|"); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/MenuAPI.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/MenuAPI.java new file mode 100644 index 000000000..af03afd82 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/MenuAPI.java @@ -0,0 +1,16 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad; + +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class MenuAPI extends DefaultItemMenuSistema { + + public MenuAPI() { + super("indexController.mniAPI.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.SEGURIDAD.MENU.API"; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEixoConexionRutaRemoveSelecionada.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEixoConexionRutaRemoveSelecionada.java new file mode 100644 index 000000000..6d1c6a5ed --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEixoConexionRutaRemoveSelecionada.java @@ -0,0 +1,52 @@ + +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Parada; + +/** + * + * @author Valdevir + */ +public class RenderEixoConexionRutaRemoveSelecionada implements ListitemRenderer { + + private EventListener listenerGenerico; + + public RenderEixoConexionRutaRemoveSelecionada(EventListener listenerGenerico) { + super(); + this.listenerGenerico = listenerGenerico; + } + + public void render(Listitem lstm, Object o) throws Exception { + Parada parada = (Parada) o; + + Listcell lc = new Listcell(parada.getDescparada().toString()); + lc.setParent(lstm); + + lc = new Listcell(); + + if(!Boolean.TRUE.equals(parada.getIsParadaConexaoRutaExcluida())) { + Button btnRemoverPermissao = new Button(); + btnRemoverPermissao.setAttribute("data", o); + btnRemoverPermissao.addEventListener("onClick", listenerGenerico); + btnRemoverPermissao.setImage("/gui/img/remove.png"); + lc.appendChild(btnRemoverPermissao); + + }else { + Button btnAddPermissao = new Button(); + btnAddPermissao.setAttribute("data", o); + btnAddPermissao.addEventListener("onClick", listenerGenerico); + btnAddPermissao.setImage("/gui/img/add.png"); + lc.appendChild(btnAddPermissao); + } + + lc.setParent(lstm); + + lstm.setAttribute("data", parada); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java new file mode 100644 index 000000000..2dddc8858 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderParada.java @@ -0,0 +1,20 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Parada; + +public class RenderParada implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + Parada parada = (Parada) o; + + Listcell lc = new Listcell(parada.getCveparada() + " - " + parada.getDescparada()); + lc.setParent(lstm); + + lstm.setAttribute("data", parada); + + } +}