diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAidfDetalhado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAidfDetalhado.java index 67d2546cc..7d96e8e05 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAidfDetalhado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAidfDetalhado.java @@ -79,6 +79,9 @@ public class RelatorioAidfDetalhado extends Relatorio { if(parametros.get("FIMFORM") != null){ sql.append(" and a.formfinal <= ").append(parametros.get("FIMFORM")); } + if(parametros.get("NUMPUNTOVENTA") != null){ + sql.append(" and ab.puntoventa_id in(").append(parametros.get("NUMPUNTOVENTA")).append(") "); + } sql.append(" group by a.aidf_id, e.nombempresa, p.nombpuntoventa, a.serie, ab.estacion_id , a.subserie,concat(a.forminicial, concat('-',a.formfinal)), a.forminicial, a.formfinal, "); sql.append(" concat(fp.foliopreimpreso,concat('-',dab.numfoliofinal)) "); sql.append(" order by a.aidf_id"); diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java index fbb48c49d..76a7bf0c1 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioAidfDetalhadoController.java @@ -1,5 +1,7 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; +import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -10,19 +12,29 @@ 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.Comboitem; import org.zkoss.zul.Datebox; +import org.zkoss.zul.Paging; import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioAidfDetalhado; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; 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("relatorioAidfDetalhadoController") @Scope("prototype") @@ -38,6 +50,15 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { private Textbox txtAIDF; private Textbox txtInicioForm; private Textbox txtFimForm; + + @Autowired + private transient PagedListWrapper plwPuntoVenta; + + private MyTextbox txtNombrePuntoVenta; + private Bandbox bbPesquisaPuntoVenta; + private Paging pagingPuntoVenta; + private MyListbox puntoVentaList; + private MyListbox puntoVentaSelList; @Autowired @@ -48,7 +69,10 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { @Override public void doAfterCompose(Component comp) throws Exception { lsEmpresa = empresaService.obtenerTodos(); - super.doAfterCompose(comp); + super.doAfterCompose(comp); + + puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); } /** @@ -62,6 +86,36 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { Map parametros = new HashMap(); StringBuilder filtro = new StringBuilder(); + + filtro.append("Agência: "); + String puntoVentaIds = ""; + String puntoVentas = ""; + List lsPuntoVentaSelecionados = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); + if (lsPuntoVentaSelecionados.isEmpty()) { + if (puntoVentaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("relatorioAidfDetalhadoController.msg.agencia.obrigatorio"), + Labels.getLabel("relatorioVendasBilheteiroController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return; + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } 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); + } + filtro.append(puntoVentas).append(";"); parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioAidfDetalhadoController.window.title")); parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); @@ -119,25 +173,51 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { executarRelatorio(); } - private void executarPesquisa() { + 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) { + ex.printStackTrace(); + } + } } public void onClick$btnPesquisa(Event ev) { executarPesquisa(); } - - public void onClick$btnLimpar(Event ev) { - - } - + 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 Datebox getDatInicial() { return datInicial; @@ -201,7 +281,37 @@ public class RelatorioAidfDetalhadoController extends MyGenericForwardComposer { public void setTxtFimForm(Textbox txtFimForm) { this.txtFimForm = txtFimForm; - } - - + } + + public PagedListWrapper getPlwPuntoVenta() { + return plwPuntoVenta; + } + + public void setPlwPuntoVenta(PagedListWrapper plwPuntoVenta) { + this.plwPuntoVenta = plwPuntoVenta; + } + + public MyTextbox getTxtNombrePuntoVenta() { + return txtNombrePuntoVenta; + } + + public void setTxtNombrePuntoVenta(MyTextbox txtNombrePuntoVenta) { + this.txtNombrePuntoVenta = txtNombrePuntoVenta; + } + + public MyListbox getPuntoVentaList() { + return puntoVentaList; + } + + public void setPuntoVentaList(MyListbox puntoVentaList) { + this.puntoVentaList = puntoVentaList; + } + + public MyListbox getPuntoVentaSelList() { + return puntoVentaSelList; + } + + public void setPuntoVentaSelList(MyListbox puntoVentaSelList) { + this.puntoVentaSelList = puntoVentaSelList; + } } diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index db84bb8a6..e63374ca0 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -271,6 +271,7 @@ indexController.mniRelatorioOCD.label = Status de OCD indexController.mniRelatorioGratuidade.label = Gratuidades indexController.mniRelatorioGratuidadeIdosoDeficiente.label = Gratuidades Idoso/Deficiente indexController.mniRelatorioVendasBilheteiro.label = Vendas por Bilheteiro +indexController.mniRelatorioVendasBilheteiroSintetico.label = Vendas por Bilheteiro SintĂ©tico indexController.mniRelatorioAgenciasNaoImportadas.label = RelatĂłrio de AgĂȘncias nĂŁo Importadas indexController.mniRelatorioCheckin.label = Checkin's indexController.mniFechamentoParamgeral.label = Configuração de Boleto @@ -678,6 +679,18 @@ relatorioVendasBilheteiroController.btnLimpar.label = Limpar relatorioVendasBilheteiroController.lbNumero.value = NĂșmero AgĂȘncia relatorioVendasBilheteiroController.lbBilheteiro.value = Bilheteiro +#RelatĂłrio de Vendas por bilheteiro SintĂ©tico +relatorioVendasBilheteiroSinteticoController.window.title = RelatĂłrio de Vendas por Bilheteiro SintĂ©tico +relatorioVendasBilheteiroSinteticoController.lbDatInicial.value = Data inicial +relatorioVendasBilheteiroSinteticoController.lbDatFinal.value = Data final +relatorioVendasBilheteiroSinteticoController.lbPuntoVenta.value = AgĂȘncia +relatorioVendasBilheteiroSinteticoController.lbEmpresa.value = Empresa +relatorioVendasBilheteiroSinteticoController.btnPesquisa.label = Buscar +relatorioVendasBilheteiroSinteticoController.btnLimpar.label = Limpar +relatorioVendasBilheteiroSinteticoController.lbNumero.value = NĂșmero AgĂȘncia +relatorioVendasBilheteiroSinteticoController.lbBilheteiro.value = Bilheteiro +relatorioVendasBilheteiroSinteticoController.lbCanalVendas.value = Canal Vendas + #RelatĂłrio de Demandas relatorioDemandasController.window.title = RelatĂłrio de Demandas relatorioDemandasController.lbDatInicial.value = Data Inicial @@ -736,6 +749,7 @@ relatorioAidfDetalhadoController.lbSerie.value = SĂ©rie relatorioAidfDetalhadoController.lbAidf.value = AIDF relatorioAidfDetalhadoController.lbFormInicial.value = Form. Inicial relatorioAidfDetalhadoController.lbFormFinal.value = Form. Final +relatorioAidfDetalhadoController.msg.agencia.obrigatorio = Uma AgĂȘncia deve ser selecionada # Pantalla Editar Classe editarClaseServicioController.window.title = Tipo de Classe diff --git a/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul b/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul index ad687cee7..e4d469ae9 100644 --- a/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul +++ b/web/gui/relatorios/filtroRelatorioAidfDetalhado.zul @@ -7,7 +7,7 @@ + height="340px" width="538px" border="normal"> @@ -38,7 +38,62 @@