From 7158a90de5bf9ba1b334104742179aae972c18c9 Mon Sep 17 00:00:00 2001 From: thiago Date: Thu, 19 Mar 2015 18:40:27 +0000 Subject: [PATCH] =?UTF-8?q?FIXED=20BUG=20#6123=20-=20Cria=C3=A7=C3=A3o=20d?= =?UTF-8?q?e=20relat=C3=B3rio=20de=20vendas=20por=20bilheteiro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@42294 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioVendasBilheteiro.java | 130 +++++++ ...RelatorioVendasBilheteiro_pt_BR.properties | 13 + .../render/RenderRelatorioJasper.java | 2 +- .../templates/RelatorioTaxasLinha.jasper | Bin 54406 -> 54404 bytes .../templates/RelatorioTaxasLinha.jrxml | 128 +++--- .../RelatorioVendasBilheteiro.jasper | Bin 0 -> 43760 bytes .../templates/RelatorioVendasBilheteiro.jrxml | 364 ++++++++++++++++++ .../utilitarios/IndStatusBoleto.java | 30 ++ .../RelatorioVendasBilheteiroController.java | 207 ++++++++++ .../ItemMenuRelatorioVendasBilheteiro.java | 32 ++ .../RenderRelatorioVendasBilheteiro.java | 40 ++ ...RelatorioVendasBilheteiroSelecionados.java | 61 +++ web/WEB-INF/i3-label_es_MX.label | 15 +- web/WEB-INF/i3-label_pt_BR.label | 16 +- .../filtroRelatorioVendasBilheteiro.zul | 126 ++++++ 15 files changed, 1078 insertions(+), 86 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiro.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasBilheteiro_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBilheteiro.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasBilheteiro.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/IndStatusBoleto.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasBilheteiroController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasBilheteiro.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioVendasBilheteiro.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioVendasBilheteiroSelecionados.java create mode 100644 web/gui/relatorios/filtroRelatorioVendasBilheteiro.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiro.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiro.java new file mode 100644 index 000000000..a6a318d37 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiro.java @@ -0,0 +1,130 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.IndStatusBoleto; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +/** + * @author Thiago + * + */ +public class RelatorioVendasBilheteiro extends Relatorio { + + + public RelatorioVendasBilheteiro(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + + StringBuilder sql = new StringBuilder(); + + sql.append(" select pv.NUMPUNTOVENTA CODIGO_AGENCIA, "); + sql.append(" pv.NOMBPUNTOVENTA NOME_AGENCIA, "); + sql.append(" u.CVEUSUARIO CODIGO_BILHETEIRO, "); + sql.append(" u.NOMBUSUARIO NOME_BILHETEIRO, "); + sql.append(" c.NUMFOLIOSISTEMA NUMERO_PASSAGEM, "); + sql.append(" p_origen.DESCPARADA ORIGEM, "); + sql.append(" p_destino.DESCPARADA DESTINO, "); + sql.append(" ct.DESCCATEGORIA TIPO_BILHETE, "); + sql.append(" c.INDSTATUSBOLETO STATUS_PASSAGEM, "); + sql.append(" c.FECCORRIDA DATA_VIAGEM, "); + sql.append(" c.CORRIDA_ID SERVICO, "); + sql.append(" c.IMPORTEPEDAGIO PEDAGIO," ); + sql.append(" c.IMPORTETAXAEMBARQUE TX_EMBARQUE," ); + sql.append(" (NVL(c.PRECIOPAGADO,0)-(NVL(c.IMPORTEPEDAGIO,0)+ NVL(c.IMPORTETAXAEMBARQUE,0))) TARIFA," ); + sql.append(" c.PRECIOPAGADO TOTAL_BILHETE" ); + + sql.append(" from caja c "); + sql.append(" join PUNTO_VENTA pv on c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); + sql.append(" join EMPRESA e on e.EMPRESA_ID = pv.EMPRESA_ID "); + sql.append(" join USUARIO u on u.USUARIO_ID = c.USUARIO_ID "); + sql.append(" join PARADA p_origen on p_origen.PARADA_ID = c.ORIGEN_ID "); + sql.append(" join PARADA p_destino on p_destino.PARADA_ID = c.ORIGEN_ID "); + sql.append(" join CATEGORIA ct on ct.CATEGORIA_ID = c.CATEGORIA_ID "); + sql.append(" where "); + sql.append(" e.EMPRESA_ID = :EMPRESA_ID "); + sql.append(" and c.FECCORRIDA >= :DATA_INICIAL"); + sql.append(" and c.FECCORRIDA <= :DATA_FINAL"); + if (parametros.get("NUMPUNTOVENTA") != null) { + sql.append("and pv.NUMPUNTOVENTA IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); + } + if (parametros.get("BILHETEIRO") != null && !parametros.get("BILHETEIRO").equals("")) { + sql.append(" and u.NOMBUSUARIO like '" + parametros.get("BILHETEIRO") + "%'"); + } + sql.append(" order by u.CVEUSUARIO, "); + sql.append(" u.NOMBUSUARIO, "); + sql.append(" pv.NUMPUNTOVENTA, "); + sql.append(" pv.NOMBPUNTOVENTA, "); + sql.append(" c.NUMFOLIOSISTEMA, "); + sql.append(" p_origen.DESCPARADA, "); + sql.append(" p_destino.DESCPARADA, "); + sql.append(" ct.DESCCATEGORIA, "); + sql.append(" c.INDSTATUSBOLETO, "); + sql.append(" c.FECCORRIDA, "); + sql.append(" c.CORRIDA_ID "); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); + + stmt.setInt("EMPRESA_ID", Integer.valueOf(parametros.get("EMPRESA_ID").toString())); + stmt.setTimestamp("DATA_INICIAL", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime())); + stmt.setTimestamp("DATA_FINAL", new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_FINAL")).getTime())); + + ResultSet rset = stmt.executeQuery(); + + while (rset.next()) { + + Map dataResult = new HashMap(); + + dataResult.put("CODIGO_AGENCIA", rset.getString("CODIGO_AGENCIA")); + dataResult.put("NOME_AGENCIA", rset.getString("NOME_AGENCIA")); + dataResult.put("CODIGO_BILHETEIRO", rset.getString("CODIGO_BILHETEIRO")); + dataResult.put("NOME_BILHETEIRO", rset.getString("NOME_BILHETEIRO")); + dataResult.put("NUMERO_PASSAGEM", rset.getBigDecimal("NUMERO_PASSAGEM")); + dataResult.put("ORIGEM", rset.getString("ORIGEM")); + dataResult.put("DESTINO", rset.getString("DESTINO")); + dataResult.put("TIPO_BILHETE", rset.getString("TIPO_BILHETE")); + dataResult.put("TX_EMBARQUE", rset.getBigDecimal("TX_EMBARQUE")); + dataResult.put("PEDAGIO", rset.getBigDecimal("PEDAGIO")); + dataResult.put("TARIFA", rset.getBigDecimal("TARIFA")); + dataResult.put("TOTAL_BILHETE", rset.getBigDecimal("TOTAL_BILHETE")); + dataResult.put("STATUS_PASSAGEM", IndStatusBoleto.valueOf(rset.getString("STATUS_PASSAGEM")).getValue() ); + dataResult.put("SERVICO", rset.getBigDecimal("SERVICO")); + dataResult.put("DATA_VIAGEM", rset.getDate("DATA_VIAGEM")); + + this.dados.add(dataResult); + + } + + this.resultSet = rset; + } + }); + } + + /* + * (non-Javadoc) + * + * @see com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio#processaParametros() + */ + @Override + protected void processaParametros() throws Exception { + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasBilheteiro_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasBilheteiro_pt_BR.properties new file mode 100644 index 000000000..01f6ecc2b --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasBilheteiro_pt_BR.properties @@ -0,0 +1,13 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/render/RenderRelatorioJasper.java b/src/java/com/rjconsultores/ventaboletos/relatorios/render/RenderRelatorioJasper.java index e08ea1193..7de190ef7 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/render/RenderRelatorioJasper.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/render/RenderRelatorioJasper.java @@ -88,7 +88,7 @@ public class RenderRelatorioJasper { this.preRender(); byte[] conteudo = null; - + if (this.jasperPrint == null) { if (this.relatorio.isCollectionDataSource()) { diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jasper index 04d621f60a8796b13cd0ca278d4989bfd5fdd7e4..16c7ae347fad2a4d2b5fbb105516c494068091b4 100644 GIT binary patch delta 66 zcmZo$$=tG%dBcuMCPstJdn)g02%8w0nOm3}7?>KGo5Y)#SQ?vJY+kcyk|8#U$$?i) E0ocbBVE_OC delta 87 zcmZo!$=tS*dBcuMPG%z`%ZlP62A#= Y7#V>|3Rz_~pIKC3D2zqPWdAFs0DLqUtN;K2 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jrxml index 38f11b922..6184b62fd 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioTaxasLinha.jrxml @@ -1,7 +1,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/IndStatusBoleto.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/IndStatusBoleto.java new file mode 100644 index 000000000..ef9438020 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/IndStatusBoleto.java @@ -0,0 +1,30 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +/** + * @author Thiago + * + */ +public enum IndStatusBoleto { + V("VENDIDO"), + C("CANCELADO"), + T("TRANSFERIDO"), + E("ENTREGUE"), + S("RESERVADO"), + X("EXTRAVIADO"), + R("REIMPRESSO"), + M("MARCADO"); + + private String value; + + private IndStatusBoleto(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasBilheteiroController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasBilheteiroController.java new file mode 100644 index 000000000..7eec43a65 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasBilheteiroController.java @@ -0,0 +1,207 @@ +/** + * + */ +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; + +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.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 com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasBilheteiro; +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; + +/** + * @author Thiago + * + */ +@Controller("relatorioVendasBilheteiroController") +@Scope("prototype") +public class RelatorioVendasBilheteiroController extends MyGenericForwardComposer { + + /** + * + */ + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(RelatorioVendasBilheteiroController.class); + + @Autowired + private DataSource dataSource; + + @Autowired + private EmpresaService empresaService; + + private Datebox datInicial; + private Datebox datFinal; + + private MyComboboxEstandar cmbEmpresa; + private List lsEmpresa; + + @Autowired + private transient PagedListWrapper plwPuntoVenta; + + private MyTextbox txtNombrePuntoVenta; + private Bandbox bbPesquisaPuntoVenta; + private MyListbox puntoVentaList; + private MyListbox puntoVentaSelList; + private Paging pagingPuntoVenta; + + private MyTextbox txtBilheteiro; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + + puntoVentaList.setItemRenderer(new RenderRelatorioVendasBilheteiro()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); + + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + 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 void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + /** + * @throws Exception + * + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + Relatorio relatorio; + 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()) { + 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); + } + filtro.append(puntoVentas).append(";"); + + parametros.put("DATA_INICIAL", (java.util.Date) this.datInicial.getValue()); + parametros.put("DATA_FINAL", (java.util.Date) this.datFinal.getValue()); + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioVendasBilheteiroController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + + filtro.append(" Empresa: "); + + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", empresa.getEmpresaId()); + parametros.put("EMPRESA", empresa.getNombempresa()); + filtro.append(empresa.getNombempresa() + ";"); + } else { + filtro.append(" Todas;"); + } + filtro.append(" Bilheteiro: "); + if (txtBilheteiro.getValue() != null && !txtBilheteiro.getValue().equals("")) { + parametros.put("BILHETEIRO", txtBilheteiro.getValue()); + } else { + filtro.append("Todos;"); + } + + parametros.put("FILTROS", filtro.toString()); + relatorio = new RelatorioVendasBilheteiro(parametros, dataSource.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioVendasBilheteiroController.window.title"), args, MODAL); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasBilheteiro.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasBilheteiro.java new file mode 100644 index 000000000..835e992c7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioVendasBilheteiro.java @@ -0,0 +1,32 @@ +/** + * + */ +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; + +/** + * @author Thiago + * + */ +public class ItemMenuRelatorioVendasBilheteiro extends DefaultItemMenuSistema { + + public ItemMenuRelatorioVendasBilheteiro() { + super("indexController.mniRelatorioVendasBilheteiro.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOVENDASBILHETEIRO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioVendasBilheteiro.zul", + Labels.getLabel("relatorioVendasBilheteiroController.window.title"), getArgs() ,desktop); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioVendasBilheteiro.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioVendasBilheteiro.java new file mode 100644 index 000000000..e9cb2c62a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioVendasBilheteiro.java @@ -0,0 +1,40 @@ +/** + * + */ +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.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; + +/** + * @author Thiago + * + */ +public class RenderRelatorioVendasBilheteiro implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object o) throws Exception { + PuntoVenta puntoVenta = (PuntoVenta) o; + + Listcell lc = new Listcell(puntoVenta.getNombpuntoventa()); + lc.setParent(lstm); + + Empresa empresa = puntoVenta.getEmpresa(); + if (empresa != null) { + lc = new Listcell(empresa.getNombempresa()); + } else { + lc = new Listcell(""); + } + lc.setParent(lstm); + + lc = new Listcell(puntoVenta.getNumPuntoVenta()); + lc.setParent(lstm); + + lstm.setAttribute("data", puntoVenta); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioVendasBilheteiroSelecionados.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioVendasBilheteiroSelecionados.java new file mode 100644 index 000000000..7a3048042 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioVendasBilheteiroSelecionados.java @@ -0,0 +1,61 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +/** + * @author Thiago + * + */ +public class RenderRelatorioVendasBilheteiroSelecionados implements ListitemRenderer { + + + public void render(Listitem lstm, Object o) throws Exception { + PuntoVenta puntoVenta = (PuntoVenta) o; + + Listcell lc = new Listcell(puntoVenta.getNombpuntoventa()); + lc.setParent(lstm); + + Empresa empresa = puntoVenta.getEmpresa(); + if (empresa != null) { + lc = new Listcell(empresa.getNombempresa()); + } else { + lc = new Listcell(""); + } + lc.setParent(lstm); + + lc = new Listcell(puntoVenta.getNumPuntoVenta()); + lc.setParent(lstm); + + Button btn = new Button(); + lc = new Listcell(); + lc.setParent(lstm); + + btn.setWidth("16"); + btn.setHeight("16"); + btn.setImage("/gui/img/remove.png"); + + btn.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + MyListbox listBox = (MyListbox) event.getTarget().getParent().getParent().getParent(); + Listitem listItem = (Listitem) event.getTarget().getParent().getParent(); + listBox.removeItem((PuntoVenta) listItem.getAttribute("data")); + } + }); + lc.appendChild(btn); + + lstm.setAttribute("data", puntoVenta); + } +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 4e5c3467d..6f9332bae 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -232,6 +232,7 @@ indexController.mniRelatorioEmpresaCorrida.label = Reporte de la empresa corrida indexController.mniRelatorioEmpresaOnibus.label = Reporte de la empresa autobús indexController.mniRelatorioOCD.label = Reporte OCD por la empresa indexController.mniRelatorioGratuidade.label = Reporte Gratuidade +indexController.mniRelatorioVendasBilheteiro.label = Reporte de Ventas por Agente de Billetes indexController.mniFechamentoParamgeral.label = Fechamento Conta Corrente indexController.mniFechamentoParamptovta.label = Fechamento Conta Corrente Agência indexController.mniRelatorioCorridas.label = Reporte de Corridas @@ -429,6 +430,9 @@ relatorioSisdapController.MSG.nenhumRegistro=No se encontró ningún registro filtroRelatorioSisdap.window.title=Relatório SISDAP +#Reporte de ventas por agente de boletos +relatorioVendasBilheteiroController.window.title = Reporte de ventas por agente de boletos + # Pantalla Editar clase editarClaseServicioController.window.title = Clase de servicio editarClaseServicioController.btnApagar.tooltiptext = Eliminar @@ -5069,13 +5073,4 @@ busquedaFechamentoParamptovtaController.fecmodif.label = Ult. Actual. editarFechamentoParamptovtaController.window.title = Cierre cuenta contable - Editar parametro agencia editarFechamentoParamptovtaController.MSG.suscribirOK = Cierre cuenta contable agencia se guardó exitosamente. editarFechamentoParamptovtaController.MSG.borrarPergunta = Eliminar el cierre cuenta contable agencia? -editarFechamentoParamptovtaController.MSG.borrarOK = Cierre cuenta corrente agencia se eliminó exitosamente. - - -# Relatorio Gratuidade -relatorioGratuidadeController.window.title=Reporte Gratuidade -relatorioGratuidadeController.lbEmpresa.value=Empresa -relatorioGratuidadeController.lbAgencia.value=Agencia -relatorioGratuidadeController.lbLinhas.value=Linha -relatorioGratuidadeController.lbDataIni.value=Fecha Inicio -relatorioGratuidadeController.lbDataFin.value=Fecha Final +editarFechamentoParamptovtaController.MSG.borrarOK = Cierre cuenta corrente agencia se eliminó exitosamente. \ 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 578ef623d..1f118cd0f 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -236,9 +236,11 @@ indexController.mniRelatorioEmpresaCorrida.label = Relatório por Empresa Corrid indexController.mniRelatorioEmpresaOnibus.label = Relatório por Empresa Ônibus indexController.mniRelatorioOCD.label = Relatório OCD por Empresa indexController.mniRelatorioGratuidade.label = Relatório Gratuidade +indexController.mniRelatorioVendasBilheteiro.label = Relatório de Vendas por Bilheteiro indexController.mniFechamentoParamgeral.label = Fechamento Conta Corrente indexController.mniFechamentoParamptovta.label = Fechamento Conta Corrente Agência indexController.mniRelatorioCorridas.label = Relatório de Serviços +indexController.mniRelatorioCorridas.label = Relatório de Serviços #PARTE REALIZADA POR MANUEL indexController.mnCortesias.label = Cortesias Para Funcionários @@ -331,7 +333,6 @@ relatorioOCDController.lbDataIni.value=Data Inicial relatorioOCDController.lbDataFin.value=Data Final #Relatorio Linhas Horario -relatorioLinhasHorarioController.window.title = Relatório de Linhas por Horário relatorioLinhasHorarioController.lbDataIni.value = Data Inicial relatorioLinhasHorarioController.lbDataFin.value = Data Final relatorioLinhasHorarioController.lbEmpresa.label = Empresa @@ -339,6 +340,7 @@ relatorioLinhasHorarioController.lbGrupoRuta.label = Grupo de Linhas relatorioLinhasHorarioController.lbLote.label = Lote relatorioLinhasHorarioController.lbLinha.label = Linha relatorioLinhasHorarioController.lbServico.label = Servico +relatorioVendasBilheteiroController.window.title = Relatório de Vendas por Bilheteiro relatorioLinhasHorarioController.lbNumRuta.label = Num. Linha relatorioLinhasHorarioController.lbPrefixo.label = Prefixo @@ -458,6 +460,9 @@ relatorioSisdapController.MSG.nenhumRegistro=Nenhum registro encontrado para o r filtroRelatorioSisdap.window.title=Relatório SISDAP +#Relatório de Vendas por bilheteiro +relatorioLinhasHorarioController.window.title = Relatório de Linhas por Horário + # Pantalla Editar Classe editarClaseServicioController.window.title = Tipo de Classe editarClaseServicioController.btnApagar.tooltiptext = Eliminar @@ -5138,11 +5143,6 @@ editarFechamentoParamgeralController.MSG.suscribirOK = Fechamento Conta Corrente editarFechamentoParamgeralController.MSG.borrarPergunta = Eliminar o Fechamento Conta Corrente? editarFechamentoParamgeralController.MSG.borrarOK = Fechamento Conta Corrente excluido com Sucesso. -# Relatorio Gratuidade -relatorioGratuidadeController.window.title=Relatório Gratuidade -relatorioGratuidadeController.lbEmpresa.value=Empresa -relatorioGratuidadeController.lbAgencia.value=Agência -relatorioGratuidadeController.lbLinhas.value=Linha -relatorioGratuidadeController.lbDataIni.value=Data Inicio -relatorioGratuidadeController.lbDataFin.value=Data Final + + diff --git a/web/gui/relatorios/filtroRelatorioVendasBilheteiro.zul b/web/gui/relatorios/filtroRelatorioVendasBilheteiro.zul new file mode 100644 index 000000000..3150d598a --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioVendasBilheteiro.zul @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +