From 56e485f05834f550abd38afb9e658efc15556cce Mon Sep 17 00:00:00 2001 From: "alexandre.lima" Date: Tue, 24 Oct 2017 16:55:58 +0000 Subject: [PATCH] Fixes Bug #0009921 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@75625 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/RelatorioSisdapController.java | 195 +++++++++++++++++- .../render/RenderDescontoGratuidade.java | 27 +++ web/WEB-INF/i3-label_es_MX.label | 11 +- web/WEB-INF/i3-label_pt_BR.label | 12 +- web/gui/relatorios/filtroRelatorioSisdap.zul | 141 ++++++++++++- 5 files changed, 379 insertions(+), 7 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderDescontoGratuidade.java diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSisdapController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSisdapController.java index 5a8e34af4..2799dadb0 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSisdapController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSisdapController.java @@ -5,6 +5,7 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.zip.Deflater; @@ -19,14 +20,24 @@ import org.zkoss.util.resource.Labels; import org.zkoss.zhtml.Filedownload; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Bandbox; import org.zkoss.zul.Combobox; import org.zkoss.zul.Datebox; import org.zkoss.zul.Messagebox; +import org.zkoss.zul.Paging; +import com.rjconsultores.ventaboletos.entidad.Categoria; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.service.CategoriaService; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.SisdapService; 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.RenderDescontoGratuidade; @Controller("relatorioSisdapController") @Scope("prototype") @@ -36,12 +47,49 @@ public class RelatorioSisdapController extends MyGenericForwardComposer { private static Logger log = Logger.getLogger(RelatorioSisdapController.class); private Integer MAX_BUFFER_ZIP = Integer.valueOf(18024); + + @Autowired + private transient PagedListWrapper plwCategoriaDescontoIdoso; + @Autowired + private transient PagedListWrapper plwCategoriaDescontoJovem; + + @Autowired + private transient PagedListWrapper plwCategoriaGratuidadeIdoso; + + @Autowired + private transient PagedListWrapper plwCategoriaGratuidadeJovem; + private Datebox datInicio; private Datebox datFinal; private Empresa empresa; private Combobox cmbEmpresa; + private MyTextbox txtDescontoIdoso; + private Bandbox bbDescontoIdoso; + private MyListbox pesquisaDescontoIdoso; + private MyListbox pesquisaDescontoIdosoList; + private Paging pagingDescontoIdoso; + + private MyTextbox txtDescontoJovem; + private Bandbox bbDescontoJovem; + private MyListbox pesquisaDescontoJovem; + private MyListbox pesquisaDescontoJovemList; + private Paging pagingDescontoJovem; + + private MyTextbox txtGratuidadeIdoso; + private Bandbox bbGratuidadeIdoso; + private MyListbox pesquisaGratuidadeIdoso; + private MyListbox pesquisaGratuidadeIdosoList; + private Paging pagingGratuidadeIdoso; + + private MyTextbox txtGratuidadeJovem; + private Bandbox bbGratuidadeJovem; + private MyListbox pesquisaGratuidadeJovem; + private MyListbox pesquisaGratuidadeJovemList; + private Paging pagingGratuidadeJovem; + + @Autowired private EmpresaService empresaService; @@ -53,18 +101,156 @@ public class RelatorioSisdapController extends MyGenericForwardComposer { @Override public void doAfterCompose(Component comp) throws Exception { lsEmpresa = empresaService.obtenerTodos(); - + super.doAfterCompose(comp); + + pesquisaDescontoIdosoList.setItemRenderer(new RenderDescontoGratuidade()); + pesquisaGratuidadeIdosoList.setItemRenderer(new RenderDescontoGratuidade()); + pesquisaDescontoJovemList.setItemRenderer(new RenderDescontoGratuidade()); + pesquisaGratuidadeJovemList.setItemRenderer(new RenderDescontoGratuidade()); } + public void onClick$btnPesquisaDescontoIdoso(Event ev) { + HibernateSearchObject categoria = new HibernateSearchObject(Categoria.class, pagingDescontoIdoso.getPageSize()); + categoria.addFilterILike("desccategoria", "%" + txtDescontoIdoso.getValue() + "%"); + categoria.addSortAsc("desccategoria"); + categoria.addFilterEqual("activo", Boolean.TRUE); + plwCategoriaDescontoIdoso.init(categoria, pesquisaDescontoIdosoList, pagingDescontoIdoso); + } + + public void onClick$btnPesquisaDescontoJovem(Event ev) { + HibernateSearchObject categoria = new HibernateSearchObject(Categoria.class, pagingDescontoJovem.getPageSize()); + categoria.addFilterILike("desccategoria", "%" + txtDescontoJovem.getValue() + "%"); + categoria.addSortAsc("desccategoria"); + categoria.addFilterEqual("activo", Boolean.TRUE); + plwCategoriaDescontoJovem.init(categoria, pesquisaDescontoJovemList, pagingDescontoJovem); + } + + public void onClick$btnPesquisaGratuidadeIdoso(Event ev) { + HibernateSearchObject categoria = new HibernateSearchObject(Categoria.class, pagingGratuidadeIdoso.getPageSize()); + categoria.addFilterILike("desccategoria", "%" + txtGratuidadeIdoso.getValue() + "%"); + categoria.addSortAsc("desccategoria"); + categoria.addFilterEqual("activo", Boolean.TRUE); + plwCategoriaGratuidadeIdoso.init(categoria, pesquisaGratuidadeIdosoList, pagingGratuidadeIdoso); + } + + public void onClick$btnPesquisaGratuidadeJovem(Event ev) { + HibernateSearchObject categoria = new HibernateSearchObject(Categoria.class, pagingGratuidadeJovem.getPageSize()); + categoria.addFilterILike("desccategoria", "%" + txtGratuidadeJovem.getValue() + "%"); + categoria.addSortAsc("desccategoria"); + categoria.addFilterEqual("activo", Boolean.TRUE); + plwCategoriaGratuidadeJovem.init(categoria, pesquisaGratuidadeJovemList, pagingGratuidadeJovem); + } + + public void onDoubleClick$pesquisaDescontoIdoso(Event ev) { + Categoria categoria = (Categoria) pesquisaDescontoIdoso.getSelected(); + pesquisaDescontoIdoso.removeItem(categoria); + } + + public void onDoubleClick$pesquisaDescontoJovem(Event ev) { + Categoria categoria = (Categoria) pesquisaDescontoJovem.getSelected(); + pesquisaDescontoJovem.removeItem(categoria); + } + + public void onDoubleClick$pesquisaGratuidadeIdoso(Event ev) { + Categoria categoria = (Categoria) pesquisaGratuidadeIdoso.getSelected(); + pesquisaGratuidadeIdoso.removeItem(categoria); + } + + public void onDoubleClick$pesquisaGratuidadeJovem(Event ev) { + Categoria categoria = (Categoria) pesquisaGratuidadeJovem.getSelected(); + pesquisaGratuidadeJovem.removeItem(categoria); + } + + public void onDoubleClick$pesquisaDescontoIdosoList(Event ev) { + Categoria categoria = (Categoria) pesquisaDescontoIdosoList.getSelected(); + pesquisaDescontoIdoso.addItemNovo(categoria); + } + + public void onDoubleClick$pesquisaDescontoJovemList(Event ev) { + Categoria categoria = (Categoria) pesquisaDescontoJovemList.getSelected(); + pesquisaDescontoJovem.addItemNovo(categoria); + } + + public void onDoubleClick$pesquisaGratuidadeIdosoList(Event ev) { + Categoria categoria = (Categoria) pesquisaGratuidadeIdosoList.getSelected(); + pesquisaGratuidadeIdoso.addItemNovo(categoria); + } + + public void onDoubleClick$pesquisaGratuidadeJovemList(Event ev) { + Categoria categoria = (Categoria) pesquisaGratuidadeJovemList.getSelected(); + pesquisaGratuidadeJovem.addItemNovo(categoria); + } + + public void onClick$btnLimparDescontoIdoso(Event ev) { + pesquisaDescontoIdosoList.setData(new ArrayList()); + bbDescontoIdoso.setText(""); + } + + public void onClick$btnLimparDescontoJovem(Event ev) { + pesquisaDescontoJovemList.setData(new ArrayList()); + bbDescontoJovem.setText(""); + } + + public void onClick$btnLimparGratuidadeIdoso(Event ev) { + pesquisaGratuidadeIdosoList.setData(new ArrayList()); + bbGratuidadeIdoso.setText(""); + } + + public void onClick$btnLimparGratuidadeJovem(Event ev) { + pesquisaGratuidadeJovemList.setData(new ArrayList()); + bbGratuidadeJovem.setText(""); + } + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + if (pesquisaDescontoIdoso.getListData().size() == 0) { + try { + Messagebox.show(Labels.getLabel("relatorioSisdapController.MSG.desconto.idoso.obrigatorio"), + Labels.getLabel("filtroRelatorioSisdap.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException e) { + log.error("", e); + } + return; + } + if (pesquisaGratuidadeIdoso.getListData().size() == 0) { + try { + Messagebox.show(Labels.getLabel("relatorioSisdapController.MSG.gratuidade.idoso.obrigatorio"), + Labels.getLabel("filtroRelatorioSisdap.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException e) { + log.error("", e); + } + return; + } + if (pesquisaDescontoJovem.getListData().size() == 0) { + try { + Messagebox.show(Labels.getLabel("relatorioSisdapController.MSG.desconto.jovem.obrigatorio"), + Labels.getLabel("filtroRelatorioSisdap.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException e) { + log.error("", e); + } + return; + } + if (pesquisaGratuidadeJovem.getListData().size() == 0) { + try { + Messagebox.show(Labels.getLabel("relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio"), + Labels.getLabel("filtroRelatorioSisdap.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException e) { + log.error("", e); + } + return; + } + if (cmbEmpresa.getSelectedIndex() < 0) { Messagebox.show(Labels.getLabel("relatorioSisdapController.MSG.empresaErro"), Labels.getLabel("filtroRelatorioSisdap.window.title"), Messagebox.OK, Messagebox.INFORMATION); return; } - processarRelatorioSisdap(datInicio.getValue(), datFinal.getValue()); + processarRelatorioSisdap(datInicio.getValue(), datFinal.getValue(), pesquisaDescontoIdoso, pesquisaGratuidadeIdoso, pesquisaDescontoJovem, pesquisaGratuidadeJovem); closeWindow(); } @@ -110,10 +296,11 @@ public class RelatorioSisdapController extends MyGenericForwardComposer { } } - private void processarRelatorioSisdap(Date fecInicio, Date fecFinal) { + private void processarRelatorioSisdap(Date fecInicio, Date fecFinal, MyListbox pesquisaDescontoIdoso, MyListbox pesquisaGratuidadeIdoso, MyListbox pesquisaDescontoJovem, MyListbox pesquisaGratuidadeJovem) { List movimentoLinhas = sisdapService.getMovimentoLinhas(fecInicio, fecFinal, empresa.getEmpresaId()); - List movimentoSecoes = sisdapService.getMovimentoSecoes(fecInicio, fecFinal, empresa.getEmpresaId()); + List movimentoSecoes = sisdapService.getMovimentoSecoes(fecInicio, fecFinal, empresa.getEmpresaId(), pesquisaDescontoIdoso.getListData(), pesquisaGratuidadeIdoso.getListData(), pesquisaDescontoJovem.getListData(), pesquisaGratuidadeJovem.getListData()); + if (movimentoLinhas.size() <= 1 && movimentoSecoes.size() <= 1) { // N鉶 retornou dados diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderDescontoGratuidade.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderDescontoGratuidade.java new file mode 100644 index 000000000..05c36296c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderDescontoGratuidade.java @@ -0,0 +1,27 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Categoria; + +/** + * @author Thiago + * + */ +public class RenderDescontoGratuidade implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object o) throws Exception { + Categoria categoria = (Categoria) o; + Listcell lc = new Listcell(categoria.getDesccategoria()); + lc.setParent(lstm); + + lstm.setAttribute("Categoria", categoria); + } + +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index bab358897..12cffa14a 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -625,7 +625,16 @@ relatorioSisdapController.lbEmpresa.value=Empresa relatorioSisdapController.btnCerrar.tooltiptext=Salir relatorioSisdapController.MSG.empresaErro=Debe de seleccionar una empresa relatorioSisdapController.MSG.nenhumRegistro=No se encontr贸 ning煤n registro - +relatorioSisdapController.desconto.idoso.value=Desconto idoso +relatorioSisdapController.gratuidade.idoso.value=Gratuidade idoso +relatorioSisdapController.desconto.jovem.value=Desconto jovem +relatorioSisdapController.gratuidade.jovem.value=Gratuidade jovem +relatorioSisdapController.btnPesquisa.label=Pesquisar +relatorioSisdapController.btnLimpar.label=Limpar +relatorioSisdapController.MSG.desconto.idoso.obrigatorio=脡 obrigat贸rio informar as categorias de desconto do idoso +relatorioSisdapController.MSG.gratuidade.idoso.obrigatorio=脡 obrigat贸rio informar as categorias de gratuidade do idoso +relatorioSisdapController.MSG.desconto.jovem.obrigatorio=脡 obrigat贸rio informar as categorias de desconto do jovem +relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=脡 obrigat贸rio informar as categorias de gratuidade do jovem filtroRelatorioSisdap.window.title=Reporte SISDAP #Reporte de ventas por agente de Pasajes diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 0d73f0fe3..62c989d16 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -688,7 +688,16 @@ relatorioSisdapController.lbEmpresa.value=Empresa relatorioSisdapController.btnCerrar.tooltiptext=Sair relatorioSisdapController.MSG.empresaErro=Deve selecionar uma empresa! relatorioSisdapController.MSG.nenhumRegistro=Nenhum registro encontrado para o relat贸rio - +relatorioSisdapController.desconto.idoso.value=Desconto idoso +relatorioSisdapController.gratuidade.idoso.value=Gratuidade idoso +relatorioSisdapController.desconto.jovem.value=Desconto jovem +relatorioSisdapController.gratuidade.jovem.value=Gratuidade jovem +relatorioSisdapController.btnPesquisa.label=Pesquisar +relatorioSisdapController.btnLimpar.label=Limpar +relatorioSisdapController.MSG.desconto.idoso.obrigatorio=脡 obrigat贸rio informar as categorias de desconto do idoso +relatorioSisdapController.MSG.gratuidade.idoso.obrigatorio=脡 obrigat贸rio informar as categorias de gratuidade do idoso +relatorioSisdapController.MSG.desconto.jovem.obrigatorio=脡 obrigat贸rio informar as categorias de desconto do jovem +relatorioSisdapController.MSG.gratuidade.jovem.obrigatorio=脡 obrigat贸rio informar as categorias de gratuidade do jovem filtroRelatorioSisdap.window.title=Relat贸rio SISDAP #Relat贸rio de Vendas por bilheteiro @@ -6730,6 +6739,7 @@ relatorioBilhetesVendidosController.reservado.label = Reservado relatorioBilhetesVendidosController.extravidado.label = Extraviado relatorioBilhetesVendidosController.reimpresso.label = Reimpresso relatorioBilhetesVendidosController.marcado.label = Marcado +relatorioBilhetesVendidosController.categoria.label = Categoria # Relat贸rio de Descontos relatorioDescontosController.window.title = Relat贸rio de Descontos diff --git a/web/gui/relatorios/filtroRelatorioSisdap.zul b/web/gui/relatorios/filtroRelatorioSisdap.zul index 005e7fa41..7927e25d9 100644 --- a/web/gui/relatorios/filtroRelatorioSisdap.zul +++ b/web/gui/relatorios/filtroRelatorioSisdap.zul @@ -7,7 +7,7 @@ @@ -44,6 +44,145 @@ selectedItem="@{winFiltroRelatorioSisdap$composer.empresa}" /> + + + +