From 1a531e3d4ff55aa37039c63976c20403effe20cc Mon Sep 17 00:00:00 2001 From: "lucas.taia" Date: Wed, 25 Mar 2015 19:53:57 +0000 Subject: [PATCH] desenvolvimento relatorio (fixes bug 6116) git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@42522 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioAgenciaFechamento.java | 258 +++++++++++++ .../RelatorioAgenciaFechamento_es .properties | 22 ++ ...elatorioAgenciaFechamento_pt_BR.properties | 22 ++ .../RelatorioAgenciaFechamento.jasper | Bin 0 -> 40876 bytes .../RelatorioAgenciaFechamento.jrxml | 345 ++++++++++++++++++ .../RelatorioAgenciaFechamentoBean.java | 123 +++++++ .../RelatorioAgenciaFechamentoController.java | 94 +++++ .../ItemMenuRelatorioAgenciaFechamento.java | 25 ++ web/WEB-INF/i3-label_es_MX.label | 2 + web/WEB-INF/i3-label_pt_BR.label | 2 + .../filtroRelatorioAgenciaFechamento.zul | 49 +++ 11 files changed, 942 insertions(+) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es .properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciaFechamentoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioAgenciaFechamento.java create mode 100644 web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java new file mode 100644 index 000000000..632a7b1fa --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java @@ -0,0 +1,258 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.math.NumberUtils; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAgenciaFechamentoBean; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioAgenciaFechamento extends Relatorio { + + private List lsDadosRelatorio; + + public RelatorioAgenciaFechamento(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 fecInicio = parametros.get("fecInicio").toString() + " 00:00:00"; + String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59"; + String empresa = parametros.get("empresa") != null ? parametros.get("empresa").toString() : ""; + + String sql = carregaAgenciasComVenda(); + String nomeEmpresa = null; + + System.out.println(sql); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + ResultSet rset = null; + + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); + stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); + stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); + if (empresa != null && !empresa.equals("")){ + stmt.setInt("empresaId", Integer.parseInt(empresa)); + } + rset = stmt.executeQuery(); + + lsDadosRelatorio = new ArrayList(); + List puntoVentas = new ArrayList(); + + while (rset.next()) { + puntoVentas.add(rset.getInt("PUNTOVENTA_ID")); + } + + stmt = new NamedParameterStatement(conexao, carregarNomeEmpresa()); + if (empresa != null && !empresa.equals("")){ + stmt.setInt("empresaId", Integer.parseInt(empresa)); + } + + rset = stmt.executeQuery(); + + while (rset.next()) { + nomeEmpresa = rset.getString("NOMBEMPRESA"); + } + + for (Iterator iterator = puntoVentas.iterator(); iterator.hasNext();) { + + RelatorioAgenciaFechamentoBean agenciaFechamento = new RelatorioAgenciaFechamentoBean(); + Boolean existeRegistro = Boolean.FALSE; + + Integer integer = (Integer) iterator.next(); + BigDecimal total = BigDecimal.ZERO; + BigDecimal vendido = BigDecimal.ZERO; + + stmt = new NamedParameterStatement(conexao, carregarDadosTotaisdeVenda()); + stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); + stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); + stmt.setInt("puntoVentaId", integer); + if (empresa != null && !empresa.equals("")){ + stmt.setInt("empresaId", Integer.parseInt(empresa)); + } + + System.out.println(carregarDadosTotaisdeVenda()); + + rset = stmt.executeQuery(); + + while (rset.next()) { + + existeRegistro = Boolean.TRUE; + + Integer qtdevendido = rset.getInt("qtdevendido"); + Integer qtdedigitado = rset.getInt("qtdedigitado"); + Integer qtdeAnulado = rset.getInt("qtdeAnulado"); + Integer qtdeDevolvido = rset.getInt("qtdeDevolvido"); + Integer qtdeTotal = null; + + vendido = rset.getBigDecimal("vendido"); + BigDecimal digitado = rset.getBigDecimal("digitado"); + BigDecimal anulado = rset.getBigDecimal("anulado"); + BigDecimal devolvido = rset.getBigDecimal("devolvido"); + + agenciaFechamento.setEmpresa(nomeEmpresa); + + agenciaFechamento.setCodigo(rset.getString("codigo")); + agenciaFechamento.setDescricao(rset.getString("descricao")); + + agenciaFechamento.setQtdeVendido(qtdevendido != null ? qtdevendido : NumberUtils.INTEGER_ZERO); + agenciaFechamento.setQtdeDigitado(qtdedigitado != null ? qtdedigitado : NumberUtils.INTEGER_ZERO); + agenciaFechamento.setQtdeAnulado(qtdeAnulado != null ? qtdeAnulado : NumberUtils.INTEGER_ZERO); + agenciaFechamento.setQtdeDevolvido(qtdeDevolvido != null ? qtdeDevolvido : NumberUtils.INTEGER_ZERO); + + qtdeTotal = ((qtdevendido != null ? qtdevendido : NumberUtils.INTEGER_ZERO)+(qtdedigitado != null ? qtdedigitado : NumberUtils.INTEGER_ZERO)) + - ((qtdeAnulado != null ? qtdeAnulado : NumberUtils.INTEGER_ZERO)+(qtdeDevolvido != null ? qtdeDevolvido : NumberUtils.INTEGER_ZERO)); + + agenciaFechamento.setQtdeTotal(qtdeTotal); + + agenciaFechamento.setDigitado(digitado != null ? digitado : BigDecimal.ZERO); + agenciaFechamento.setAnulado(anulado != null ? anulado : BigDecimal.ZERO); + agenciaFechamento.setDevolvido(devolvido != null ? devolvido : BigDecimal.ZERO); + + total = total.add(vendido != null ? vendido : BigDecimal.ZERO); + total = total.add(digitado != null ? digitado : BigDecimal.ZERO); + total = total.subtract(anulado != null ? anulado : BigDecimal.ZERO); + total = total.subtract(devolvido != null ? devolvido : BigDecimal.ZERO); + + agenciaFechamento.setTotal(total); + + } + + if(existeRegistro){ + + stmt = new NamedParameterStatement(conexao, carregarDadosReceitaDespesa()); + stmt.setTimestamp("de", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); + stmt.setTimestamp("ate", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); + stmt.setInt("puntoVentaId", integer); + if (empresa != null && !empresa.equals("")){ + stmt.setInt("empresaId", Integer.parseInt(empresa)); + } + rset = stmt.executeQuery(); + + while (rset.next()) { + + Integer qtdedespesa = rset.getInt("qtdedespesa"); + BigDecimal receita = rset.getBigDecimal("receita"); + BigDecimal despesa = rset.getBigDecimal("despesa"); + + agenciaFechamento.setQtdeDespesa(qtdedespesa != null ? qtdedespesa : NumberUtils.INTEGER_ZERO); + agenciaFechamento.setReceita(receita != null ? receita : BigDecimal.ZERO); + agenciaFechamento.setDespesa(despesa != null ? despesa : BigDecimal.ZERO); + + vendido = vendido.add(receita != null ? receita : BigDecimal.ZERO); + vendido = vendido.subtract(despesa != null ? despesa : BigDecimal.ZERO); + + agenciaFechamento.setVendido(vendido != null ? vendido : BigDecimal.ZERO); + + } + + lsDadosRelatorio.add(agenciaFechamento); + } + + } + + if (lsDadosRelatorio.size() > 0) { + + setLsDadosRelatorio(lsDadosRelatorio); + } + } + }); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + @Override + protected void processaParametros() throws Exception { + } + + private String carregarDadosTotaisdeVenda() { + + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT pv.PUNTOVENTA_ID as codigo, "); + sql.append(" pv.nombpuntoventa descricao, "); + sql.append(" COUNT(case when b.motivocancelacion_id is null then 1 else null end) as qtdevendido, "); + sql.append(" 0 as qtdedigitado, "); + sql.append(" count(case when b.motivocancelacion_id = 31 then 1 else null end) as qtdeAnulado, "); + sql.append(" count(case when b.motivocancelacion_id = 32 then 1 else null end) as qtdeDevolvido, "); + sql.append(" SUM(case when b.motivocancelacion_id is null then b.preciobase + b.importetaxaembarque + b.importepedagio + b.importeseguro + b.importeoutros else 0 END) as vendido, "); + sql.append(" 0 as digitado, "); + sql.append(" SUM(case when b.motivocancelacion_id = 31 then b.preciobase + b.importetaxaembarque + b.importepedagio + b.importeseguro + b.importeoutros ELSE 0 END) anulado, "); + sql.append(" SUM(case when b.motivocancelacion_id = 32 then b.preciobase + b.importetaxaembarque + b.importepedagio + b.importeseguro + b.importeoutros ELSE 0 END) devolvido "); + sql.append(" FROM boleto b "); + sql.append(" INNER JOIN PUNTO_VENTA pv ON b.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); + sql.append(" WHERE b.motivoreimpresion_id IS NULL "); + sql.append(" AND b.boletooriginal_id IS NULL "); + sql.append(" AND b.activo = 1 "); + sql.append(" AND b.fechorventa BETWEEN :de AND :ate "); + sql.append(" AND b.puntoventa_id=:puntoVentaId "); + sql.append(" AND b.empresacorrida_id=:empresaId "); + sql.append(" GROUP BY pv.PUNTOVENTA_ID , pv.nombpuntoventa "); + sql.append(" ORDER BY pv.PUNTOVENTA_ID , pv.nombpuntoventa "); + + return sql.toString(); + + } + + private String carregaAgenciasComVenda() { + + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT DISTINCT cc.PUNTOVENTA_ID "); + sql.append(" FROM CONTA_CORRENTE_PTOVTA cc "); + sql.append(" WHERE cc.FECHOROPERACION BETWEEN :de AND :ate "); + sql.append(" and cc.EMPRESA_ID = :empresaId "); + + return sql.toString(); + + } + + private String carregarDadosReceitaDespesa() { + + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT "); + sql.append(" COUNT(CASE WHEN ee.IMPINGRESO < 0 THEN 1 ELSE NULL END) as qtdedespesa, "); + sql.append(" SUM(CASE WHEN ee.IMPINGRESO > 0 THEN ee.IMPINGRESO ELSE 0 END) AS receita, "); + sql.append(" ABS(SUM(CASE WHEN ee.IMPINGRESO < 0 THEN ee.IMPINGRESO ELSE 0 END)) AS despesa "); + sql.append(" FROM evento_extra ee "); + sql.append(" INNER JOIN tipo_evento_extra tee ON ee.TIPOEVENTOEXTRA_ID = tee.TIPOEVENTOEXTRA_ID "); + sql.append(" WHERE ee.activo=1 AND ee.EMPRESA_ID=:empresaId AND ee.PUNTOVENTA_ID=:puntoVentaId "); + sql.append(" AND ee.FECHORINGRESO BETWEEN :de AND :ate "); + + return sql.toString(); + + } + + private String carregarNomeEmpresa() { + + StringBuilder sql = new StringBuilder(); + sql.append(" SELECT "); + sql.append(" NOMBEMPRESA "); + sql.append(" FROM EMPRESA "); + sql.append(" WHERE EMPRESA_ID=:empresaId "); + + return sql.toString(); + + } + + + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es .properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es .properties new file mode 100644 index 000000000..15e87882f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es .properties @@ -0,0 +1,22 @@ +#geral +msg.noData=No se pudo obtener datos con los parámetros reportados. +msg.a=a + +#Labels header +header.data=Data : +header.empresa=Empresa : +header.codigo=Código +header.descricao=Descrição +header.vendido=Vendido +header.digitado=Digitado +header.anulado=Anulados +header.devolvido=Devolvidos +header.receita=Receita +header.despesa=Despesa +header.total=Total + +detail.agencia=AGÊNCIA +detail.quantidade=QUANTIDADE +detail.valor=VALOR + +linhas=Linhas \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties new file mode 100644 index 000000000..15e87882f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties @@ -0,0 +1,22 @@ +#geral +msg.noData=No se pudo obtener datos con los parámetros reportados. +msg.a=a + +#Labels header +header.data=Data : +header.empresa=Empresa : +header.codigo=Código +header.descricao=Descrição +header.vendido=Vendido +header.digitado=Digitado +header.anulado=Anulados +header.devolvido=Devolvidos +header.receita=Receita +header.despesa=Despesa +header.total=Total + +detail.agencia=AGÊNCIA +detail.quantidade=QUANTIDADE +detail.valor=VALOR + +linhas=Linhas \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioAgenciaFechamento.jasper new file mode 100644 index 0000000000000000000000000000000000000000..9fd1913032781647d4afbc4d13cfac8b147d48aa GIT binary patch literal 40876 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoBean.java new file mode 100644 index 000000000..115f15656 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioAgenciaFechamentoBean.java @@ -0,0 +1,123 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.math.BigDecimal; + +public class RelatorioAgenciaFechamentoBean { + protected String empresa; + protected String codigo; + protected String descricao; + protected Integer qtdeVendido; + protected Integer qtdeDigitado; + protected Integer qtdeAnulado; + protected Integer qtdeDevolvido; + protected Integer qtdeDespesa; + protected Integer qtdeTotal; + + protected BigDecimal vendido; + protected BigDecimal digitado; + protected BigDecimal anulado; + protected BigDecimal devolvido; + protected BigDecimal receita; + protected BigDecimal despesa; + protected BigDecimal total; + + public String getEmpresa() { + return empresa; + } + public void setEmpresa(String empresa) { + this.empresa = empresa; + } + + public String getCodigo() { + return codigo; + } + public void setCodigo(String codigo) { + this.codigo = codigo; + } + public String getDescricao() { + return descricao; + } + public void setDescricao(String descricao) { + this.descricao = descricao; + } + public Integer getQtdeVendido() { + return qtdeVendido; + } + public void setQtdeVendido(Integer qtdeVendido) { + this.qtdeVendido = qtdeVendido; + } + + public Integer getQtdeDigitado() { + return qtdeDigitado; + } + public void setQtdeDigitado(Integer qtdeDigitado) { + this.qtdeDigitado = qtdeDigitado; + } + public Integer getQtdeAnulado() { + return qtdeAnulado; + } + public void setQtdeAnulado(Integer qtdeAnulado) { + this.qtdeAnulado = qtdeAnulado; + } + public Integer getQtdeDevolvido() { + return qtdeDevolvido; + } + public void setQtdeDevolvido(Integer qtdeDevolvido) { + this.qtdeDevolvido = qtdeDevolvido; + } + public Integer getQtdeDespesa() { + return qtdeDespesa; + } + public void setQtdeDespesa(Integer qtdeDespesa) { + this.qtdeDespesa = qtdeDespesa; + } + public BigDecimal getVendido() { + return vendido; + } + public void setVendido(BigDecimal vendido) { + this.vendido = vendido; + } + public BigDecimal getDigitado() { + return digitado; + } + public void setDigitado(BigDecimal digitado) { + this.digitado = digitado; + } + public BigDecimal getAnulado() { + return anulado; + } + public void setAnulado(BigDecimal anulado) { + this.anulado = anulado; + } + public BigDecimal getDevolvido() { + return devolvido; + } + public void setDevolvido(BigDecimal devolvido) { + this.devolvido = devolvido; + } + public BigDecimal getReceita() { + return receita; + } + public void setReceita(BigDecimal receita) { + this.receita = receita; + } + public BigDecimal getDespesa() { + return despesa; + } + public void setDespesa(BigDecimal despesa) { + this.despesa = despesa; + } + public Integer getQtdeTotal() { + return qtdeTotal; + } + public void setQtdeTotal(Integer qtdeTotal) { + this.qtdeTotal = qtdeTotal; + } + public BigDecimal getTotal() { + return total; + } + public void setTotal(BigDecimal total) { + this.total = total; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciaFechamentoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciaFechamentoController.java new file mode 100644 index 000000000..d6d5023d8 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciaFechamentoController.java @@ -0,0 +1,94 @@ +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.apache.log4j.Logger; +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.Datebox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAgenciaFechamento; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioEmpresaCorrida; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; + +@Controller("relatorioAgenciaFechamentoController") +@Scope("prototype") +public class RelatorioAgenciaFechamentoController extends MyGenericForwardComposer { + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(RelatorioAgenciaFechamentoController.class); + + @Autowired + private DataSource dataSource; + @Autowired + private EmpresaService empresaService; + + private Datebox datInicial; + private Datebox datFinal; + private MyComboboxEstandar cmbEmpresa; + + private List lsEmpresas; + + private void executarRelatorio() throws Exception { + + Map parametros = new HashMap(); + + Empresa empresa = cmbEmpresa.getSelectedItem() != null ? (Empresa)cmbEmpresa.getSelectedItem().getValue() : null; + + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + parametros.put("fecInicio", sdf.format(this.datInicial.getValue())); + parametros.put("fecFinal", sdf.format(this.datFinal.getValue())); + if (empresa != null){ + parametros.put("empresa", empresa.getEmpresaId()); + } + parametros.put("TITULO", Labels.getLabel("indexController.mniRelatorioAgenciaFechamento.label")); + + Relatorio relatorio = new RelatorioAgenciaFechamento(parametros, dataSource.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("indexController.mniRelatorioAgenciaFechamento.label"), args, MODAL); + + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresas = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + } + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public List getLsEmpresas() { + return lsEmpresas; + } + + public void setLsEmpresas(List lsEmpresas) { + this.lsEmpresas = lsEmpresas; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioAgenciaFechamento.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioAgenciaFechamento.java new file mode 100644 index 000000000..206336d8a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioAgenciaFechamento.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 ItemMenuRelatorioAgenciaFechamento extends DefaultItemMenuSistema { + + public ItemMenuRelatorioAgenciaFechamento() { + super("indexController.mniRelatorioAgenciaFechamento.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOVAGENCIAFECHAMENTO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioAgenciaFechamento.zul", + Labels.getLabel("indexController.mniRelatorioAgenciaFechamento.label"), getArgs() ,desktop); + } + +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 71f6304ae..eef4b1003 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -5091,4 +5091,6 @@ relatorioGratuidadeController.lbLinhas.value = Ruta relatorioGratuidadeController.lbDataIni.value = Fecha Inicio relatorioGratuidadeController.lbDataFin.value = Fecha Final +indexController.mniRelatorioAgenciaFechamento.label= Relatorio Agências Fechamento + integracion.totvs=ERRO ao fazer integracion com a TOTVS \ No newline at end of file diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 20bbce6f3..d3e65317c 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -5159,4 +5159,6 @@ relatorioGratuidadeController.lbLinhas.value = Linha relatorioGratuidadeController.lbDataIni.value = Data Inicio relatorioGratuidadeController.lbDataFin.value = Data Final +indexController.mniRelatorioAgenciaFechamento.label= Relatorio Agências Fechamento + integracion.totvs=ERRO ao fazer integração com a TOTVS \ No newline at end of file diff --git a/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul b/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul new file mode 100644 index 000000000..3a4807078 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + +