From 472d3b8bc5b92e660e33416be782998cd13f973e Mon Sep 17 00:00:00 2001 From: frederico Date: Fri, 13 Jul 2018 18:22:49 +0000 Subject: [PATCH] bug#11495 qua:wallysson dev:thiago git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@83368 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../RelatorioCadastroClientesConsolidado.java | 98 +++++ .../RelatorioCadastroClientesDetalhado.java | 126 +++++++ ...oCadastroClientesConsolidado_es.properties | 18 + ...dastroClientesConsolidado_pt_BR.properties | 18 + ...rioCadastroClientesDetalhado_es.properties | 29 ++ ...CadastroClientesDetalhado_pt_BR.properties | 29 ++ ...elatorioCadastroClientesConsolidado.jasper | Bin 0 -> 29024 bytes ...RelatorioCadastroClientesConsolidado.jrxml | 172 +++++++++ .../RelatorioCadastroClientesDetalhado.jasper | Bin 0 -> 40664 bytes .../RelatorioCadastroClientesDetalhado.jrxml | 337 ++++++++++++++++++ .../RelatorioCadastroClienteController.java | 161 +++++++++ .../sendaAmigo/EditarClienteController.java | 5 +- .../ItemMenuRelatorioCadastroClientes.java | 25 ++ .../utilerias/menu/menu_original.properties | 1 + .../render/RenderClienteFidelidade.java | 2 +- web/WEB-INF/i3-label_es_MX.label | 14 + web/WEB-INF/i3-label_pt_BR.label | 14 + .../filtroRelatorioCadastroClientes.zul | 66 ++++ web/gui/senda_amigo/editarCliente.zul | 10 + 19 files changed, 1123 insertions(+), 2 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCadastroClientesConsolidado.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCadastroClientesDetalhado.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesConsolidado_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesConsolidado_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesDetalhado_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesDetalhado_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesConsolidado.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesConsolidado.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesDetalhado.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesDetalhado.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCadastroClienteController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCadastroClientes.java create mode 100644 web/gui/relatorios/filtroRelatorioCadastroClientes.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCadastroClientesConsolidado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCadastroClientesConsolidado.java new file mode 100644 index 000000000..4d45950e6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCadastroClientesConsolidado.java @@ -0,0 +1,98 @@ +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 RelatorioCadastroClientesConsolidado extends Relatorio { + + public RelatorioCadastroClientesConsolidado(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("empresa", rset.getString("empresa")); + dataResult.put("codigoPuntoVenta", rset.getString("codigoPuntoVenta")); + dataResult.put("puntoVenta", rset.getString("puntoVenta")); + dataResult.put("tipoPuntoVenta", rset.getString("tipoPuntoVenta")); + dataResult.put("quantidadeCadastrada", rset.getInt("quantidadeCadastrada")); + 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_CADASTRO_INICIAL"); + Date dataCadastroFinal = (Date) parametros.get("DATA_CADASTRO_FINAL"); + Integer empresaId = (Integer) parametros.get("EMPRESA_ID"); + Integer puntoVentaId = (Integer) parametros.get("PUNTOVENTA_ID"); + + sql.append("SELECT empresa.NOMBEMPRESA AS \"empresa\", "); + sql.append("puntoVenta.PUNTOVENTA_ID AS \"codigoPuntoVenta\", "); + sql.append("puntoVenta.NOMBPUNTOVENTA AS \"puntoVenta\", "); + sql.append("tipoPuntoVenta.DESCTIPO AS \"tipoPuntoVenta\", "); + sql.append("COUNT(cliente.CLIENTE_ID) AS \"quantidadeCadastrada\" "); + + sql.append("FROM CLIENTE cliente "); + sql.append("INNER JOIN USUARIO usuario ON usuario.USUARIO_ID = cliente.USUARIO_ID "); + sql.append("INNER JOIN USUARIO_UBICACION usuarioUbicacion ON usuario.USUARIO_ID = usuarioUbicacion.USUARIO_ID "); + sql.append("INNER JOIN PUNTO_VENTA puntoVenta ON usuarioUbicacion.PUNTOVENTA_ID = puntoVenta.PUNTOVENTA_ID "); + sql.append("INNER JOIN TIPO_PTOVTA tipoPuntoVenta ON tipoPuntoVenta.TIPOPTOVTA_ID = puntoVenta.TIPOPTOVTA_ID "); + sql.append("LEFT JOIN EMPRESA empresa ON empresa.EMPRESA_ID = cliente.EMPRESA_ID "); + + sql.append("WHERE cliente.ACTIVO = 1 "); + sql.append("AND usuarioUbicacion.ACTIVO = 1 "); + sql.append("AND usuario.ACTIVO = 1 "); + + if (empresaId != null && empresaId.intValue() != -1) { + sql.append("AND empresa.EMPRESA_ID = " + empresaId + " "); + } + if (puntoVentaId != null && puntoVentaId.intValue() != -1) { + sql.append("AND puntoVenta.PUNTOVENTA_ID = " + puntoVentaId + " "); + } + if (dataCadastroInicial != null && dataCadastroFinal != null) { + sql.append("AND cliente.FECCADASTRO BETWEEN TO_DATE('" + formatSemHora.format(dataCadastroInicial) + " 00:00:00', " + formatToDate + ") " + + "AND TO_DATE('" + formatSemHora.format(dataCadastroFinal) + " 23:59:59', " + formatToDate + ") "); + } + + sql.append("GROUP BY empresa.NOMBEMPRESA,"); + sql.append("puntoVenta.NUMPUNTOVENTA,"); + sql.append("puntoVenta.NOMBPUNTOVENTA,"); + sql.append("tipoPuntoVenta.DESCTIPO"); + + return sql.toString(); + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCadastroClientesDetalhado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCadastroClientesDetalhado.java new file mode 100644 index 000000000..bad978335 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCadastroClientesDetalhado.java @@ -0,0 +1,126 @@ +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 RelatorioCadastroClientesDetalhado extends Relatorio { + + public RelatorioCadastroClientesDetalhado(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("numFidelidade", rset.getString("numFidelidade")); + dataResult.put("cliente", rset.getString("cliente")); + dataResult.put("identificaUno", rset.getString("identificaUno")); + dataResult.put("identificaDos", rset.getString("identificaDos")); + dataResult.put("fecNascimento", rset.getDate("fecNascimento")); + dataResult.put("celular", rset.getString("celular")); + dataResult.put("telefone", rset.getString("telefone")); + dataResult.put("fax", rset.getString("fax")); + dataResult.put("email", rset.getString("email")); + dataResult.put("sexo", rset.getString("sexo")); + dataResult.put("fecCadastro", rset.getDate("fecCadastro")); + dataResult.put("empresaId", rset.getInt("empresaId")); + dataResult.put("codUsuario", rset.getInt("codUsuario")); + dataResult.put("usuario", rset.getString("usuario")); + dataResult.put("codigoPuntoVenta", rset.getString("codigoPuntoVenta")); + dataResult.put("puntoVenta", rset.getString("puntoVenta")); + + 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_CADASTRO_INICIAL"); + Date dataCadastroFinal = (Date) parametros.get("DATA_CADASTRO_FINAL"); + Integer empresaId = (Integer) parametros.get("EMPRESA_ID"); + Integer puntoVentaId = (Integer) parametros.get("PUNTOVENTA_ID"); + + sql.append("SELECT "); +// sql.append("(SELECT LISTAGG((tarjetaFidelidad.NUMTARJETA || '(' || empresaFidelidad.EMPRESA_ID || ')') , ', ') WITHIN GROUP (ORDER BY tarjetaFidelidad.NUMTARJETA DESC) "); + sql.append("(SELECT tarjetaFidelidad.NUMTARJETA "); + sql.append("FROM CLIENTE_FIDELIDAD clienteFidelidad "); + sql.append("INNER JOIN TARJETA_FIDELIDAD tarjetaFidelidad ON tarjetaFidelidad.TARJETAFIDELIDAD_ID = clienteFidelidad.TARJETAFIDELIDAD_ID "); + sql.append("INNER JOIN EMPRESA empresaFidelidad ON empresaFidelidad.EMPRESA_ID = clienteFidelidad.EMPRESA_ID "); + sql.append("WHERE tarjetaFidelidad.ACTIVO = 1 "); + sql.append("AND clienteFidelidad.ACTIVO = 1 "); + sql.append("AND empresaFidelidad.EMPRESA_ID = empresa.EMPRESA_ID "); + sql.append("AND clienteFidelidad.CLIENTE_ID = cliente.CLIENTE_ID) AS \"numFidelidade\", "); + sql.append("cliente.NOMBCLIENTE AS \"cliente\", "); + sql.append("cliente.NUMIDENTIFICAUNO AS \"identificaUno\", "); + sql.append("cliente.NUMEXTENSIONDOS AS \"identificaDos\", "); + sql.append("cliente.FECNACIMIENTO AS \"fecNascimento\", "); + sql.append("cliente.NUMTELEFONODOS AS \"celular\", "); + sql.append("cliente.NUMIDENTIFICAUNO AS \"telefone\", "); + sql.append("cliente.NUMFAX AS \"fax\", "); + sql.append("cliente.DESCCORREO AS \"email\", "); + sql.append("cliente.INDSEXO AS \"sexo\", "); + sql.append("cliente.FECCADASTRO AS \"fecCadastro\", "); + sql.append("cliente.EMPRESA_ID AS \"empresaId\", "); + sql.append("usuario.USUARIO_ID AS \"codUsuario\", "); + sql.append("usuario.NOMBUSUARIO AS \"usuario\", "); + sql.append("puntoVenta.PUNTOVENTA_ID AS \"codigoPuntoVenta\", "); + sql.append("puntoVenta.NOMBPUNTOVENTA AS \"puntoVenta\" "); + + sql.append("FROM CLIENTE cliente "); + sql.append("INNER JOIN USUARIO usuario ON usuario.USUARIO_ID = cliente.USUARIO_ID "); + sql.append("INNER JOIN USUARIO_UBICACION usuarioUbicacion ON usuario.USUARIO_ID = usuarioUbicacion.USUARIO_ID "); + sql.append("INNER JOIN PUNTO_VENTA puntoVenta ON usuarioUbicacion.PUNTOVENTA_ID = puntoVenta.PUNTOVENTA_ID "); + sql.append("INNER JOIN TIPO_PTOVTA tipoPuntoVenta ON tipoPuntoVenta.TIPOPTOVTA_ID = puntoVenta.TIPOPTOVTA_ID "); + sql.append("LEFT JOIN EMPRESA empresa ON empresa.EMPRESA_ID = cliente.EMPRESA_ID "); + + sql.append("WHERE cliente.ACTIVO = 1 "); + sql.append("AND usuarioUbicacion.ACTIVO = 1 "); + sql.append("AND usuario.ACTIVO = 1 "); + + if (empresaId != null && empresaId.intValue() != -1) { + sql.append("AND empresa.EMPRESA_ID = " + empresaId + " "); + } + if (puntoVentaId != null && puntoVentaId.intValue() != -1) { + sql.append("AND puntoVenta.PUNTOVENTA_ID = " + puntoVentaId + " "); + } + if (dataCadastroInicial != null && dataCadastroFinal != null) { + sql.append("AND cliente.FECCADASTRO BETWEEN TO_DATE('" + formatSemHora.format(dataCadastroInicial) + " 00:00:00', " + formatToDate + ") " + + "AND TO_DATE('" + formatSemHora.format(dataCadastroFinal) + " 23:59:59', " + formatToDate + ") "); + } + + return sql.toString(); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesConsolidado_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesConsolidado_es.properties new file mode 100644 index 000000000..8355e04e7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesConsolidado_es.properties @@ -0,0 +1,18 @@ +#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.empresa=Empresa +label.codigoPuntoVenta:Cód. +label.puntoVenta:Agência +label.tipoPuntoVenta:Canal +label.quantidadeCadastrada:Quantidade Cadastrada \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesConsolidado_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesConsolidado_pt_BR.properties new file mode 100644 index 000000000..8355e04e7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesConsolidado_pt_BR.properties @@ -0,0 +1,18 @@ +#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.empresa=Empresa +label.codigoPuntoVenta:Cód. +label.puntoVenta:Agência +label.tipoPuntoVenta:Canal +label.quantidadeCadastrada:Quantidade Cadastrada \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesDetalhado_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesDetalhado_es.properties new file mode 100644 index 000000000..6349b414a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesDetalhado_es.properties @@ -0,0 +1,29 @@ +#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.numFidelidade=Nº Fidelidade +label.cliente=Cliente +label.identificaUno=CPF +label.identificaDos=RG +label.fecNascimento=Data Nasc. +label.celular=Celular +label.telefone=Tel. +label.fax=Fax +label.email=Email +label.sexo=Sexo +label.fecCadastro=Data Cad. +label.empresaId=Empresa +label.codUsuario=Cod. Usuário +label.usuario=Usuário +label.codigoPuntoVenta= Cód. Ag. +label.puntoVenta=Ag. \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesDetalhado_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesDetalhado_pt_BR.properties new file mode 100644 index 000000000..6349b414a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCadastroClientesDetalhado_pt_BR.properties @@ -0,0 +1,29 @@ +#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.numFidelidade=Nº Fidelidade +label.cliente=Cliente +label.identificaUno=CPF +label.identificaDos=RG +label.fecNascimento=Data Nasc. +label.celular=Celular +label.telefone=Tel. +label.fax=Fax +label.email=Email +label.sexo=Sexo +label.fecCadastro=Data Cad. +label.empresaId=Empresa +label.codUsuario=Cod. Usuário +label.usuario=Usuário +label.codigoPuntoVenta= Cód. Ag. +label.puntoVenta=Ag. \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesConsolidado.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesConsolidado.jasper new file mode 100644 index 0000000000000000000000000000000000000000..7065465a4cf8ce6fe97146867b8dff949c1832ee GIT binary patch literal 29024 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesConsolidado.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesConsolidado.jrxml new file mode 100644 index 000000000..86ca873c7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesConsolidado.jrxml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + <band height="79" splitType="Stretch"> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="da52f710-3882-4beb-ba6f-870e03f6800d" mode="Transparent" x="0" y="0" width="180" 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> + <textField evaluationTime="Report" pattern="" isBlankWhenNull="false"> + <reportElement uuid="2f4f1314-9363-4e6d-822f-c85c1890998b" mode="Transparent" x="533" y="25" width="21" height="16" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Center" 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" mode="Transparent" x="450" y="42" width="104" 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="450" y="0" width="104" height="25" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" 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="265" 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="265" y="0" width="185" height="25"/> + <textElement textAlignment="Right"> + <font size="9" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.dataHora}]]></textFieldExpression> + </textField> + <line> + <reportElement uuid="3c577f75-c6d6-4c11-a846-bfe71a8a1b42" x="-1" y="58" width="554" height="1"/> + </line> + <textField isStretchWithOverflow="true"> + <reportElement uuid="aff6535e-c25b-4f31-ad3a-baacc52e4974" x="-1" y="59" width="555" height="15"/> + <textElement verticalAlignment="Middle"> + <font size="10"/> + </textElement> + <textFieldExpression><![CDATA[$P{FILTROS}]]></textFieldExpression> + </textField> + <line> + <reportElement uuid="84641d2c-21a5-47f0-b4a8-afe7bf700cb6" positionType="Float" x="-1" y="78" width="554" height="1"/> + </line> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesDetalhado.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesDetalhado.jasper new file mode 100644 index 0000000000000000000000000000000000000000..7791db663927ca6c2247bf6abe4416144cde3cb1 GIT binary patch literal 40664 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 H!}$LK4swaD literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesDetalhado.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesDetalhado.jrxml new file mode 100644 index 000000000..34301ee74 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCadastroClientesDetalhado.jrxml @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="79" splitType="Stretch"> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="da52f710-3882-4beb-ba6f-870e03f6800d" 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> + <textField evaluationTime="Report" pattern="" isBlankWhenNull="false"> + <reportElement uuid="2f4f1314-9363-4e6d-822f-c85c1890998b" mode="Transparent" x="811" y="25" width="21" height="16" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Center" 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" mode="Transparent" x="728" y="42" width="104" 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="728" y="0" width="104" height="25" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" 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="543" 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="543" y="0" width="185" height="25"/> + <textElement textAlignment="Right"> + <font size="9" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.dataHora}]]></textFieldExpression> + </textField> + <line> + <reportElement uuid="3c577f75-c6d6-4c11-a846-bfe71a8a1b42" x="-1" y="58" width="832" height="1"/> + </line> + <textField isStretchWithOverflow="true"> + <reportElement uuid="aff6535e-c25b-4f31-ad3a-baacc52e4974" x="-1" y="59" width="833" height="15"/> + <textElement verticalAlignment="Middle"> + <font size="10"/> + </textElement> + <textFieldExpression><![CDATA[$P{FILTROS}]]></textFieldExpression> + </textField> + <line> + <reportElement uuid="84641d2c-21a5-47f0-b4a8-afe7bf700cb6" positionType="Float" x="-1" y="78" width="832" height="1"/> + </line> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCadastroClienteController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCadastroClienteController.java new file mode 100644 index 000000000..2d2543cb8 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCadastroClienteController.java @@ -0,0 +1,161 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.text.SimpleDateFormat; +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 org.zkoss.zul.Radio; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioCadastroClientesDetalhado; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioCadastroClientesConsolidado; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; + +@Controller("relatorioCadastroClienteController") +@Scope("prototype") +public class RelatorioCadastroClienteController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + private Datebox dtCadastroInicial; + private Datebox dtCadastroFinal; + private MyComboboxEstandar cmbEmpresa; + private Combobox cmbPuntoVenta; + private Radio rdbConsolidado; + + private List lsEmpresa; + + @Autowired + private EmpresaService empresaService; + @Autowired + private DataSource dataSourceRead; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + Relatorio relatorio; + Map parametros = new HashMap(); + StringBuilder filtro = new StringBuilder(); + SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); + + if (!validar()) { + return; + } + + if (dtCadastroInicial.getValue() != null) { + filtro.append("Data Cadastro: ") + .append(format.format(dtCadastroInicial.getValue())) + .append(" - ") + .append(format.format(dtCadastroFinal.getValue())) + .append(";"); + } + + parametros.put("DATA_CADASTRO_INICIAL", (java.util.Date) dtCadastroInicial.getValue()); + parametros.put("DATA_CADASTRO_FINAL", (java.util.Date) dtCadastroFinal.getValue()); + + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioCadastroClientesController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("USUARIO_NOME", UsuarioLogado.getUsuarioLogado().getNombusuario()); + + filtro.append("Empresa: "); + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", empresa.getEmpresaId()); + filtro.append(empresa.getNombempresa() + ";"); + } else { + filtro.append(" Todas; "); + } + + filtro.append("Agência: "); + Comboitem itemPuntoVenta = cmbPuntoVenta.getSelectedItem(); + if (itemPuntoVenta != null) { + PuntoVenta puntoVenta = (PuntoVenta) itemPuntoVenta.getValue(); + parametros.put("PUNTOVENTA_ID", puntoVenta.getPuntoventaId()); + filtro.append(puntoVenta.getNombpuntoventa() + ";"); + } else { + filtro.append(" Todas; "); + } + + parametros.put("FILTROS", filtro.toString()); + + if (rdbConsolidado.isSelected()) { + relatorio = new RelatorioCadastroClientesConsolidado(parametros, dataSourceRead.getConnection()); + } else { + relatorio = new RelatorioCadastroClientesDetalhado(parametros, dataSourceRead.getConnection()); + } + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioHistoricoClientesController.window.title"), args, MODAL); + } + + private boolean validar() { + try { + if (dtCadastroInicial.getValue() == null || dtCadastroFinal.getValue() == null) { + Messagebox.show(Labels.getLabel("relatorioCadastroClientesController.MSG.informarDataCadastro"), + Labels.getLabel("relatorioCadastroClientesController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if(dtCadastroInicial.getValue().after(dtCadastroFinal.getValue())){ + Messagebox.show(Labels.getLabel("relatorioCadastroClientesController.MSG.dataInicialMaiorQueFinal"), + Labels.getLabel("relatorioCadastroClientesController.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 List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/sendaAmigo/EditarClienteController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/sendaAmigo/EditarClienteController.java index 2a29ae5b7..c67ab0372 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/sendaAmigo/EditarClienteController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/sendaAmigo/EditarClienteController.java @@ -2,6 +2,7 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.sendaAmigo; import java.util.ArrayList; import java.util.Calendar; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -804,7 +805,7 @@ public class EditarClienteController extends MyGenericForwardComposer { numtelefonodos.getValue(); cmbMotivacionViaje.getValue(); cmbOcupacion.getValue(); - + List lsCliente = clienteService.buscarPorDocumento(txtNumRfc.getValue()); if (lsCliente.size() > 1 || (lsCliente.size() == 1 && !lsCliente.get(0).getClienteId().equals(cliente.getClienteId()))) { @@ -851,6 +852,8 @@ public class EditarClienteController extends MyGenericForwardComposer { try { if (cliente.getClienteId() == null) { + cliente.setFecCadastro(new Date()); + if (cmbMotivacionViaje.getSelectedItem() != null) { cliente.setMotivoviajeId( (MotivoViaje) cmbMotivacionViaje.getSelectedItem().getValue()); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCadastroClientes.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCadastroClientes.java new file mode 100644 index 000000000..a9ee70e0f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCadastroClientes.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 ItemMenuRelatorioCadastroClientes extends DefaultItemMenuSistema { + + public ItemMenuRelatorioCadastroClientes() { + super("indexController.mniRelatorioCadastroClientes.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.CADASTROCLIENTES"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioCadastroClientes.zul", + Labels.getLabel("relatorioCadastroClientesController.window.title"), getArgs(), desktop); + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index a420fab66..d06c4f24f 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties @@ -125,6 +125,7 @@ analitico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.MenuA analitico.item=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.ItemMenuAnalitico analitico.gerenciais=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.SubMenuGerenciais analitico.gerenciais.segundaVia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSegundaVia +analitico.gerenciais.cadastroClientes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCadastroClientes analitico.gerenciais.historicoClientes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioHistoricoClientes analitico.gerenciais.aidfDetalhado=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAidfDetalhado analitico.gerenciais.cancelamentoAutomaticoECF=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCancelamentoAutomaticoECF diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderClienteFidelidade.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderClienteFidelidade.java index 3077d9fa7..709eade2c 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderClienteFidelidade.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderClienteFidelidade.java @@ -14,7 +14,7 @@ public class RenderClienteFidelidade implements ListitemRenderer { Listcell lc = new Listcell(clienteFidelidad.getClienteFidelidadId() == null ? "-" : clienteFidelidad.getClienteFidelidadId().toString()); lc.setParent(lstm); - if(clienteFidelidad.getTarjetaFidelidad() != null){ + if(clienteFidelidad.getTarjetaFidelidad() != null && clienteFidelidad.getTarjetaFidelidad().getNumTarjeta() != null){ lc = new Listcell(clienteFidelidad.getTarjetaFidelidad().getNumTarjeta().toString()); }else{ lc = new Listcell("-"); diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 281e31b3c..e8648f153 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -282,6 +282,7 @@ indexController.mniRelatorioTabelaPreco.label = Reporte de tabla de precios indexController.mniRelatorioAIDF.label = Reporte AIDF indexController.mniRelatorioAIDFDetalhado.label = Reporte Estoque indexController.mniRelatorioHistoricoClientes.label = Histórico Clientes +indexController.mniRelatorioCadastroClientes.label = Cadastro Clientes indexController.mniRelatorioSegundaVia.label = Segunda Via indexController.mniPrecoApanhe.label = Precio Apanhe indexController.mniRelatorioVendasPacotesResumido.label = Ventas de paquetes - Resumido @@ -483,6 +484,18 @@ relatorioHistoricoClientesController.MSG.informarDataVenda = Favor informar o pe relatorioHistoricoClientesController.MSG.informarDataEmbarque = Favor infromar o período completo de embarque. relatorioHistoricoClientesController.lblAgruparPorCliente.value = Agrupar por Cliente +#Relatorio Cadastro Clientes +relatorioCadastroClientesController.window.title = Relatório Cadastro de Clientes +relatorioCadastroClientesController.lblDataCadastroInicial.value = Data Cadastro Inicial +relatorioCadastroClientesController.lblDataCadastroFinal.value = Data Cadastro Final +relatorioCadastroClientesController.lblEmpresa.value = Empresa +relatorioCadastroClientesController.lblPuntoVenta.value = Agência +relatorioCadastroClientesController.lblTipoRelatorio = Tipo Relatório +relatorioCadastroClientesController.lblConsolidado.value = Consolidado +relatorioCadastroClientesController.lblDetalhado.value = Detalhado +relatorioCadastroClientesController.MSG.informarDataCadastro = Favor informar data de cadastro inicial e final. +relatorioCadastroClientesController.MSG.dataInicialMaiorQueFinal = Data de cadastro inicial não pode ser maior do que a final. + # Relatorio OCD Empresa relatorioOCDController.window.title=Reporte OCD por la empresa relatorioOCDController.lbEmpresa.value=Empresa @@ -6079,6 +6092,7 @@ editarClienteController.tab.label.curso = Curso editarClienteController.lbNumFidelidade.value= Numero de Fidelidade editarClienteController.empresa.value = Empresa +editarClienteController.empresaCadastro.value = Empresa Cadastro editarClienteController.btnAddNumFidelidade.tooltiptext = Adicionar editarClienteController.btnRemoveNumFidelidade.tooltiptext = Remover editarClienteController.msg.noEmpresa = Favor seleccionar una empresa diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 642efa40b..4f367d9c4 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -299,6 +299,7 @@ indexController.mniRelatorioTabelaPreco.label = Tabela de Preços indexController.mniRelatorioAIDF.label = AIDF indexController.mniRelatorioAIDFDetalhado.label = Relatório Estoque indexController.mniRelatorioHistoricoClientes.label = Histórico Clientes +indexController.mniRelatorioCadastroClientes.label = Cadastro Clientes indexController.mniRelatorioConsultaAntt.label= Consulta ANTT indexController.mniRelatorioSegundaVia.label = Segunda Via indexController.mniPrecoApanhe.label = Preço Apanhe @@ -508,6 +509,18 @@ relatorioHistoricoClientesController.MSG.informarDataVenda = Favor informar o pe relatorioHistoricoClientesController.MSG.informarDataEmbarque = Favor infromar o período completo de embarque. relatorioHistoricoClientesController.lblAgruparPorCliente.value = Agrupar por Cliente +#Relatorio Cadastro Clientes +relatorioCadastroClientesController.window.title = Relatório Cadastro de Clientes +relatorioCadastroClientesController.lblDataCadastroInicial.value = Data Cadastro Inicial +relatorioCadastroClientesController.lblDataCadastroFinal.value = Data Cadastro Final +relatorioCadastroClientesController.lblEmpresa.value = Empresa +relatorioCadastroClientesController.lblPuntoVenta.value = Agência +relatorioCadastroClientesController.lblTipoRelatorio = Tipo Relatório +relatorioCadastroClientesController.lblConsolidado.value = Consolidado +relatorioCadastroClientesController.lblDetalhado.value = Detalhado +relatorioCadastroClientesController.MSG.informarDataCadastro = Favor informar data de cadastro inicial e final. +relatorioCadastroClientesController.MSG.dataInicialMaiorQueFinal = Data de cadastro inicial não pode ser maior do que a final. + # Relatorio OCD Empresa relatorioOCDController.window.title=Relatório OCD por Empresa relatorioOCDController.lbEmpresa.value=Empresa @@ -6331,6 +6344,7 @@ editarClienteController.tab.label.curso = Curso editarClienteController.lbNumFidelidade.value= Número de Fidelidade editarClienteController.empresa.value = Empresa +editarClienteController.empresaCadastro.value = Empresa Cadastro editarClienteController.btnAddNumFidelidade.tooltiptext = Adicionar editarClienteController.btnRemoveNumFidelidade.tooltiptext = Remover editarClienteController.msg.noEmpresa = Favor selecionar uma empresa diff --git a/web/gui/relatorios/filtroRelatorioCadastroClientes.zul b/web/gui/relatorios/filtroRelatorioCadastroClientes.zul new file mode 100644 index 000000000..c08938f75 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioCadastroClientes.zul @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +