From c1a9f921b3b566caa47fe529897d442c5d838b30 Mon Sep 17 00:00:00 2001 From: "bruno.neves" Date: Fri, 11 Aug 2017 23:23:11 +0000 Subject: [PATCH] fix bug #0009449 criado o relatorio de cancelamento automatico de ECF git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@72588 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../RelatorioCancelamentoAutomaticoECF.java | 152 ++++++ ...CancelamentoAutomaticoECF_es_BR.properties | 24 + ...CancelamentoAutomaticoECF_pt_BR.properties | 24 + .../RelatorioCancelamentoAutomaticoECF.jasper | Bin 0 -> 43329 bytes .../RelatorioCancelamentoAutomaticoECF.jrxml | 438 ++++++++++++++++++ ...ioCancelamentoAutomaticoECFController.java | 241 ++++++++++ ...enuRelatorioCancelamentoAutomaticoECF.java | 25 + .../utilerias/menu/menu_original.properties | 1 + ...derRelatorioCancelamentoAutomaticoECF.java | 40 ++ ...CancelamentoAutomaticoECFSelecionados.java | 61 +++ web/WEB-INF/i3-label_pt_BR.label | 13 + ...ltroRelatorioCancelamentoAutomaticoECF.zul | 121 +++++ 12 files changed, 1140 insertions(+) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoAutomaticoECF.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoAutomaticoECF_es_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoAutomaticoECF_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoAutomaticoECF.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoAutomaticoECF.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoAutomaticoECFController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCancelamentoAutomaticoECF.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioCancelamentoAutomaticoECF.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioCancelamentoAutomaticoECFSelecionados.java create mode 100644 web/gui/relatorios/filtroRelatorioCancelamentoAutomaticoECF.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoAutomaticoECF.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoAutomaticoECF.java new file mode 100644 index 000000000..0b77706c9 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioCancelamentoAutomaticoECF.java @@ -0,0 +1,152 @@ +/** + * + */ +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.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +/** + * @author Bruno Neves + * + */ +public class RelatorioCancelamentoAutomaticoECF extends Relatorio { + + + public RelatorioCancelamentoAutomaticoECF(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 c.CORRIDA_ID AS Servico , "); + sql.append(" c.RUTA_ID AS Linhas, "); + sql.append(" c.PUNTOVENTA_ID AS agencia , "); + sql.append(" pOrigem.DESCPARADA AS origem, "); + sql.append(" pDestino.DESCPARADA AS destino, "); + sql.append(" c.NUMASIENTO AS poltronas, "); + sql.append(" c.NUMFOLIOSISTEMA AS passagem, "); + sql.append(" cs.DESCCLASE AS classe, "); + sql.append(" c.USUARIO_ID AS bilheteiro, "); + sql.append(" c.FECHORVENTA AS dataVenda, "); + sql.append(" c.PRECIOPAGADO AS tarifa, "); + sql.append(" c.IMPORTETAXAEMBARQUE AS taxa, "); + sql.append(" c.IMPORTEPEDAGIO AS pedagio, "); + sql.append(" c.IMPORTESEGURO AS seguro, "); + sql.append(" c.FECHORVIAJE AS dataEmbarque, "); + sql.append(" c.NUMFOLIOPREIMPRESO AS preImpresso, "); + sql.append(" fr4.NUMSERIE20 AS impressora, "); + sql.append(" e.NOMBEMPRESA AS empresa, "); + sql.append(" fp.DESCPAGO AS formaPagamento, "); + sql.append(" ROUND((100 * cfp.importe) / (coalesce(c.preciopagado,0)+coalesce(c.importetaxaembarque,0)+coalesce(c.importeseguro,0)+coalesce(c.importepedagio,0)+coalesce(c.importeoutros,0)),2) as porcentagem , "); + sql.append(" ct.NSU AS nsu, "); + sql.append(" ct.NUMAUTORIZACION AS autorizacao "); + sql.append(" FROM FISCAL_R4 fr4 "); + sql.append(" INNER JOIN caja c "); + sql.append(" ON c.CAJA_ID = fr4.CAJA_ID "); + sql.append(" INNER JOIN parada pOrigem "); + sql.append(" ON pOrigem.PARADA_ID = c.ORIGEN_ID "); + sql.append(" INNER JOIN parada pDestino "); + sql.append(" ON pDestino.PARADA_ID = c.DESTINO_ID "); + sql.append(" INNER JOIN CLASE_SERVICIO cs "); + sql.append(" ON cs.CLASESERVICIO_ID = c.CLASESERVICIO_ID "); + sql.append(" INNER JOIN EMPRESA e "); + sql.append(" ON e.EMPRESA_ID = c.EMPRESACORRIDA_ID "); + sql.append(" INNER JOIN CAJA_FORMAPAGO cfp "); + sql.append(" ON cfp.CAJA_ID = c.CAJA_ID "); + sql.append(" INNER JOIN FORMA_PAGO fp "); + sql.append(" ON fp.FORMAPAGO_ID = cfp.FORMAPAGO_ID "); + sql.append(" INNER JOIN CAJA_DET_PAGO cdp "); + sql.append(" ON cdp.CAJAFORMAPAGO_ID = cfp.CAJAFORMAPAGO_ID "); + sql.append(" INNER JOIN CAJA_TARJETA ct "); + sql.append(" ON ct.CAJADETPAGO_ID = cdp.CAJADETPAGO_ID "); + sql.append(" WHERE fr4.INDCANCELAMENTO = 'S' "); + //sql.append(" and to_date(fr4.DATAMOV,'yyyyMMdd') between to_date(:DATA_INICIAL,'dd/MM/yyyy') and to_date(:DATA_FINAL,'dd/MM/yyyy')"); + sql.append(" and to_date(fr4.DATAMOV,'yyyyMMdd') >= :DATA_INICIAL "); + sql.append(" and to_date(fr4.DATAMOV,'yyyyMMdd') <= :DATA_FINAL "); + + if(parametros.get("EMPRESA_ID") != null){ + sql.append(" and c.EMPRESAPUNTOVENTA_ID = :EMPRESA_ID"); + } + + if (parametros.get("NUMPUNTOVENTA") != null) { + sql.append(" and c.puntoventa_id IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); + } + + sql.append(" order by fr4.CAJA_ID, cfp.CAJAFORMAPAGO_ID "); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); + if(parametros.get("EMPRESA_ID") != null){ + 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())); + + if(parametros.get("TIPOPUNTOVENTA_ID") != null && !parametros.get("TIPOPUNTOVENTA_ID").toString().equals("-1") ){ + stmt.setInt("TIPOPUNTOVENTA_ID", Integer.valueOf(parametros.get("TIPOPUNTOVENTA_ID").toString())); + } + + ResultSet rset = stmt.executeQuery(); + + while (rset.next()) { + + Map dataResult = new HashMap(); + + dataResult.put("servico", rset.getString("servico")); + dataResult.put("linhas", rset.getString("linhas")); + dataResult.put("agencia", rset.getString("agencia")); + dataResult.put("origem", rset.getString("origem")); + dataResult.put("destino", rset.getString("destino")); + dataResult.put("poltronas", rset.getString("poltronas")); + dataResult.put("passagem", rset.getString("passagem")); + dataResult.put("classe", rset.getString("classe")); + dataResult.put("bilheteiro", rset.getString("bilheteiro")); + dataResult.put("dataVenda", rset.getString("dataVenda")); + dataResult.put("tarifa", rset.getString("tarifa")); + dataResult.put("taxa", rset.getString("taxa")); + dataResult.put("pedagio", rset.getString("pedagio")); + dataResult.put("seguro", rset.getString("seguro")); + dataResult.put("dataEmbarque", rset.getString("dataEmbarque")); + dataResult.put("preImpresso", rset.getString("preImpresso")); + dataResult.put("impressora", rset.getString("impressora")); + dataResult.put("empresa", rset.getString("empresa")); + dataResult.put("formaPagamento", rset.getString("formaPagamento")); + dataResult.put("porcentagem", rset.getString("porcentagem")); + dataResult.put("nsu", rset.getString("nsu")); + dataResult.put("autorizacao", rset.getString("autorizacao")); + 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/RelatorioCancelamentoAutomaticoECF_es_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoAutomaticoECF_es_BR.properties new file mode 100644 index 000000000..c36856c15 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoAutomaticoECF_es_BR.properties @@ -0,0 +1,24 @@ +#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: + +#Labels header +label.aidf=AIDF +label.empresa=Empresa +label.agencia=Agência +label.serie=Série +label.bilhete=Bilhetes +label.numeracao=Numeração +label.subserie=Subserie +label.formInicio=F. Inicio +label.formFim=F. Fim + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoAutomaticoECF_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoAutomaticoECF_pt_BR.properties new file mode 100644 index 000000000..c36856c15 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioCancelamentoAutomaticoECF_pt_BR.properties @@ -0,0 +1,24 @@ +#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: + +#Labels header +label.aidf=AIDF +label.empresa=Empresa +label.agencia=Agência +label.serie=Série +label.bilhete=Bilhetes +label.numeracao=Numeração +label.subserie=Subserie +label.formInicio=F. Inicio +label.formFim=F. Fim + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoAutomaticoECF.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoAutomaticoECF.jasper new file mode 100644 index 0000000000000000000000000000000000000000..a9f2551f01e897367bd3ca3ade7d6d60ad8d2a52 GIT binary patch literal 43329 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 IW@pj=2S}8TyZ`_I literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoAutomaticoECF.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoAutomaticoECF.jrxml new file mode 100644 index 000000000..019d05402 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioCancelamentoAutomaticoECF.jrxml @@ -0,0 +1,438 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoAutomaticoECFController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoAutomaticoECFController.java new file mode 100644 index 000000000..b1aa26f53 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioCancelamentoAutomaticoECFController.java @@ -0,0 +1,241 @@ +/** + * + */ +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.entidad.TipoPuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioCancelamentoAutomaticoECF; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService; +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.RenderRelatorioCancelamentoAutomaticoECF; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioCancelamentoAutomaticoECFSelecionados; + +/** + * @author Bruno Neves + * + */ +@Controller("relatorioCancelamentoAutomaticoECFController") +@Scope("prototype") +public class RelatorioCancelamentoAutomaticoECFController extends MyGenericForwardComposer { + + /** + * + */ + private static final long serialVersionUID = 1L; + private static Logger log = Logger.getLogger(RelatorioCancelamentoAutomaticoECFController.class); + + @Autowired + private DataSource dataSourceRead; + + @Autowired + private EmpresaService empresaService; + + @Autowired + private TipoPuntoVentaService tipoPuntoVentaService; + + private Datebox datInicial; + private Datebox datFinal; + + private MyComboboxEstandar cmbEmpresa; + private List lsEmpresa; + + private MyComboboxEstandar cmbTipoPuntoVenta; + private List lsTipoPuntoVenta; + + @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(); + lsTipoPuntoVenta = tipoPuntoVentaService.obtenerTodos(); + super.doAfterCompose(comp); + + puntoVentaList.setItemRenderer(new RenderRelatorioCancelamentoAutomaticoECF()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioCancelamentoAutomaticoECFSelecionados()); + + } + + 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("relatorioCancelamentoAutomaticoECFController.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(""); + } + + 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("relatorioCancelamentoAutomaticoECFController.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(" Canal Vendas: "); +// Comboitem itemTipoPuntoVenda = cmbTipoPuntoVenta.getSelectedItem(); +// if (itemTipoPuntoVenda != null) { +// TipoPuntoVenta tpv = (TipoPuntoVenta) itemTipoPuntoVenda.getValue(); +// parametros.put("TIPOPUNTOVENTA_ID", tpv.getTipoptovtaId()); +// parametros.put("TIPOPUNTOVENTA", tpv.getDesctipo()); +// filtro.append(tpv.getDesctipo() + ";"); +// } else { +// filtro.append(" Todos;"); +// } + + + parametros.put("FILTROS", filtro.toString()); + relatorio = new RelatorioCancelamentoAutomaticoECF(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioCancelamentoAutomaticoECFController.window.title"), args, MODAL); + } + + public MyListbox getPuntoVentaSelList() { + return puntoVentaSelList; + } + + public void setPuntoVentaSelList(MyListbox puntoVentaSelList) { + this.puntoVentaSelList = puntoVentaSelList; + } + + public List getLsTipoPuntoVenta() { + return lsTipoPuntoVenta; + } + + public void setLsTipoPuntoVenta(List lsTipoPuntoVenta) { + this.lsTipoPuntoVenta = lsTipoPuntoVenta; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCancelamentoAutomaticoECF.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCancelamentoAutomaticoECF.java new file mode 100644 index 000000000..92c5bb300 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioCancelamentoAutomaticoECF.java @@ -0,0 +1,25 @@ +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; + +public class ItemMenuRelatorioCancelamentoAutomaticoECF extends DefaultItemMenuSistema { + + public ItemMenuRelatorioCancelamentoAutomaticoECF() { + super("indexController.mniRelatorioCancelamentoAutomaticoECF.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOCANCELAMENTOAUTOMATICOECF"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioCancelamentoAUtomaticoECF.zul", + Labels.getLabel("relatorioAidfDetalhadoController.window.title"), getArgs(), desktop); + + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index 1d43d65fa..e7b00b52d 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties @@ -126,6 +126,7 @@ analitico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.MenuA analitico.item=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.ItemMenuAnalitico analitico.gerenciais=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.SubMenuGerenciais analitico.gerenciais.aidfDetalhado=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioAidfDetalhado +analitico.gerenciais.cancelamentoAutomaticoECF=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCancelamentoAutomaticoECF analitico.gerenciais.confFormulario=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioConferenciaFormularioFisico analitico.gerenciais.difTransf=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioDiferencasTransferencias analitico.gerenciais.empresaCorrida=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioEmpresaCorrida diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioCancelamentoAutomaticoECF.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioCancelamentoAutomaticoECF.java new file mode 100644 index 000000000..cc807dca7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioCancelamentoAutomaticoECF.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 Bruno Neves + * + */ +public class RenderRelatorioCancelamentoAutomaticoECF 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/RenderRelatorioCancelamentoAutomaticoECFSelecionados.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioCancelamentoAutomaticoECFSelecionados.java new file mode 100644 index 000000000..e7b7bdff4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRelatorioCancelamentoAutomaticoECFSelecionados.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 Bruno Neves + * + */ +public class RenderRelatorioCancelamentoAutomaticoECFSelecionados 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_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index cd803efb8..d5456dfaa 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -272,6 +272,7 @@ 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.mniRelatorioCancelamentoAutomaticoECF.label = Relatório de Cancelamento Automatico ECF indexController.mniRelatorioAgenciasNaoImportadas.label = Relatório de Agências não Importadas indexController.mniRelatorioCheckin.label = Checkin's indexController.mniFechamentoParamgeral.label = Configuração de Boleto @@ -694,6 +695,18 @@ relatorioVendasBilheteiroSinteticoController.lbNumero.value = Número Agência relatorioVendasBilheteiroSinteticoController.lbBilheteiro.value = Bilheteiro relatorioVendasBilheteiroSinteticoController.lbCanalVendas.value = Canal Vendas +#relatório de cancelamento automático ECF +relatorioCancelamentoAutomaticoECFController.window.title = Relatório de Cancelamento Automatico ECF +relatorioCancelamentoAutomaticoECFController.lbDatInicial.value = Data inicial +relatorioCancelamentoAutomaticoECFController.lbDatFinal.value = Data final +relatorioCancelamentoAutomaticoECFController.lbPuntoVenta.value = Agência +relatorioCancelamentoAutomaticoECFController.lbEmpresa.value = Empresa +relatorioCancelamentoAutomaticoECFController.btnPesquisa.label = Buscar +relatorioCancelamentoAutomaticoECFController.btnLimpar.label = Limpar +relatorioCancelamentoAutomaticoECFController.lbNumero.value = Número Agência +relatorioCancelamentoAutomaticoECFController.lbBilheteiro.value = Bilheteiro +relatorioCancelamentoAutomaticoECFController.lbCanalVendas.value = Canal Vendas + #Relatório de Demandas relatorioDemandasController.window.title = Relatório de Demandas relatorioDemandasController.lbDatInicial.value = Data Inicial diff --git a/web/gui/relatorios/filtroRelatorioCancelamentoAutomaticoECF.zul b/web/gui/relatorios/filtroRelatorioCancelamentoAutomaticoECF.zul new file mode 100644 index 000000000..1f06776af --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioCancelamentoAutomaticoECF.zul @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +