From 47fac3416b602705dcdea6e7dd66ee6114e4ff75 Mon Sep 17 00:00:00 2001 From: "igor.rodrigo" Date: Mon, 2 May 2016 20:21:30 +0000 Subject: [PATCH] fixes bug 7395 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@55461 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/impl/RelatorioCarteirinha.java | 144 ++++++++++--- .../RelatorioCarteirinha_es.properties | 12 +- .../RelatorioCarteirinha_pt.properties | 12 +- .../templates/RelatorioCarteirinha.jasper | Bin 28687 -> 32711 bytes .../templates/RelatorioCarteirinha.jrxml | 189 +++++++++++------- .../RelatorioCarteirinhaController.java | 102 +++++++++- .../render/RenderClienteCarteirinha.java | 70 +++++++ .../render/RenderClienteCarteirinhaSel.java | 94 +++++++++ web/WEB-INF/i3-label_es_MX.label | 9 +- web/WEB-INF/i3-label_pt_BR.label | 10 +- web/gui/relatorios/filtroCarteirinha.zul | 71 ++++++- 11 files changed, 586 insertions(+), 127 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderClienteCarteirinha.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderClienteCarteirinhaSel.java diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCarteirinha.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCarteirinha.java index 02196b327..ee33eac84 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCarteirinha.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCarteirinha.java @@ -6,6 +6,7 @@ import java.io.InputStream; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.Calendar; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -14,7 +15,10 @@ import javax.imageio.ImageIO; import org.slf4j.Logger; -import com.rjconsultores.ventaboletos.dao.hibernate.CajaHibernateDAO; +import com.rjconsultores.ventaboletos.entidad.Cliente; +import com.rjconsultores.ventaboletos.entidad.ClienteDescuento; +import com.rjconsultores.ventaboletos.entidad.ClienteDireccion; +import com.rjconsultores.ventaboletos.entidad.ClienteFidelidad; import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; @@ -23,12 +27,16 @@ public class RelatorioCarteirinha extends Relatorio { private static Logger log = org.slf4j.LoggerFactory.getLogger(RelatorioCarteirinha.class); - public RelatorioCarteirinha(Map parametros, Connection conexao) throws Exception { + private List clientes; + + + public RelatorioCarteirinha(Map parametros, final List lsClienteSelecionados, Connection conexao) throws Exception { super(parametros, conexao); + this.clientes = lsClienteSelecionados; this.setCustomDataSource(new ArrayDataSource(this) { public void initDados() throws Exception { Connection conexao = this.relatorio.getConexao(); - buscarDadosEmpresa(conexao, this.dados, this.resultSet); + buscarDados(conexao, this.dados, this.resultSet); } }); } @@ -37,8 +45,8 @@ public class RelatorioCarteirinha extends Relatorio { protected void processaParametros() throws Exception { } - private void buscarDadosEmpresa(Connection conexao, List> dados, ResultSet resultSet) throws SQLException { - StringBuilder sqlLogoEmpresa = new StringBuilder(); + private void buscarDados(Connection conexao, List> dados, ResultSet resultSet) throws SQLException { + StringBuilder sqlLogoEmpresa = new StringBuilder(); sqlLogoEmpresa.append(" SELECT IE.NUMINSCRICAOESTADUAL, M.LOGOTIPOMARCA, E.LOGRADOURO, M.DESCMARCA, E.BAIRRO, "); sqlLogoEmpresa.append(" C.NOMBCIUDAD, ES.NOMBESTADO, E.CEP, E.NUMTELEFONO, E.NUMERO, E.CNPJ "); sqlLogoEmpresa.append(" FROM MARCA M "); @@ -49,67 +57,143 @@ public class RelatorioCarteirinha extends Relatorio { sqlLogoEmpresa.append(" WHERE M.EMPRESA_ID = :empresaId "); sqlLogoEmpresa.append(" AND C.ESTADO_ID = IE.ESTADO_ID "); sqlLogoEmpresa.append(" AND LOGOTIPOMARCA IS NOT NULL "); + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sqlLogoEmpresa.toString()); stmt.setInt("empresaId", Integer.valueOf(parametros.get("EMPRESA_ID").toString())); ResultSet rset = stmt.executeQuery(); - while (rset.next()) { - Map dataResult = new HashMap(); + if (rset.next()) { InputStream blob = rset.getBinaryStream("LOGOTIPOMARCA"); BufferedImage image = null; try { image = ImageIO.read(blob); } catch (IOException e) { log.error("", e); - } - dataResult.put("logomarca", image); - dataResult.put("nomeEmpresa", rset.getString("DESCMARCA")); - dataResult.put("enderecoEmpresa" , construirStringEnderecoCompleto(rset)); - dataResult.put("cepTelefoneEmpresa", construirStringCepTelefone(rset)); - dataResult.put("cnpjIEstadualEmpresa", contruirStringCnpjIEstadual(rset)); - dataResult.put("local", rset.getString("NOMBCIUDAD")); - imprimirQuantidadePorPagina(dados, dataResult); + } + for(int i = 0; i < clientes.size(); i++){ + Map dataResult = new HashMap(); + preencherDadosCliente(i, dataResult); + preencherDadosEmpresa(dados, rset, image, dataResult); + } } resultSet = rset; } - private void imprimirQuantidadePorPagina(List> dados, Map dataResult) { - final Integer QUANTIDADE_POR_PAGINA = 8; - for(int i = 0; i < QUANTIDADE_POR_PAGINA; i++){ - dados.add(dataResult); + private void preencherDadosEmpresa(List> dados, ResultSet rset, BufferedImage image, Map dataResult) throws SQLException { + dataResult.put("logomarca", image); + dataResult.put("nomeEmpresa", rset.getString("DESCMARCA") != null ? rset.getString("DESCMARCA") : ""); + dataResult.put("enderecoEmpresa" , construirStringEnderecoCompletoEmpresa(rset)); + dataResult.put("cepTelefoneEmpresa", construirStringCepTelefoneEmpresa(rset)); + dataResult.put("cnpjIEstadualEmpresa", contruirStringCnpjIEstadual(rset)); + dataResult.put("local", rset.getString("NOMBCIUDAD") != null ? rset.getString("NOMBCIUDAD") + "," : ""); + dados.add(dataResult); + } + + private void preencherDadosCliente(int i, Map dataResult) { + + String numeroFidelidade = null; + + for(ClienteFidelidad clienteFidelidad : clientes.get(i).getListClienteFidelidadActivos()){ + clienteFidelidad.getEmpresa().getEmpresaId().equals(clientes.get(i)); + } + + if(clientes.get(i).getListClienteFidelidadActivos() != null && clientes.get(i).getListClienteFidelidadActivos().size() > 0){ + numeroFidelidade = clientes.get(i).getListClienteFidelidadActivos().get(0).getTarjetaFidelidad().getNumTarjeta().toString(); } + + dataResult.put("numeroCliente", numeroFidelidade != null? numeroFidelidade : ""); + dataResult.put("nomeCliente", clientes.get(i).getNombcliente()); + + if(clientes.get(i).getLsClienteDireccion() != null && clientes.get(i).getLsClienteDireccion().size() > 0){ + ClienteDireccion clienteDireccion = clientes.get(i).getLsClienteDireccion().get(0); + dataResult.put("enderecoCliente", construirStringEnderecoCompletoCliente(clienteDireccion)); + }else{ + dataResult.put("enderecoCliente", ""); + } + + if(clientes.get(i).getEscola() != null){ + dataResult.put("escola", clientes.get(i).getEscola().getNombescola()); + }else{ + dataResult.put("escola", ""); + } + + if(clientes.get(i).getLsClienteDescuento() != null && clientes.get(i).getLsClienteDescuento().size() > 0){ + StringBuilder trechosDescuento = new StringBuilder(); + for(ClienteDescuento clienteDescuento : clientes.get(i).getLsClienteDescuento()){ + trechosDescuento.append(clienteDescuento.getOrigem().getCveparada()); + trechosDescuento.append(" -> "); + trechosDescuento.append(clienteDescuento.getDestino().getCveparada()); + trechosDescuento.append(","); + } + trechosDescuento.deleteCharAt(trechosDescuento.length()-1); + dataResult.put("trajeto", trechosDescuento.toString()); + }else{ + dataResult.put("trajeto", ""); + } + + preecherDataAtual(dataResult); + + } + + private void preecherDataAtual(Map dataResult) { + Calendar calendarDataAtual = Calendar.getInstance(); + Integer diaAtual = calendarDataAtual.get(Calendar.DAY_OF_MONTH); + Integer anoAtual = calendarDataAtual.get(Calendar.YEAR); + String meses[] = {"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", + "Novembro", "Dezembro"}; + String mesAtual = meses[calendarDataAtual.get(Calendar.MONTH)]; + dataResult.put("dia", diaAtual.toString()); + dataResult.put("mes", mesAtual); + dataResult.put("ano", anoAtual.toString()); + } + + private String construirStringEnderecoCompletoCliente(ClienteDireccion clienteDireccion) { + StringBuilder enderecoCompletoCliente = new StringBuilder(); + enderecoCompletoCliente.append(clienteDireccion.getDesccallecomp() != null ? clienteDireccion.getDesccallecomp(): " "); + enderecoCompletoCliente.append(" "); + enderecoCompletoCliente.append(clienteDireccion.getDesccalle() != null ? clienteDireccion.getDesccalle(): " " ); + enderecoCompletoCliente.append(" "); + enderecoCompletoCliente.append("Nº "); + enderecoCompletoCliente.append(clienteDireccion.getNumexterior() != null ? clienteDireccion.getNumexterior(): " "); + enderecoCompletoCliente.append(", BAIRRO "); + enderecoCompletoCliente.append(clienteDireccion.getDesccolonia() != null ? clienteDireccion.getDesccolonia(): " " ); + enderecoCompletoCliente.append(", "); + enderecoCompletoCliente.append(clienteDireccion.getDesciudad() != null ? clienteDireccion.getDesciudad(): " "); + enderecoCompletoCliente.append("-"); + enderecoCompletoCliente.append(clienteDireccion.getDesestado() != null ? clienteDireccion.getDesestado() : " "); + return enderecoCompletoCliente.toString(); } private String contruirStringCnpjIEstadual(ResultSet rset) throws SQLException { StringBuilder cnpjIEstadualEmpresa = new StringBuilder(); cnpjIEstadualEmpresa.append("CNPJ "); - cnpjIEstadualEmpresa.append(rset.getString("CNPJ")); + cnpjIEstadualEmpresa.append(rset.getString("CNPJ") != null ? rset.getString("CNPJ") : "" ); cnpjIEstadualEmpresa.append(" - "); cnpjIEstadualEmpresa.append("Inscr. Estadual "); - cnpjIEstadualEmpresa.append(rset.getString("NUMINSCRICAOESTADUAL")); + cnpjIEstadualEmpresa.append(rset.getString("NUMINSCRICAOESTADUAL") != null ? rset.getString("NUMINSCRICAOESTADUAL") : "" ); return cnpjIEstadualEmpresa.toString(); } - private String construirStringCepTelefone(ResultSet rset) throws SQLException { + private String construirStringCepTelefoneEmpresa(ResultSet rset) throws SQLException { StringBuilder cepTelefoneEmpresa = new StringBuilder(); cepTelefoneEmpresa.append("CEP "); - cepTelefoneEmpresa.append(rset.getString("CEP")); + cepTelefoneEmpresa.append(rset.getString("CEP") != null ? rset.getString("CEP") : ""); cepTelefoneEmpresa.append(" - "); cepTelefoneEmpresa.append("Fone "); - cepTelefoneEmpresa.append(rset.getString("NUMTELEFONO")); + cepTelefoneEmpresa.append(rset.getString("NUMTELEFONO") != null ? rset.getString("NUMTELEFONO") : "" ); return cepTelefoneEmpresa.toString(); } - private String construirStringEnderecoCompleto(ResultSet rset) throws SQLException { + private String construirStringEnderecoCompletoEmpresa(ResultSet rset) throws SQLException { StringBuilder enderecoCompleto = new StringBuilder(); - enderecoCompleto.append(rset.getString("LOGRADOURO")); + enderecoCompleto.append(rset.getString("LOGRADOURO") != null ? rset.getString("LOGRADOURO") : "" ); enderecoCompleto.append(", "); - enderecoCompleto.append(rset.getString("NUMERO")); + enderecoCompleto.append(rset.getString("NUMERO") != null ? rset.getString("NUMERO") : ""); enderecoCompleto.append(" - "); - enderecoCompleto.append(rset.getString("BAIRRO")); + enderecoCompleto.append(rset.getString("BAIRRO") != null ? rset.getString("BAIRRO") : ""); enderecoCompleto.append(" - "); - enderecoCompleto.append(rset.getString("NOMBCIUDAD")); + enderecoCompleto.append(rset.getString("NOMBCIUDAD") != null ? rset.getString("NOMBCIUDAD") : ""); enderecoCompleto.append(" - "); - enderecoCompleto.append(rset.getString("NOMBESTADO")); + enderecoCompleto.append(rset.getString("NOMBESTADO") != null ? rset.getString("NOMBESTADO") : "" ); return enderecoCompleto.toString(); } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_es.properties index a2300834e..78df384e4 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_es.properties @@ -1,8 +1,8 @@ label.titulo=CARTEIRA DE IDENTIFICAÇÃO - PASSE ESCOLAR -label.numero = Nº -label.nome = Nome -label.endereco = Endereço -label.escola = Escola -label.trajeto = Trajeto +label.numero = Nº: +label.nome = Nome: +label.endereco = Endereço: +label.escola = Escola: +label.trajeto = Trajeto: label.assinatura = Assinatura -label.de = De \ No newline at end of file +label.de = de \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_pt.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_pt.properties index a2300834e..78df384e4 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_pt.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_pt.properties @@ -1,8 +1,8 @@ label.titulo=CARTEIRA DE IDENTIFICAÇÃO - PASSE ESCOLAR -label.numero = Nº -label.nome = Nome -label.endereco = Endereço -label.escola = Escola -label.trajeto = Trajeto +label.numero = Nº: +label.nome = Nome: +label.endereco = Endereço: +label.escola = Escola: +label.trajeto = Trajeto: label.assinatura = Assinatura -label.de = De \ No newline at end of file +label.de = de \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jasper index 2dbca29f718e07fb13fc350437ee0a6490b98796..bb6e45b9c1819cba5cc100ceba9bfffb39c2597a 100644 GIT binary patch literal 32711 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jrxml index d9b7c987f..830efe6ef 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jrxml @@ -1,8 +1,8 @@ - - - + + +