From f98fed194c7e36674020755b4084d01c6f821c54 Mon Sep 17 00:00:00 2001 From: wilian Date: Wed, 11 Dec 2019 14:43:07 +0000 Subject: [PATCH] fixes bug#17529 dev:thiago qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@99318 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../seguridad/ReenvioBpeController.java | 243 ++++++++++++++++++ .../item/seguridad/ItemMenuReenvioBPe.java | 25 ++ .../utilerias/menu/menu_original.properties | 1 + .../web/utilerias/render/RenderBpe.java | 45 ++++ web/WEB-INF/i3-label_es_MX.label | 25 +- web/WEB-INF/i3-label_pt_BR.label | 24 +- web/gui/seguridad/busquedaReenvioBpe.zul | 119 +++++++++ 7 files changed, 480 insertions(+), 2 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/ReenvioBpeController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuReenvioBPe.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderBpe.java create mode 100644 web/gui/seguridad/busquedaReenvioBpe.zul diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/ReenvioBpeController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/ReenvioBpeController.java new file mode 100644 index 000000000..5356992e4 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/ReenvioBpeController.java @@ -0,0 +1,243 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.seguridad; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +import org.apache.commons.lang.StringUtils; +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.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.Estado; +import com.rjconsultores.ventaboletos.service.BpeService; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.EstadoService; +import com.rjconsultores.ventaboletos.vo.bpe.BPeVO; +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.render.RenderBpe; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEstadoUf; + +@Controller("reenvioBpeController") +@Scope("prototype") +public class ReenvioBpeController extends MyGenericForwardComposer { + + private static Logger log = Logger.getLogger(ReenvioBpeController.class); + + private static final long serialVersionUID = 1L; + + private Datebox dtInicio; + private Datebox dtFim; + private MyComboboxEstandar cmbEmpresa; + private Combobox cmbPuntoVenta; + private MyListbox estadoList; + private Textbox txtChBpe; + private Textbox txtNumBpe; + private Textbox txtCodigoRejeicao; + + private List lsEmpresa; + private List lsEstado; + private MyListbox bpeReenvioList; + + @Autowired + private EmpresaService empresaService; + @Autowired + private EstadoService estadoService; + @Autowired + private BpeService bpeService; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + lsEstado = estadoService.obtenerTodos(); + super.doAfterCompose(comp); + + estadoList.setItemRenderer(new RenderEstadoUf()); + estadoList.setData(lsEstado); + + bpeReenvioList.setItemRenderer(new RenderBpe()); + bpeReenvioList.setData(new ArrayList()); + } + + private void buscarBpeReenvio() throws Exception { + if (!validar()) { + return; + } + + Integer empresaId = null; + Date dataVendaInicio = null; + Date dataVendaFim = null; + String chbpe = null; + String numbpe = null; + List estados = new ArrayList(); + List codigosRejeicoes = new ArrayList(); + + if (dtInicio.getValue() != null && dtFim.getValue() != null) { + dataVendaInicio = dtInicio.getValue(); + dataVendaFim = dtFim.getValue(); + } + + List lsEstadosSelecionados = estadoList.getItensSelecionados(); + + if (!lsEstadosSelecionados.isEmpty()) { + for (int i = 0; i < lsEstadosSelecionados.size(); i++) { + Estado estado = (Estado) lsEstadosSelecionados.get(i); + estados.add(estado.getEstadoId()); + } + } + + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + empresaId = empresa.getEmpresaId(); + } + + txtChBpe.getValue(); + if(StringUtils.isNotBlank(txtChBpe.getValue())) { + chbpe = txtChBpe.getValue(); + } + + txtNumBpe.getValue(); + if(StringUtils.isNotBlank(txtNumBpe.getValue())) { + numbpe = txtNumBpe.getValue(); + } + + txtCodigoRejeicao.getValue(); + if(StringUtils.isNotBlank(txtCodigoRejeicao.getValue())) { + codigosRejeicoes = Arrays.asList(txtCodigoRejeicao.getValue().split(";")); + } + + List lsBpes = bpeService.buscarBPeRejeitadosContingencia(empresaId, numbpe, chbpe, dataVendaInicio, dataVendaFim, estados, codigosRejeicoes); + if(lsBpes == null || lsBpes.isEmpty()) { + Messagebox.show(Labels.getLabel("reenvioBpeController.MSG.bpeNaoLocalizado"), + Labels.getLabel("reenvioBpeController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + bpeReenvioList.setData(lsBpes); + + } + + private boolean validar() { + try { + txtChBpe.getValue(); + txtNumBpe.getValue(); + + boolean isFiltroChbpeOrNumbpe = StringUtils.isNotBlank(txtChBpe.getValue()) || StringUtils.isNotBlank(txtNumBpe.getValue()); + + if(!isFiltroChbpeOrNumbpe) { + if (dtInicio.getValue() == null || dtFim.getValue() == null) { + Messagebox.show(Labels.getLabel("relatorioBPeController.MSG.informarData"), + Labels.getLabel("reenvioBpeController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + + if(dtInicio.getValue().after(dtFim.getValue())){ + Messagebox.show(Labels.getLabel("relatorioBPeController.MSG.dataInicialMaiorQueFinal"), + Labels.getLabel("reenvioBpeController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + return false; + } + } + + } catch (InterruptedException ex) { + return false; + } + return true; + } + + public void onClick$btnBuscarBpe(Event ev) throws Exception { + buscarBpeReenvio(); + } + + public void onClick$btnReenviarBpe(Event ev) throws Exception { + try { + List bpesSelecionados = bpeReenvioList.getItensSelecionados(BPeVO.class); + if(bpesSelecionados == null || bpesSelecionados.isEmpty()) { + Messagebox.show(Labels.getLabel("reenvioBpeController.MSG.bpeNaoSelecionados"), + Labels.getLabel("reenvioBpeController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + bpeService.definirBPeRejeitadoSefazReenvio(bpesSelecionados); + Messagebox.show(Labels.getLabel("reenvioBpeController.MSG.bpeDefinidosReenvio"), + Labels.getLabel("reenvioBpeController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + bpeReenvioList.clearSelection(); + bpeReenvioList.clear(); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } + + public Datebox getDtInicio() { + return dtInicio; + } + + public void setDtInicio(Datebox dtInicio) { + this.dtInicio = dtInicio; + } + + public Datebox getDtFim() { + return dtFim; + } + + public void setDtFim(Datebox dtFim) { + this.dtFim = dtFim; + } + + public MyComboboxEstandar getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(MyComboboxEstandar cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public Combobox getCmbPuntoVenta() { + return cmbPuntoVenta; + } + + public void setCmbPuntoVenta(Combobox cmbPuntoVenta) { + this.cmbPuntoVenta = cmbPuntoVenta; + } + + public MyListbox getEstadoList() { + return estadoList; + } + + public void setEstadoList(MyListbox estadoList) { + this.estadoList = estadoList; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public List getLsEstado() { + return lsEstado; + } + + public void setLsEstado(List lsEstado) { + this.lsEstado = lsEstado; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuReenvioBPe.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuReenvioBPe.java new file mode 100644 index 000000000..1b2c21550 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/seguridad/ItemMenuReenvioBPe.java @@ -0,0 +1,25 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad; + +import org.apache.log4j.Logger; +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuReenvioBPe extends DefaultItemMenuSistema { + public ItemMenuReenvioBPe() { + super("indexController.mniReenvioBpe.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.SEGURIDAD.MENU.REENVIO_BPE"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/seguridad/busquedaReenvioBpe.zul", + Labels.getLabel("busquedaReenvioBpeController.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 931961da6..2020ed134 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 @@ -270,6 +270,7 @@ seguridad.dispositivoVendaEmbarcada=com.rjconsultores.ventaboletos.web.utilerias seguridad.autorizacaoSerieEmbarcada=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuAutorizacaoUsoSerieEmbarcada seguridad.painelBpe=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuPainelBPe seguridad.contingencia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuContingencia +seguridad.reenvioBpe=com.rjconsultores.ventaboletos.web.utilerias.menu.item.seguridad.ItemMenuReenvioBPe pasajerofrecuente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pasajerofrecuente.MenuPasajeroFrecuente pasajerofrecuente.cliente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pasajerofrecuente.ItemMenuCliente pasajerofrecuente.importarClientes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.pasajerofrecuente.ItemMenuImportarClientes diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderBpe.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderBpe.java new file mode 100644 index 000000000..71e6524d2 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderBpe.java @@ -0,0 +1,45 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +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.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.vo.bpe.BPeVO; + +public class RenderBpe implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + BPeVO bpe = (BPeVO) o; + + Listcell lc = new Listcell(bpe.getNombempresa().toString()); + lc.setParent(lstm); + + lc = new Listcell(bpe.getUf()); + lc.setParent(lstm); + + lc = new Listcell(DateUtil.getStringDate(bpe.getFechorventa(), "dd/MM/yyyy HH:mm")); + lc.setParent(lstm); + + lc = new Listcell(bpe.getNumBpeSerie()); + lc.setParent(lstm); + + lc = new Listcell(bpe.getCodstat()); + lc.setParent(lstm); + + lc = new Listcell(bpe.getChbpe()); + lc.setParent(lstm); + + lc = new Listcell(bpe.getMotivo()); + lc.setParent(lstm); + + lc = new Listcell(bpe.getErrocontingencia()); + lc.setParent(lstm); + + lstm.setAttribute("data", bpe); + } +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index bb09e6f6c..c62d0f2b2 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -72,6 +72,10 @@ lb.ate = Hasta lb.dataIni.value = Fecha Ini lb.dataFin.value = Fecha fin lb.empresa = Empresa +lb.dataVenda = Fecha Venta +lb.uf = Cve Estado +lb.numBpe = Número BP-e +lb.chbpe = Chave BP-e lb.todas = TODAS lb.puntoventa = Punto Venta @@ -393,6 +397,9 @@ indexController.mniRelatorioDescontos.label = Descuentos indexController.mniRelatorioDepositos.label=Cierre Cnt Contábil / Depósitos indexController.mniRelatorioDepositosDetalhados.label= Depósitos Detallados indexController.mniRelatorioPosicaoCaixaAnalitico.label= Reporte de Numeración Lógica +indexController.mniPainelBpe.label = Painel BPe +indexController.mniReenvioBpe.label = Reenvio BP-e + relatorioPosicaoCaixaAnaliticoController.lbPuntoVenta.value=Punto de venta relatorioPosicaoCaixaAnaliticoController.lbEmpresa.value=Empresa relatorioPosicaoCaixaAnaliticoController.lbNumero.value=Numero punto de venta @@ -8444,4 +8451,20 @@ relatorioVendasCartoesController.lb.buscarDataVenda.value = Buscar por data da V busquedaTarifaEmbarcadaController.window.title = Alteração de Preço - Embarcada editarTarifaEmbarcadaController.window.title = Tarifa Embarcada editarTarifaEmbarcadaController.btnFechar.MSG.Deseja.Borrar = Deseja Eliminar? -editarTarifaEmbarcadaController.btnFechar.MSG.SuscbrirOK = Tarifa Embarcada Registrada com Sucesso. \ No newline at end of file +editarTarifaEmbarcadaController.btnFechar.MSG.SuscbrirOK = Tarifa Embarcada Registrada com Sucesso. + +# Reenvio BPe +busquedaReenvioBpeController.window.title = Reenvio BP-e +reenvioBpeController.lbDtInicio.value = Fecha Venta Inicio +reenvioBpeController.lbDtFim.value = Fecha Venta Fin +reenvioBpeController.lbl.btnBuscarBpe = Buscar +reenvioBpeController.lbl.numBpeSerie = Número/Série +reenvioBpeController.lbl.motivo = Motivo +reenvioBpeController.lbl.rejeicaoContingencia = Rejeição Contingência +reenvioBpeController.lbl.codstat = CODSTAT +reenvioBpeController.lbl.reenviar = Reenviar +reenvioBpeController.lbl.selecioneReenvio = Selecione os BP-e para Reenvio +reenvioBpeController.lbl.codigoRejeicao = Código Rejeição (Separados por ';') +reenvioBpeController.MSG.bpeNaoSelecionados = Nenhum BP-e selecionado para reenvio +reenvioBpeController.MSG.bpeDefinidosReenvio = BP-e(s) selecioando(s) definido(s) para reenvio com sucesso +reenvioBpeController.MSG.bpeNaoLocalizado = Nenhum BP-e localizado com os filtros informados \ 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 f17801dcc..ed14ef2e7 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -73,6 +73,10 @@ lb.ate = até lb.dataIni.value = Data Inicial lb.dataFin.value = Data Final lb.empresa = Empresa +lb.dataVenda = Data Venda +lb.uf = UF +lb.numBpe = Número BP-e +lb.chbpe = Chave BP-e lb.todas = TODAS lb.puntoventa = Ponto de Venda (Agência) @@ -401,6 +405,7 @@ indexController.mniCustom.label = Customização Sistema indexController.mniDispositivoVendaEmbarcada.label = Dispositivo Venda Embarcada indexController.mniAutorizacaoUsoSerieEmbarcada.label = Autorização de uso de Série por Dispositivo indexController.mniPainelBpe.label = Painel BPe +indexController.mniReenvioBpe.label = Reenvio BP-e indexController.mniEscola.label = Escola indexController.mniCurso.label = Curso @@ -409,6 +414,7 @@ indexController.mniRelatorioDescontos.label = Vendas com Desconto indexController.mniRelatorioDepositos.label=Fechamento Conta Corrente / Depósitos indexController.mniRelatorioDepositosDetalhados.label=Depósitos Detalhados indexController.mniRelatorioPosicaoCaixaAnalitico.label=Numeração Lógica + relatorioPosicaoCaixaAnaliticoController.lbPuntoVenta.value=Ponto de Venda relatorioPosicaoCaixaAnaliticoController.lbEmpresa.value=Empresa relatorioPosicaoCaixaAnaliticoController.lbNumero.value=Número Ponto de Venda @@ -8976,4 +8982,20 @@ busquedaTarifaEmbarcadaController.window.title = Alteração de Preço - Embarca editarTarifaEmbarcadaController.window.title = Tarifa Embarcada editarTarifaEmbarcadaController.btnFechar.MSG.Deseja.Borrar = Deseja Eliminar? editarTarifaEmbarcadaController.btnFechar.MSG.SuscbrirOK = Tarifa Embarcada Registrada com Sucesso. -editarTarifaEmbarcadaController.btnFechar.MSG.borrarOK = Tarifa Embarcada Excluida com Sucesso. \ No newline at end of file +editarTarifaEmbarcadaController.btnFechar.MSG.borrarOK = Tarifa Embarcada Excluida com Sucesso. + +# Reenvio BPe +busquedaReenvioBpeController.window.title = Reenvio BP-e +reenvioBpeController.lbDtInicio.value = Data Venda Inicial +reenvioBpeController.lbDtFim.value = Data Venda Final +reenvioBpeController.lbl.btnBuscarBpe = Buscar +reenvioBpeController.lbl.numBpeSerie = Número/Série +reenvioBpeController.lbl.motivo = Motivo +reenvioBpeController.lbl.rejeicaoContingencia = Rejeição Contingência +reenvioBpeController.lbl.codstat = CODSTAT +reenvioBpeController.lbl.reenviar = Reenviar +reenvioBpeController.lbl.selecioneReenvio = Selecione os BP-e para Reenvio +reenvioBpeController.lbl.codigoRejeicao = Código Rejeição (Separados por ';') +reenvioBpeController.MSG.bpeNaoSelecionados = Nenhum BP-e selecionado para reenvio +reenvioBpeController.MSG.bpeDefinidosReenvio = BP-e(s) selecioando(s) definido(s) para reenvio com sucesso +reenvioBpeController.MSG.bpeNaoLocalizado = Nenhum BP-e localizado com os filtros informados \ No newline at end of file diff --git a/web/gui/seguridad/busquedaReenvioBpe.zul b/web/gui/seguridad/busquedaReenvioBpe.zul new file mode 100644 index 000000000..876edc25e --- /dev/null +++ b/web/gui/seguridad/busquedaReenvioBpe.zul @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +