From e0a1b1eb920410d3087723fd79ee356d76efeee3 Mon Sep 17 00:00:00 2001 From: "gleison.cruz" Date: Tue, 18 Jul 2023 17:30:31 -0300 Subject: [PATCH 1/2] =?UTF-8?q?fixes=20bug#AL-2946=20Nova=20op=C3=A7=C3=A3?= =?UTF-8?q?o=20de=20relat=C3=B3rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../RelatorioPassageirosViajarDetalhado.java | 93 +++++++++ ...ioPassageirosViajarDetalhado_es.properties | 21 ++ ...assageirosViajarDetalhado_pt_BR.properties | 21 ++ ...RelatorioPassageirosViajarDetalhado.jasper | Bin 0 -> 28013 bytes .../RelatorioPassageirosViajarDetalhado.jrxml | 186 ++++++++++++++++++ .../RelatorioPassageirosViajarController.java | 52 +++++ web/WEB-INF/i3-label_en.label | 2 + web/WEB-INF/i3-label_es_MX.label | 1 + web/WEB-INF/i3-label_pt_BR.label | 1 + .../filtroRelatorioPassageirosViajar.zul | 3 + 11 files changed, 381 insertions(+), 1 deletion(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassageirosViajarDetalhado.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassageirosViajarDetalhado_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassageirosViajarDetalhado_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassageirosViajarDetalhado.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassageirosViajarDetalhado.jrxml diff --git a/pom.xml b/pom.xml index 7def9ceb7..cff9e9ead 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.9.1 + 1.9.2 war diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassageirosViajarDetalhado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassageirosViajarDetalhado.java new file mode 100644 index 000000000..303162fb3 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPassageirosViajarDetalhado.java @@ -0,0 +1,93 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.util.Date; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +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.web.utilerias.NamedParameterStatement; + +public class RelatorioPassageirosViajarDetalhado extends Relatorio { + + public RelatorioPassageirosViajarDetalhado(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); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + ResultSet rset = stmt.executeQuery(); + + while (rset.next()) { + Map dataResult = new HashMap(); + + dataResult.put("NUMERO", rset.getString("NUMERO")); + dataResult.put("NOME", trataCampoNull(rset.getString("NOME"))); + dataResult.put("RG", trataCampoNull(rset.getString("RG"))); + dataResult.put("LOCALIZADOR", trataCampoNull(rset.getString("LOCALIZADOR"))); + dataResult.put("ENDERECO", trataCampoNull(rset.getString("ENDERECO"))); + dataResult.put("NUMTELEFONO", trataCampoNull(rset.getString("NUMTELEFONO"))); + dataResult.put("AGENTE", trataCampoNull(rset.getString("AGENTE"))); + dataResult.put("CONTROLE", trataCampoNull(rset.getString("CONTROLE"))); + this.dados.add(dataResult); + } + + this.resultSet = rset; + } + }); + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSql(Map parametros) { + + StringBuilder sql = new StringBuilder(); + + String formatToDate = ("'dd/MM/yyyy hh24:mi:ss'"); + SimpleDateFormat formatSemHora = new SimpleDateFormat("dd/MM/yyyy"); + + Date dataCadastroInicial = (Date) parametros.get("DATA_INICIO"); + Date dataCadastroFinal = (Date) parametros.get("DATA_FINAL"); + String passagemAberta = (String) parametros.get("PASSAGEM_ABERTA"); + String empresaId = (String) parametros.get("EMPRESA_ID"); + String categorias = (String) parametros.get("LS_CATEGORIA"); + Integer usuario = (Integer) parametros.get("USUARIO"); + + sql.append(" SELECT ROWNUM AS NUMERO, "); + sql.append(" B.NOMBPASAJERO AS NOME, "); + sql.append(" CASE B.DESCTIPODOC WHEN 'RG' THEN B.DESCNUMDOC END AS RG, "); + sql.append(" COALESCE(B.NUMFOLIOSISTEMA, B.NUMOPERACION) AS LOCALIZADOR, "); + sql.append(" CD.DESCCALLE AS ENDERECO, "); + sql.append(" C.NUMTELEFONO, "); + sql.append(" U.CVEUSUARIO AS AGENTE, "); + sql.append(" '''' AS CONTROLE "); + sql.append(" FROM BOLETO B INNER JOIN USUARIO U ON (B.USUARIO_ID = U.USUARIO_ID) "); + sql.append(" LEFT JOIN CLIENTE C ON (B.CLIENTE_ID = C.CLIENTE_ID) "); + sql.append(" LEFT JOIN CLIENTE_DIRECCION CD ON (C.CLIENTE_ID = CD.CLIENTE_ID) "); + sql.append("WHERE B.TIPOVENTA_ID = 15 "); + if (dataCadastroInicial != null && dataCadastroFinal != null) { + sql.append("AND B.FECCREACION BETWEEN TO_DATE('" + formatSemHora.format(dataCadastroInicial) + " 00:00:00', " + formatToDate + ") " + + "AND TO_DATE('" + formatSemHora.format(dataCadastroFinal) + " 23:59:59', " + formatToDate + ") "); + } + return sql.toString(); + } + + private String trataCampoNull(String campo) { + if (campo != null && !campo.isEmpty() && campo.equalsIgnoreCase("null")) { + return ""; + } + return campo; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassageirosViajarDetalhado_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassageirosViajarDetalhado_es.properties new file mode 100644 index 000000000..3ed1b04c8 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassageirosViajarDetalhado_es.properties @@ -0,0 +1,21 @@ +#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.numero=Nº +label.nome=NOME +label.RG=RG +label.LOCALIZAODR=VOO / LOCALIZADOR +label.ENDERECO=ENDEREÇO +label.TELEFONE=TELEFONE +label.AGENTE=AGENTE +label.CONTROLE=CONTROLE \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassageirosViajarDetalhado_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassageirosViajarDetalhado_pt_BR.properties new file mode 100644 index 000000000..17ddf4fc8 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPassageirosViajarDetalhado_pt_BR.properties @@ -0,0 +1,21 @@ +#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.numero=Nº +label.nome=NOME +label.RG=RG +label.LOCALIZAODR=VOO / LOCALIZADOR +label.ENDERECO=ENDEREÇO +label.TELEFONE=TELEFONE +label.AGENTE=AGENTE +label.CONTROLE=CONTROLE diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassageirosViajarDetalhado.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassageirosViajarDetalhado.jasper new file mode 100644 index 0000000000000000000000000000000000000000..16615e21660b36bc81a68492c6e77eb3ac1471bd GIT binary patch literal 28013 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 HR{sA1Wxjs( literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassageirosViajarDetalhado.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassageirosViajarDetalhado.jrxml new file mode 100644 index 000000000..bfc1d3cb2 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPassageirosViajarDetalhado.jrxml @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + <band height="79" splitType="Stretch"> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="96eded89-d7ca-4186-a91e-41fcd6baf278" mode="Transparent" x="0" y="0" width="457" height="41" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="14" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$P{NOME_RELATORIO}]]></textFieldExpression> + </textField> + <line> + <reportElement uuid="041f4c8d-2436-490c-b906-77c8780b5425" x="-1" y="58" width="832" height="1"/> + </line> + <line> + <reportElement uuid="51d2aa74-94f4-440a-959f-2c9acc1902c7" positionType="Float" x="-1" y="78" width="832" height="1"/> + </line> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPassageirosViajarController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPassageirosViajarController.java index 4f534f278..e4d5e6041 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPassageirosViajarController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPassageirosViajarController.java @@ -28,6 +28,7 @@ import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Categoria; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioPassageirosViajar; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioPassageirosViajarDetalhado; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.CategoriaService; import com.rjconsultores.ventaboletos.service.EmpresaService; @@ -158,6 +159,10 @@ public class RelatorioPassageirosViajarController extends MyGenericForwardCompos public void onClick$btnExecutarRelatorio(Event ev) throws Exception { executarRelatorio(); } + + public void onClick$btnExecutarRelatorioDetalhado(Event ev) throws Exception { + executarRelatorioDetalhado(); + } public void onSelect$categoriaList(Event ev) { @@ -249,6 +254,53 @@ public class RelatorioPassageirosViajarController extends MyGenericForwardCompos Labels.getLabel("relatorioPassageirosViajarController.window.title"), args, MODAL); } + + private void executarRelatorioDetalhado() throws Exception { + + Map parametros = new HashMap(); + + parametros.put("DATA_INICIO", datInicial.getValue()); + parametros.put("DATA_FINAL", datFinal.getValue()); + String passagemAberta = " and (B.feccorrida is null and B.corrida_id is null) "; + if (!chkPassageiroAberto.isChecked()) { + passagemAberta = " and (B.feccorrida is not null and B.corrida_id is not null) "; + } + parametros.put("PASSAGEM_ABERTA", passagemAberta); + Empresa e = (Empresa) cmbEmpresa.getSelectedItem().getValue(); + parametros.put("EMPRESA_ID", e.getEmpresaId().toString()); + + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioCadastroClientesController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("USUARIO_NOME", UsuarioLogado.getUsuarioLogado().getNombusuario()); + + String strNumCategoria=""; + + StringBuilder sbCategoria = new StringBuilder(""); + if (categoriaSelList.getData().length != 0){ + + lsNumCategoria = new ArrayList(Arrays.asList(categoriaSelList.getData())); + + sbCategoria = new StringBuilder(" and B.categoria_id in ( "); + for (Categoria c : lsNumCategoria) { + sbCategoria.append(c.getCategoriaId().toString()).append(","); + } + sbCategoria.delete(sbCategoria.length()-1,sbCategoria.length()); + sbCategoria.append(")"); + } + + parametros.put("LS_CATEGORIA", sbCategoria.toString()); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + Relatorio relatorio = new RelatorioPassageirosViajarDetalhado(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioPassageirosViajarController.window.title"), args, MODAL); + + } + @Override public void doAfterCompose(Component comp) throws Exception { diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index 4d9daea1b..842b12dcd 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -94,6 +94,7 @@ lb.sigla = Currency # Relatório relatorio.lb.btnExecutarRelatorio = Executar Relatório +relatorio.lb.btnExecutarRelatorioDetalhado = Relatório Detalhado relatorio.lb.btnSalvarRelatorio = Salvar Relatório relatorio.lb.btnSalvarRelatorioPdf = Salvar Relatório em PDF relatorio.lb.btnSalvarRelatorioXls = Salvar Relatório em XLS @@ -7826,6 +7827,7 @@ relatorioLinhaOperacionalController.lblEspecie.value = Espécie #Relatorio Pasajeiros Viajar relatorioPassageirosViajarController.window.title = Passageiros a viajar +relatorioPassageirosViajarControllerDetalhado.window.title = LISTA DE PASSAGEIROS relatorioPassageirosViajarController.lbDataIni.value = Data Inicial relatorioPassageirosViajarController.lbDataFin.value = Data Final relatorioPassageirosViajarController.lbEmpresa.value = Empresa diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 3479a1cfd..46df0800e 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -93,6 +93,7 @@ lb.sigla = Sigla # Reporte relatorio.lb.btnExecutarRelatorio = Ejecutar reporte +relatorio.lb.btnExecutarRelatorioDetalhado = Relatório Detalhado relatorio.lb.btnSalvarRelatorio = Guardar reporte relatorio.lb.btnSalvarRelatorioPdf = Guardar reporte en PDF relatorio.lb.btnSalvarRelatorioXls = Guardar reporte en XLS diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index edb59c917..9bd3ce1ba 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -94,6 +94,7 @@ lb.sigla = Sigla # Relatório relatorio.lb.btnExecutarRelatorio = Executar Relatório +relatorio.lb.btnExecutarRelatorioDetalhado = Relatório Detalhado relatorio.lb.btnSalvarRelatorio = Salvar Relatório relatorio.lb.btnSalvarRelatorioPdf = Salvar Relatório em PDF relatorio.lb.btnSalvarRelatorioXls = Salvar Relatório em XLS diff --git a/web/gui/relatorios/filtroRelatorioPassageirosViajar.zul b/web/gui/relatorios/filtroRelatorioPassageirosViajar.zul index 311d98e16..b6516d04e 100644 --- a/web/gui/relatorios/filtroRelatorioPassageirosViajar.zul +++ b/web/gui/relatorios/filtroRelatorioPassageirosViajar.zul @@ -98,6 +98,9 @@