From 7ee55105e545c2d738afef8696888246abf2bd30 Mon Sep 17 00:00:00 2001 From: "igor.rodrigo" Date: Wed, 20 Apr 2016 14:33:04 +0000 Subject: [PATCH] fixes bug 7352 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@55127 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/impl/RelatorioCarteirinha.java | 115 +++++++++++++ .../RelatorioCarteirinha_es.properties | 8 + .../RelatorioCarteirinha_pt.properties | 8 + .../templates/RelatorioCarteirinha.jasper | Bin 0 -> 28687 bytes .../templates/RelatorioCarteirinha.jrxml | 158 ++++++++++++++++++ .../RelatorioCarteirinhaController.java | 100 +++++++++++ .../item/relatorios/ItemMenuCarteirinha.java | 25 +++ web/WEB-INF/i3-label_es_MX.label | 8 + web/WEB-INF/i3-label_pt_BR.label | 10 ++ web/gui/relatorios/filtroCarteirinha.zul | 35 ++++ 10 files changed, 467 insertions(+) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCarteirinha.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_pt.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCarteirinhaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuCarteirinha.java create mode 100644 web/gui/relatorios/filtroCarteirinha.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCarteirinha.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCarteirinha.java new file mode 100644 index 000000000..02196b327 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCarteirinha.java @@ -0,0 +1,115 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.imageio.ImageIO; + +import org.slf4j.Logger; + +import com.rjconsultores.ventaboletos.dao.hibernate.CajaHibernateDAO; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioCarteirinha extends Relatorio { + + private static Logger log = org.slf4j.LoggerFactory.getLogger(RelatorioCarteirinha.class); + + public RelatorioCarteirinha(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + this.setCustomDataSource(new ArrayDataSource(this) { + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + buscarDadosEmpresa(conexao, this.dados, this.resultSet); + } + }); + } + + @Override + protected void processaParametros() throws Exception { + } + + private void buscarDadosEmpresa(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 "); + sqlLogoEmpresa.append(" INNER JOIN EMPRESA E ON M.EMPRESA_ID = E.EMPRESA_ID "); + sqlLogoEmpresa.append(" INNER JOIN CIUDAD C ON E.CIUDAD_ID = C.CIUDAD_ID "); + sqlLogoEmpresa.append(" INNER JOIN ESTADO ES ON ES.ESTADO_ID = C.ESTADO_ID "); + sqlLogoEmpresa.append(" INNER JOIN INSCRICAO_ESTADUAL IE ON IE.EMPRESA_ID = E.EMPRESA_ID "); + 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(); + 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); + } + 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 String contruirStringCnpjIEstadual(ResultSet rset) throws SQLException { + StringBuilder cnpjIEstadualEmpresa = new StringBuilder(); + cnpjIEstadualEmpresa.append("CNPJ "); + cnpjIEstadualEmpresa.append(rset.getString("CNPJ")); + cnpjIEstadualEmpresa.append(" - "); + cnpjIEstadualEmpresa.append("Inscr. Estadual "); + cnpjIEstadualEmpresa.append(rset.getString("NUMINSCRICAOESTADUAL")); + return cnpjIEstadualEmpresa.toString(); + } + + private String construirStringCepTelefone(ResultSet rset) throws SQLException { + StringBuilder cepTelefoneEmpresa = new StringBuilder(); + cepTelefoneEmpresa.append("CEP "); + cepTelefoneEmpresa.append(rset.getString("CEP")); + cepTelefoneEmpresa.append(" - "); + cepTelefoneEmpresa.append("Fone "); + cepTelefoneEmpresa.append(rset.getString("NUMTELEFONO")); + return cepTelefoneEmpresa.toString(); + } + + private String construirStringEnderecoCompleto(ResultSet rset) throws SQLException { + StringBuilder enderecoCompleto = new StringBuilder(); + enderecoCompleto.append(rset.getString("LOGRADOURO")); + enderecoCompleto.append(", "); + enderecoCompleto.append(rset.getString("NUMERO")); + enderecoCompleto.append(" - "); + enderecoCompleto.append(rset.getString("BAIRRO")); + enderecoCompleto.append(" - "); + enderecoCompleto.append(rset.getString("NOMBCIUDAD")); + enderecoCompleto.append(" - "); + enderecoCompleto.append(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 new file mode 100644 index 000000000..a2300834e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_es.properties @@ -0,0 +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.assinatura = Assinatura +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 new file mode 100644 index 000000000..a2300834e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCarteirinha_pt.properties @@ -0,0 +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.assinatura = Assinatura +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 new file mode 100644 index 0000000000000000000000000000000000000000..2dbca29f718e07fb13fc350437ee0a6490b98796 GIT binary patch literal 28687 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jrxml new file mode 100644 index 000000000..d9b7c987f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCarteirinha.jrxml @@ -0,0 +1,158 @@ + + + + + +