From 1797b7ad14f34489e89723d35af4a60bc812e6f4 Mon Sep 17 00:00:00 2001 From: thiago Date: Mon, 23 May 2016 22:13:34 +0000 Subject: [PATCH] =?UTF-8?q?fixed=20bug=20#7437=20-=20Criado=20Relat=C3=B3r?= =?UTF-8?q?io=20de=20Numera=C3=A7=C3=A3o=20l=C3=B3gica(Posi=C3=A7=C3=A3o?= =?UTF-8?q?=20de=20caixa=20anal=C3=ADtico)?= 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@56288 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioPosicaoCaixaAnalitico.java | 115 ++++++ ...orioPosicaoCaixaAnalitico_es_MX.properties | 30 ++ ...orioPosicaoCaixaAnalitico_pt_BR.properties | 30 ++ .../RelatorioPosicaoCaixaAnalitico.jasper | Bin 0 -> 42507 bytes .../RelatorioPosicaoCaixaAnalitico.jrxml | 344 ++++++++++++++++++ ...atorioPosicaoCaixaAnaliticoController.java | 202 ++++++++++ ...temMenuRelatorioPosicaoCaixaAnalitico.java | 32 ++ .../RenderRelatorioPosicaoCaixaAnalitico.java | 43 +++ ...torioPosicaoCaixaAnaliticoSelecionado.java | 54 +++ web/WEB-INF/i3-label_es_MX.label | 9 + web/WEB-INF/i3-label_pt_BR.label | 9 + .../filtroRelatorioPosicaoCaixaAnalitico.zul | 112 ++++++ 12 files changed, 980 insertions(+) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPosicaoCaixaAnalitico.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoCaixaAnalitico_es_MX.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoCaixaAnalitico_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPosicaoCaixaAnalitico.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPosicaoCaixaAnalitico.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPosicaoCaixaAnaliticoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioPosicaoCaixaAnalitico.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioPosicaoCaixaAnalitico.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioPosicaoCaixaAnaliticoSelecionado.java create mode 100644 web/gui/relatorios/filtroRelatorioPosicaoCaixaAnalitico.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPosicaoCaixaAnalitico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPosicaoCaixaAnalitico.java new file mode 100644 index 000000000..354c4fbc3 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioPosicaoCaixaAnalitico.java @@ -0,0 +1,115 @@ +/** + * + */ +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 RelatorioPosicaoCaixaAnalitico extends Relatorio { + + public RelatorioPosicaoCaixaAnalitico(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 "); + sql.append(" C.NUMSERIEPREIMPRESA numSerie, "); + sql.append(" C.NUMFOLIOPREIMPRESO numFolioPreImpreso, "); + sql.append(" C.NUMFOLIOSISTEMA numFolioSistema, "); + sql.append(" DECODE(R.INDSENTIDOIDA,1,'IDA',0,'VOLTA') sentido, "); + sql.append(" TV.DESCTIPOVENTA tipoVenta, "); + sql.append(" C.FECHORVENTA fecHorVenta, "); + sql.append(" C.PRECIOPAGADO precioPagado, "); + sql.append(" C.IMPORTETAXAEMBARQUE importeTaxaEmbarque, "); + sql.append(" C.IMPORTEPEDAGIO importePedagio, "); + sql.append(" C.IMPORTESEGURO importeSeguro "); + sql.append(" FROM "); + sql.append(" caja c "); + sql.append(" JOIN TIPO_VENTA tv "); + sql.append(" ON "); + sql.append(" TV.TIPOVENTA_ID = C.TIPOVENTA_ID "); + sql.append(" JOIN ruta r "); + sql.append(" ON "); + sql.append(" R.RUTA_ID = C.RUTA_ID "); + sql.append(" JOIN marca m "); + sql.append(" ON "); + sql.append(" M.MARCA_ID = C.MARCA_ID "); + sql.append(" WHERE "); + sql.append(" C.FECCORTE BETWEEN :DATA_INICIAL AND :DATA_FINAL "); + if(parametros.get("MARCA_ID") != null){ + sql.append(" AND M.EMPRESA_ID = :MARCA_ID "); + } + if (parametros.get("NUMPUNTOVENTA") != null) { + sql.append(" and c.PUNTOVENTA_ID IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); + } + sql.append(" AND C.ACTIVO = 1 "); + sql.append(" AND C.INDREIMPRESION = 0 "); + sql.append(" AND C.MOTIVOCANCELACION_ID IS NULL "); + sql.append(" ORDER BY "); + sql.append(" C.NUMSERIEPREIMPRESA, "); + sql.append(" C.NUMFOLIOPREIMPRESO, "); + sql.append(" C.NUMFOLIOSISTEMA, "); + sql.append(" DECODE(R.INDSENTIDOIDA,1,'IDA',0,'VOLTA'), "); + sql.append(" TV.DESCTIPOVENTA, "); + sql.append(" C.FECHORVENTA, "); + sql.append(" C.PRECIOPAGADO, "); + sql.append(" C.IMPORTETAXAEMBARQUE, "); + sql.append(" C.IMPORTEPEDAGIO, "); + sql.append(" C.IMPORTESEGURO "); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); + + if(parametros.get("MARCA_ID") != null){ + stmt.setInt("MARCA_ID", Integer.valueOf(parametros.get("MARCA_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("numSerie", rset.getString("numSerie")); + dataResult.put("numFolioPreImpreso", rset.getString("numFolioPreImpreso")); + dataResult.put("numFolioSistema", rset.getString("numFolioSistema")); + dataResult.put("sentido", rset.getString("sentido")); + dataResult.put("tipoVenta", rset.getString("tipoVenta")); + dataResult.put("fecHorVenta", rset.getDate("fecHorVenta")); + dataResult.put("precioPagado", rset.getBigDecimal("precioPagado")); + dataResult.put("importeTaxaEmbarque", rset.getBigDecimal("importeTaxaEmbarque")); + dataResult.put("importePedagio", rset.getBigDecimal("importePedagio")); + dataResult.put("importeSeguro", rset.getBigDecimal("importeSeguro")); + this.dados.add(dataResult); + } + } + + }); + } + + @Override + protected void processaParametros() throws Exception { + + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoCaixaAnalitico_es_MX.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoCaixaAnalitico_es_MX.properties new file mode 100644 index 000000000..8cce83ab0 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoCaixaAnalitico_es_MX.properties @@ -0,0 +1,30 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Vendas para Comissão +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: +cabecalho.usuario=Usuário: +#Labels relatorio +empresa.label=Empresa: +puntoVenta.label=Agência: +fisico.label=FÍSICO +logico.label=LÓGICO +sentido.label=SENT. +tipoVenta.label=VENDA +fecVenta.label=DATA DE MOV. +fecLanzamiento.label=DATA DE LAN. +tarifa.label=TARIFA +taxaEmbarque.label=TAXA +pedagio.label=PEDAGIO +seguro.label=SEGURO +total.label=TOTAL +totalGeral.label=TOTAL GERAL: +serie.label=SÉRIE \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoCaixaAnalitico_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoCaixaAnalitico_pt_BR.properties new file mode 100644 index 000000000..8cce83ab0 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioPosicaoCaixaAnalitico_pt_BR.properties @@ -0,0 +1,30 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Vendas para Comissão +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: +cabecalho.usuario=Usuário: +#Labels relatorio +empresa.label=Empresa: +puntoVenta.label=Agência: +fisico.label=FÍSICO +logico.label=LÓGICO +sentido.label=SENT. +tipoVenta.label=VENDA +fecVenta.label=DATA DE MOV. +fecLanzamiento.label=DATA DE LAN. +tarifa.label=TARIFA +taxaEmbarque.label=TAXA +pedagio.label=PEDAGIO +seguro.label=SEGURO +total.label=TOTAL +totalGeral.label=TOTAL GERAL: +serie.label=SÉRIE \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPosicaoCaixaAnalitico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPosicaoCaixaAnalitico.jasper new file mode 100644 index 0000000000000000000000000000000000000000..b97632d3b6922087bdc22a1b7373178a5ce4da02 GIT binary patch literal 42507 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 JYUg_D{{fC2obUhu literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPosicaoCaixaAnalitico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPosicaoCaixaAnalitico.jrxml new file mode 100644 index 000000000..62c0fcc9f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioPosicaoCaixaAnalitico.jrxml @@ -0,0 +1,344 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="103" splitType="Stretch"> + <textField> + <reportElement uuid="0fbfd2e2-c536-40d4-9991-7c220a916a94" x="0" y="41" width="316" height="20"/> + <textElement> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.periodo} + " " + $P{fecInicio} + " " + $R{cabecalho.periodoA} + " " + $P{fecFinal}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="bea0c3f3-035e-4be8-9983-8920c73a1947" x="53" y="62" width="263" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{empresa}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="8a035cb9-84a7-43ea-85b9-963d50bf2b77" x="0" y="21" width="316" height="20"/> + <textElement markup="none"> + <font size="14" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.nome}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="54cfabe9-f8d6-4a9e-beef-46d91d4adf1a" x="0" y="62" width="53" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$R{empresa.label}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="bbc260a6-ce45-4ced-8b20-2b6a9f2990c9" x="0" y="82" width="53" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$R{puntoVenta.label}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="42686c90-bfc5-469a-b81c-4e67d4bbb65f" x="53" y="82" width="263" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{puntoVenta}]]></textFieldExpression> + </textField> + <textField evaluationTime="Report" isBlankWhenNull="true"> + <reportElement uuid="5c46feb2-d147-4c48-9102-233323a255af" x="515" y="0" width="40" height="20"> + <printWhenExpression><![CDATA[$V{PAGE_NUMBER}.intValue() > 1 ? Boolean.FALSE: Boolean.TRUE]]></printWhenExpression> + </reportElement> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression> + </textField> + <textField isBlankWhenNull="true"> + <reportElement uuid="43151e61-6111-4384-9495-4d2065cbbe33" x="450" y="0" width="65" height="20"> + <printWhenExpression><![CDATA[$V{PAGE_NUMBER}.intValue() > 1 ? Boolean.FALSE: Boolean.TRUE]]></printWhenExpression> + </reportElement> + <textElement> + <font size="7"/> + </textElement> + <textFieldExpression><![CDATA[$R{cabecalho.pagina} +" "+$V{PAGE_NUMBER}+" "+$R{cabecalho.de}]]></textFieldExpression> + </textField> + <textField pattern="dd/MM/yyyy HH:mm"> + <reportElement uuid="9486c809-433a-43a9-8181-68e49e0fafbd" x="271" y="0" width="164" height="20"> + <printWhenExpression><![CDATA[$V{PAGE_NUMBER}.intValue() > 1 ? Boolean.FALSE: Boolean.TRUE]]></printWhenExpression> + </reportElement> + <textElement textAlignment="Right"> + <font size="7" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> + </textField> + <line> + <reportElement uuid="40d18495-6c4b-402f-8252-32cf40350d93" x="0" y="21" width="555" height="1"/> + </line> + </band> + + + + + + 1 ? Boolean.TRUE: Boolean.FALSE]]> + + + + + + + + + 1 ? Boolean.TRUE: Boolean.FALSE]]> + + + + + + + + + 1 ? Boolean.TRUE: Boolean.FALSE]]> + + + + + + + + + 1 ? Boolean.TRUE: Boolean.FALSE]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPosicaoCaixaAnaliticoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPosicaoCaixaAnaliticoController.java new file mode 100644 index 000000000..c87568867 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioPosicaoCaixaAnaliticoController.java @@ -0,0 +1,202 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +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.RelatorioPosicaoCaixaAnalitico; +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.RenderRelatorioPosicaoCaixaAnalitico; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioVendasBilheteiroSelecionados; + +@Controller("relatorioPosicaoCaixaAnaliticoController") +@Scope("prototype") +public class RelatorioPosicaoCaixaAnaliticoController extends MyGenericForwardComposer { + + /** + * + */ + private static final long serialVersionUID = 1L; + + + @Autowired + private DataSource dataSourceRead; + + @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; + + @Override + public void doAfterCompose(Component comp) throws Exception { + setLsEmpresa(empresaService.obtenerTodos()); + super.doAfterCompose(comp); + + puntoVentaList.setItemRenderer(new RenderRelatorioPosicaoCaixaAnalitico()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioVendasBilheteiroSelecionados()); + + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + 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("relatorioPosicaoCaixaAnaliticoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + } + + 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(""); + } + + /** + * @throws Exception + * + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + Relatorio relatorio; + Map parametros = new HashMap(); + StringBuilder filtro = new StringBuilder(); + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + Date dataDe = datInicial.getValue(); + Date dataAte = datFinal.getValue(); + + 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("puntoVenta", filtro.toString()); + parametros.put("DATA_INICIAL", (java.util.Date) this.datInicial.getValue()); + parametros.put("fecInicio", sdf.format(dataDe)); + parametros.put("fecFinal", sdf.format(dataAte)); + parametros.put("DATA_FINAL", (java.util.Date) this.datFinal.getValue()); + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioPosicaoCaixaAnaliticoController.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("MARCA_ID", empresa.getEmpresaId()); + parametros.put("empresa", empresa.getNombempresa()); + } else { + parametros.put("empresa", "Todas;"); + } + + parametros.put("FILTROS", filtro.toString()); + relatorio = new RelatorioPosicaoCaixaAnalitico(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioPosicaoCaixaAnaliticoController.window.title"), args, MODAL); + } + + /** + * @return the lsEmpresa + */ + public List getLsEmpresa() { + return lsEmpresa; + } + + /** + * @param lsEmpresa the lsEmpresa to set + */ + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioPosicaoCaixaAnalitico.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioPosicaoCaixaAnalitico.java new file mode 100644 index 000000000..03504a9d4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioPosicaoCaixaAnalitico.java @@ -0,0 +1,32 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.contacorrente; + +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 ItemMenuRelatorioPosicaoCaixaAnalitico extends DefaultItemMenuSistema { + + public ItemMenuRelatorioPosicaoCaixaAnalitico() { + super("indexController.mniRelatorioPosicaoCaixaAnalitico.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIODEPOSITOS"/*"COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOPOSICAOCAIXAANALITICO"*/; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioPosicaoCaixaAnalitico.zul", + Labels.getLabel("indexController.mniRelatorioPosicaoCaixaAnalitico.label"), getArgs() ,desktop); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioPosicaoCaixaAnalitico.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioPosicaoCaixaAnalitico.java new file mode 100644 index 000000000..785eda231 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioPosicaoCaixaAnalitico.java @@ -0,0 +1,43 @@ +/** + * + */ +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 RenderRelatorioPosicaoCaixaAnalitico 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/RenderRelatorioPosicaoCaixaAnaliticoSelecionado.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioPosicaoCaixaAnaliticoSelecionado.java new file mode 100644 index 000000000..7b7c01856 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioPosicaoCaixaAnaliticoSelecionado.java @@ -0,0 +1,54 @@ +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; + +public class RenderRelatorioPosicaoCaixaAnaliticoSelecionado 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 3297dbcff..27f28db7f 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -300,6 +300,14 @@ indexController.mniRelatorioDescontos.label = Reporte Descuentos indexController.mniRelatorioDepositos.label=Cierre Cnt Contábil / Depósitos indexController.mniRelatorioDepositosDetalhados.label=Depósitos Detallados +indexController.mniRelatorioPosicaoCaixaAnalitico.label=Relatório de Numeração Lógica +relatorioPosicaoCaixaAnaliticoController.lbPuntoVenta.value=Punto de Venta +relatorioPosicaoCaixaAnaliticoController.lbEmpresa.value=Empresa +relatorioPosicaoCaixaAnaliticoController.lbNumero.value=Número punto de venta +relatorioPosicaoCaixaAnaliticoController.lbDatInicial.value=Fecha Inicio +relatorioPosicaoCaixaAnaliticoController.lbDatFinal.value=Fecha Fin +relatorioPosicaoCaixaAnaliticoController.window.title=Relatório de Numeração Lógica + indexController.mniRelatorioGratuidadeIdosoDeficiente.label = Relatório Gratuidade Idoso/Deficiente #PARTE REALIZADA POR MANUEL @@ -742,6 +750,7 @@ editarCategoriaController.btnApagar.tooltiptext = Eliminar editarCategoriaController.btnSalvar.tooltiptext = Guardar editarCategoriaController.btnFechar.tooltiptext = Cerrar editarCategoriaController.lbNome.value = Descripción +editarCategoriaController.lbDescImpresionGratuidade.value=Descripción Impresión Gratuidad editarCategoriaController.lbGrupoCategoria.value=Grupo categoria editarCategoriaController.MSG.suscribirOK = Tipo de pasaje se registró exitosamente editarCategoriaController.MSG.borrarPergunta = Deseas eliminar este tipo de pasaje? diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 2b7ebe185..e62425421 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -305,6 +305,14 @@ indexController.mniRelatorioDescontos.label = Relatório Descontos indexController.mniRelatorioDepositos.label=Fechamento Cnt Corrente / Depósitos indexController.mniRelatorioDepositosDetalhados.label=Depósitos Detalhados +indexController.mniRelatorioPosicaoCaixaAnalitico.label=Relatório de Numeração Lógica +relatorioPosicaoCaixaAnaliticoController.lbPuntoVenta.value=Punto de Venta +relatorioPosicaoCaixaAnaliticoController.lbEmpresa.value=Empresa +relatorioPosicaoCaixaAnaliticoController.lbNumero.value=Número punto de venta +relatorioPosicaoCaixaAnaliticoController.lbDatInicial.value=Fecha Inicio +relatorioPosicaoCaixaAnaliticoController.lbDatFinal.value=Fecha Fin +relatorioPosicaoCaixaAnaliticoController.window.title=Relatório de Numeração Lógica + #PARTE REALIZADA POR MANUEL indexController.mnCortesias.label = Cortesias Para Funcionários indexController.mniTipoCortesiaD.label = Desconto por Tipo de Cortesia @@ -771,6 +779,7 @@ editarCategoriaController.btnSalvar.tooltiptext = Salvar editarCategoriaController.btnFechar.tooltiptext = Fechar editarCategoriaController.lbNome.value = Descrição editarCategoriaController.lbGrupoCategoria.value=Grupo Categoria +editarCategoriaController.lbDescImpresionGratuidade.value=Descrição Impressão Gratuidade editarCategoriaController.MSG.suscribirOK = Tipo de Passagem Registrado com Sucesso. editarCategoriaController.MSG.borrarPergunta = Deseja Eliminar este tipo de passagem? editarCategoriaController.MSG.borrarOK = Tipo de Passagem Excluido com Sucesso. diff --git a/web/gui/relatorios/filtroRelatorioPosicaoCaixaAnalitico.zul b/web/gui/relatorios/filtroRelatorioPosicaoCaixaAnalitico.zul new file mode 100644 index 000000000..bb497136a --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioPosicaoCaixaAnalitico.zul @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +