From e78c27ba3a386291ce7729361fc8cd5387217956 Mon Sep 17 00:00:00 2001 From: "lucas.taia" Date: Fri, 27 Mar 2015 14:18:52 +0000 Subject: [PATCH] desenvolvimento relatorio (fixes bug 6116) git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@42584 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioAgenciaFechamento.java | 223 ++++++++---------- .../RelatorioAgenciaFechamento_es .properties | 1 + ...elatorioAgenciaFechamento_pt_BR.properties | 1 + .../RelatorioAgenciaFechamento.jasper | Bin 40876 -> 51466 bytes .../RelatorioAgenciaFechamento.jrxml | 153 +++++++++++- .../RelatorioAgenciaFechamentoController.java | 86 ++++++- .../filtroRelatorioAgenciaFechamento.zul | 55 ++++- 7 files changed, 391 insertions(+), 128 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java index e29d8b46c..0f9afa58f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamento.java @@ -5,14 +5,13 @@ 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 org.apache.commons.lang.math.NumberUtils; + import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioAgenciaFechamentoBean; @@ -22,9 +21,9 @@ public class RelatorioAgenciaFechamento extends Relatorio { private List lsDadosRelatorio; - public RelatorioAgenciaFechamento(Map parametros, Connection conexao) throws Exception { + public RelatorioAgenciaFechamento(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); - + this.setCustomDataSource(new DataSource(this) { @Override public void initDados() throws Exception { @@ -36,144 +35,123 @@ public class RelatorioAgenciaFechamento extends Relatorio { 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 empresaNome = parametros.get("empresaNome") != null ? parametros.get("empresaNome").toString() : ""; + String puntoVenta = parametros.get("NUMPUNTOVENTA") != null ? parametros.get("NUMPUNTOVENTA").toString() : null; - String sql = carregaAgenciasComVenda(); - String nomeEmpresa = null; - + RelatorioAgenciaFechamentoBean agenciaFechamento = new RelatorioAgenciaFechamentoBean(); + lsDadosRelatorio = new ArrayList(); + Boolean existeRegistro = Boolean.FALSE; + + String sql = carregarDadosTotaisdeVenda(puntoVenta); + System.out.println(sql); - + + BigDecimal total = BigDecimal.ZERO; + BigDecimal vendido = BigDecimal.ZERO; NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); ResultSet rset = null; - SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); + + stmt = new NamedParameterStatement(conexao, sql); 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("")){ + if (empresa != null && !empresa.equals("")) { stmt.setInt("empresaId", Integer.parseInt(empresa)); } - rset = stmt.executeQuery(); - - while (rset.next()) { - nomeEmpresa = rset.getString("NOMBEMPRESA"); + if (puntoVenta != null && !puntoVenta.equals("-1")) { + stmt.setString("puntoVentaId", puntoVenta); } - - 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()); + + 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(empresaNome); + + 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); + + } + + if (existeRegistro) { + + stmt = new NamedParameterStatement(conexao, carregarDadosReceitaDespesa(puntoVenta)); 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("")){ + + if (empresa != null && !empresa.equals("")) { stmt.setInt("empresaId", Integer.parseInt(empresa)); } - System.out.println(carregarDadosTotaisdeVenda()); + if (puntoVenta != null && !puntoVenta.equals("-1")) { + stmt.setString("puntoVentaId", puntoVenta); + } 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); + + 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); + + total = total.add(receita != null ? receita : BigDecimal.ZERO); + total = total.subtract(despesa != null ? despesa : BigDecimal.ZERO); + + agenciaFechamento.setVendido(vendido != null ? vendido : 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); - - total = total.add(receita != null ? receita : BigDecimal.ZERO); - total = total.subtract(despesa != null ? despesa : BigDecimal.ZERO); - - agenciaFechamento.setVendido(vendido != null ? vendido : BigDecimal.ZERO); - agenciaFechamento.setTotal(total); - - } - - lsDadosRelatorio.add(agenciaFechamento); - } - + lsDadosRelatorio.add(agenciaFechamento); } - + if (lsDadosRelatorio.size() > 0) { setLsDadosRelatorio(lsDadosRelatorio); } + } }); } @@ -187,7 +165,7 @@ public class RelatorioAgenciaFechamento extends Relatorio { protected void processaParametros() throws Exception { } - private String carregarDadosTotaisdeVenda() { + private String carregarDadosTotaisdeVenda(String puntoVenta) { StringBuilder sql = new StringBuilder(); sql.append(" SELECT "); @@ -206,7 +184,9 @@ public class RelatorioAgenciaFechamento extends Relatorio { sql.append(" INNER JOIN PUNTO_VENTA pv ON c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); sql.append(" WHERE c.TURNO_ID IS NOT NULL "); sql.append(" AND c.FECCORTE BETWEEN :de AND :ate "); - sql.append(" AND c.PUNTOVENTA_ID =:puntoVentaId "); + if(puntoVenta != null && !puntoVenta.equals("-1")){ + sql.append(" AND c.PUNTOVENTA_ID =:puntoVentaId "); + } sql.append(" AND c.TIPOVENTA_ID <> 6 "); sql.append(" AND ((c.EMPRESACORRIDA_ID IS NULL ) OR (c.EMPRESACORRIDA_ID IS NOT NULL AND c.EMPRESACORRIDA_ID = :empresaId )) "); sql.append(" GROUP BY pv.PUNTOVENTA_ID , pv.nombpuntoventa "); @@ -228,7 +208,7 @@ public class RelatorioAgenciaFechamento extends Relatorio { } - private String carregarDadosReceitaDespesa() { + private String carregarDadosReceitaDespesa(String puntoVenta) { StringBuilder sql = new StringBuilder(); sql.append(" SELECT "); @@ -244,7 +224,9 @@ public class RelatorioAgenciaFechamento extends Relatorio { sql.append(" AND ee.activo = 1 "); sql.append(" AND cd.TURNO_ID IS NOT NULL "); sql.append(" AND cd.FECCORTE BETWEEN :de AND :ate "); - sql.append(" AND cd.PUNTOVENTA_ID = :puntoVentaId "); + if(puntoVenta != null && !puntoVenta.equals("-1")){ + sql.append(" AND cd.PUNTOVENTA_ID = :puntoVentaId "); + } sql.append(" AND ee.EMPRESA_ID=:empresaId "); return sql.toString(); @@ -262,7 +244,4 @@ public class RelatorioAgenciaFechamento extends Relatorio { 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 index 15e87882f..abaee55bf 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es .properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_es .properties @@ -18,5 +18,6 @@ header.total=Total detail.agencia=AGÊNCIA detail.quantidade=QUANTIDADE detail.valor=VALOR +detail.totalGeral=TOTAL GERAL 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 index 15e87882f..abaee55bf 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioAgenciaFechamento_pt_BR.properties @@ -18,5 +18,6 @@ header.total=Total detail.agencia=AGÊNCIA detail.quantidade=QUANTIDADE detail.valor=VALOR +detail.totalGeral=TOTAL GERAL 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 index 9fd1913032781647d4afbc4d13cfac8b147d48aa..ecfc27dfc652907376b728160fe5cf88021b3411 100644 GIT binary patch literal 51466 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 - - + + @@ -27,6 +27,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -88,14 +127,14 @@ - + - + @@ -334,6 +373,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 index d6d5023d8..bc383c3b3 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciaFechamentoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAgenciaFechamentoController.java @@ -1,6 +1,8 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -12,17 +14,26 @@ 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.Bandbox; import org.zkoss.zul.Datebox; +import org.zkoss.zul.Paging; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; 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; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiro; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiroSelecionados; @Controller("relatorioAgenciaFechamentoController") @Scope("prototype") @@ -38,6 +49,13 @@ public class RelatorioAgenciaFechamentoController extends MyGenericForwardCompos private Datebox datInicial; private Datebox datFinal; private MyComboboxEstandar cmbEmpresa; + private Bandbox bbPesquisaPuntoVenta; + @Autowired + private transient PagedListWrapper plwPuntoVenta; + private MyTextbox txtNombrePuntoVenta; + private MyListbox puntoVentaList; + private MyListbox puntoVentaSelList; + private Paging pagingPuntoVenta; private List lsEmpresas; @@ -52,9 +70,29 @@ public class RelatorioAgenciaFechamentoController extends MyGenericForwardCompos parametros.put("fecFinal", sdf.format(this.datFinal.getValue())); if (empresa != null){ parametros.put("empresa", empresa.getEmpresaId()); + parametros.put("empresaNome", empresa.getNombempresa()); } parametros.put("TITULO", Labels.getLabel("indexController.mniRelatorioAgenciaFechamento.label")); + String puntoVentaIds = ""; + String puntoVentas = ""; + List lsPuntoVentaSelecionados = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); + if (lsPuntoVentaSelecionados.isEmpty()) { + puntoVentas = "Todas"; + } else { + for (int i = 0; i < lsPuntoVentaSelecionados.size(); i++) { + PuntoVenta puntoVenta = lsPuntoVentaSelecionados.get(i); + puntoVentas = puntoVentas + puntoVenta.getNombpuntoventa() + ","; + + puntoVentaIds = puntoVentaIds + puntoVenta.getPuntoventaId() + ","; + } + + // removendo ultima virgula + puntoVentaIds = puntoVentaIds.substring(0, puntoVentaIds.length() - 1); + puntoVentas = puntoVentas.substring(0, puntoVentas.length() - 1); + parametros.put("NUMPUNTOVENTA", puntoVentaIds); + } + Relatorio relatorio = new RelatorioAgenciaFechamento(parametros, dataSource.getConnection()); Map args = new HashMap(); @@ -73,7 +111,53 @@ public class RelatorioAgenciaFechamentoController extends MyGenericForwardCompos public void doAfterCompose(Component comp) throws Exception { lsEmpresas = empresaService.obtenerTodos(); super.doAfterCompose(comp); + puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); } + + private void executarPesquisa() { + HibernateSearchObject puntoVentaBusqueda = + new HibernateSearchObject(PuntoVenta.class, pagingPuntoVenta.getPageSize()); + + puntoVentaBusqueda.addFilterILike("nombpuntoventa", "%" + txtNombrePuntoVenta.getValue() + "%"); + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + + puntoVentaBusqueda.addSortAsc("nombpuntoventa"); + + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + + plwPuntoVenta.init(puntoVentaBusqueda, puntoVentaList, pagingPuntoVenta); + + if (puntoVentaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioVendasBilheteiroController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + public void onDoubleClick$puntoVentaSelList(Event ev) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaSelList.getSelected(); + puntoVentaSelList.removeItem(puntoVenta); + } + + public void onDoubleClick$puntoVentaList(Event ev) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaList.getSelected(); + puntoVentaSelList.addItemNovo(puntoVenta); + } + + public void onClick$btnLimpar(Event ev) { + puntoVentaList.setData(new ArrayList()); + + bbPesquisaPuntoVenta.setText(""); + } + public MyComboboxEstandar getCmbEmpresa() { return cmbEmpresa; diff --git a/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul b/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul index 3a4807078..44c3969da 100644 --- a/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul +++ b/web/gui/relatorios/filtroRelatorioAgenciaFechamento.zul @@ -7,7 +7,7 @@ @@ -38,6 +38,59 @@ mold="rounded" buttonVisible="true" width="70%" model="@{winRelatorioAgenciaFechamento$composer.lsEmpresas}" constraint="no empty" /> +