diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/RecebimentoMaloteController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/RecebimentoMaloteController.java new file mode 100644 index 000000000..bcc8d4ffe --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/comissao/RecebimentoMaloteController.java @@ -0,0 +1,155 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.comissao; + +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.zk.ui.event.EventListener; +import org.zkoss.zk.ui.event.InputEvent; +import org.zkoss.zk.ui.event.KeyEvent; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.service.ConferenciaComissaoService; +import com.rjconsultores.ventaboletos.vo.comissao.EtiquetaMalote; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; + +@Scope("prototype") +@Controller("recebimentoMaloteController") +public class RecebimentoMaloteController extends MyGenericForwardComposer { + + private static Logger log = Logger.getLogger(RecebimentoMaloteController.class); + + private static final long serialVersionUID = 1L; + + @Autowired + private ConferenciaComissaoService conferenciaComissaoService; + + private EtiquetaMalote etiquetaMalote; + private Textbox txtCodigoBarras; + private Textbox txtEmpresa; + private Textbox txtPuntoVenta; + private Textbox txtDatasMalote; + private Textbox txtNumeroMalote; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + + txtCodigoBarras.setCtrlKeys("#f10#f12#f3"); + txtCodigoBarras.addEventListener("onChanging", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + if(event instanceof InputEvent) { + InputEvent inputEvent = (InputEvent) event; + if(inputEvent.getValue().length() == 35) { + pesquisa(inputEvent.getValue()); + } + } + } + + }); + txtCodigoBarras.addEventListener("onCtrlKey", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + if(event instanceof KeyEvent) { + KeyEvent keyEvent = (KeyEvent) event; + if(keyEvent.getKeyCode() == KeyEvent.F10) { + onClick$btnPesquisa(event); + } else if(keyEvent.getKeyCode() == KeyEvent.F12) { + onClick$btnConfirmar(event); + } else if(keyEvent.getKeyCode() == KeyEvent.F3) { + onClick$btnLimpar(event); + } + } + } + }); + + txtCodigoBarras.focus(); + } + + public void onClick$btnPesquisa(Event ev) throws InterruptedException { + txtCodigoBarras.getValue(); + pesquisa(txtCodigoBarras.getValue()); + } + + private void pesquisa(String codigoBarras) throws InterruptedException { + try { + if(verificarCampos(codigoBarras)) { + etiquetaMalote = conferenciaComissaoService.decodificarEtiquetaMalote(codigoBarras); + txtEmpresa.setValue(etiquetaMalote.getNombempresa()); + txtPuntoVenta.setValue(etiquetaMalote.getNombpuntoventa()); + txtDatasMalote.setValue(etiquetaMalote.getDatasMalote()); + txtNumeroMalote.setValue(etiquetaMalote.getNumeroMalote()); + } + + } catch (Exception e) { + log.error(e.getMessage(), e); + Messagebox.show(Labels.getLabel("MSG.Error"), + Labels.getLabel("recebimentoMaloteController.window.title"), + Messagebox.OK,Messagebox.ERROR); + } + txtCodigoBarras.focus(); + } + + private boolean verificarCampos(String codigoBarras) throws InterruptedException { + if(codigoBarras == null || codigoBarras.length() != 35) { + Messagebox.show(Labels.getLabel("recebimentoMaloteController.msg.erro.codigoBarrasInvalido"), + Labels.getLabel("recebimentoMaloteController.window.title"), + Messagebox.OK,Messagebox.ERROR); + return false; + } + return true; + } + + public void onClick$btnLimpar(Event ev) { + try { + limpar(); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + + private void limpar() { + etiquetaMalote = new EtiquetaMalote(); + txtCodigoBarras.setValue(""); + txtDatasMalote.setValue(""); + txtEmpresa.setValue(""); + txtPuntoVenta.setValue(""); + txtNumeroMalote.setValue(""); + txtCodigoBarras.focus(); + } + + public void onClick$btnConfirmar(Event ev) throws InterruptedException { + try { + if(getEtiquetaMalote() != null) { + conferenciaComissaoService.confirmarChegadaMalote(getEtiquetaMalote()); + Messagebox.show(Labels.getLabel("recebimentoMaloteController.msg.info.maloteRecebido"), + Labels.getLabel("recebimentoMaloteController.window.title"), + Messagebox.OK,Messagebox.INFORMATION); + limpar(); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + Messagebox.show(Labels.getLabel("MSG.Error"), + Labels.getLabel("recebimentoMaloteController.window.title"), + Messagebox.OK,Messagebox.ERROR); + } + + txtCodigoBarras.focus(); + } + + public EtiquetaMalote getEtiquetaMalote() { + return etiquetaMalote; + } + + public void setEtiquetaMalote(EtiquetaMalote etiquetaMalote) { + this.etiquetaMalote = etiquetaMalote; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/comissao/ItemMenuRecebimentoMalote.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/comissao/ItemMenuRecebimentoMalote.java new file mode 100644 index 000000000..2c4ba4284 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/comissao/ItemMenuRecebimentoMalote.java @@ -0,0 +1,24 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.comissao; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRecebimentoMalote extends DefaultItemMenuSistema { + + public ItemMenuRecebimentoMalote() { + super("indexController.mniRecebimentoMalote.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.COMISSAO.MENU.RECEBIMENTOMALOTE"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/comissao/recebimentoMalote.zul", + Labels.getLabel("recebimentoMaloteController.window.title"), getArgs(), desktop); + } +} \ No newline at end of file diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 59187aa55..1459caf8a 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -262,6 +262,7 @@ indexController.mniRelatorioVendasComissao.label = Reporte de Ventas Comisionist indexController.mniRelatorioMovimentosAtraso.label = Reporte de Movimientos Retrasados indexController.mniRelatorioObservacaoBilhetes.label = Reporte Observación Boletos indexController.mniRelatorioObservacaoEventosFinanceiros.label = Reporte Observación Eventos Financieros +indexController.mniRecebimentoMalote.label = Recebimento Malote indexController.mniSubMenuClientePacote.label=Paquete indexController.mniManutencaoPacote.label=Mantenimiento Paquete @@ -6135,3 +6136,20 @@ relatorioArquivoBGMController.lbDataIni.value = Data Inicial relatorioArquivoBGMController.lbDataFin.value = Data Final relatorioArquivoBGMController.lbEmpresa.value = Empresa relatorioArquivoBGMController.lbPuntoVenta.value = Agência + +# Recebimento Malote +recebimentoMaloteController.window.title = Recebimento Malote +recebimentoMaloteController.btnConfirmar.label = Confirmar - F12 +recebimentoMaloteController.btnLimpar.label = Limpiar - F3 +recebimentoMaloteController.btnPesquisa.label = Búsqueda - F10 +recebimentoMaloteController.lbCodigoBarras.label = Código de Barras +recebimentoMaloteController.lbNumeroMalote.value = Número Malote +recebimentoMaloteController.lbEmpresa.value = Empresa +recebimentoMaloteController.lbPuntoVenta.value = Ponto de Venda (Agência) +recebimentoMaloteController.lbDatasMalote.value = Fechas Malote +recebimentoMaloteController.lbDadosMalote.value = Dados do Malote +recebimentoMaloteController.msg.erro.codigoBarrasInvalido = Código de Barras inválido +recebimentoMaloteController.msg.erro.empresaNaoLocalizada = Empresa não foi localizada +recebimentoMaloteController.msg.erro.puntoVentaNaoLocalizado = Ponto de Venda (Agência) não foi localizado +recebimentoMaloteController.msg.info.maloteRecebido = Malote recebido com sucesso +recebimentoMaloteController.msg.info.maloteRecebido = Malotes recebidos com sucesso \ 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 d3c6d98e9..ff848c77f 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -267,6 +267,7 @@ indexController.mniRelatorioVendasComissao.label = Relatório de Vendas de Comis indexController.mniRelatorioMovimentosAtraso.label = Relatório de Movimentos em Atraso indexController.mniRelatorioObservacaoBilhetes.label = Relatório Observação Bilhetes indexController.mniRelatorioObservacaoEventosFinanceiros.label = Relatório Observação Eventos Financeiros +indexController.mniRecebimentoMalote.label = Recebimento Malote indexController.mnSubMenuImpressaoFiscal.label=Impressão Fiscal indexController.mnSubMenuRelatorioImpressaoFiscal.label=Relatório Impressão Fiscal @@ -6271,3 +6272,19 @@ relatorioArquivoBGMController.lbDataIni.value = Data Inicial relatorioArquivoBGMController.lbDataFin.value = Data Final relatorioArquivoBGMController.lbEmpresa.value = Empresa relatorioArquivoBGMController.lbPuntoVenta.value = Agência + +# Recebimento Malote +recebimentoMaloteController.window.title = Recebimento Malote +recebimentoMaloteController.btnConfirmar.label = Confirmar - F12 +recebimentoMaloteController.btnLimpar.label = Limpar - F3 +recebimentoMaloteController.btnPesquisa.label = Pesquisar - F10 +recebimentoMaloteController.lbCodigoBarras.label = Código de barras +recebimentoMaloteController.lbNumeroMalote.value = Número Malote +recebimentoMaloteController.lbEmpresa.value = Empresa +recebimentoMaloteController.lbPuntoVenta.value = Ponto de Venda (Agência) +recebimentoMaloteController.lbDatasMalote.value = Datas no Malote +recebimentoMaloteController.lbDadosMalote.value = Dados do Malote +recebimentoMaloteController.msg.erro.codigoBarrasInvalido = Código de Barras inválido +recebimentoMaloteController.msg.erro.empresaNaoLocalizada = Empresa não foi localizada +recebimentoMaloteController.msg.erro.puntoVentaNaoLocalizado = Ponto de Venda (Agência) não foi localizado +recebimentoMaloteController.msg.info.maloteRecebido = Malote recebido com sucesso \ No newline at end of file diff --git a/web/gui/comissao/recebimentoMalote.zul b/web/gui/comissao/recebimentoMalote.zul new file mode 100644 index 000000000..e026f895b --- /dev/null +++ b/web/gui/comissao/recebimentoMalote.zul @@ -0,0 +1,93 @@ + + + + + + + + + +