diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaCustomController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaCustomController.java index a83c87db0..09387eacd 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaCustomController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaCustomController.java @@ -22,8 +22,11 @@ import org.zkoss.zul.Comboitem; import org.zkoss.zul.Paging; import org.zkoss.zul.Textbox; +import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; import com.rjconsultores.ventaboletos.entidad.Custom; import com.rjconsultores.ventaboletos.enums.SistemaEnum; +import com.rjconsultores.ventaboletos.service.FuncionSistemaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; @@ -39,8 +42,14 @@ import com.trg.search.Search; @Scope("prototype") public class BusquedaCustomController extends MyGenericForwardComposer { + private static final long serialVersionUID = 1L; + @Autowired private transient PagedListWrapper plwCustom; + + @Autowired + private FuncionSistemaService funcionSistemaService; + private MyListbox customList; private Paging pagingCustom; private Textbox txtChave; @@ -81,6 +90,13 @@ public class BusquedaCustomController extends MyGenericForwardComposer { openWindow("/gui/catalogos/editarCustom.zul", Labels.getLabel("customController.window.title"), args, MODAL); } + + private void verCustomUploadArquivo() { + Map args = new HashMap(); + args.put("customList", customList); + openWindow("/gui/catalogos/editarCustomUploadArquivo.zul", + Labels.getLabel("customController.uploadArquivo.titulo"), args, MODAL); + } private void refreshLista() { HibernateSearchObject customBusqueda = new HibernateSearchObject(Custom.class, @@ -122,6 +138,10 @@ public class BusquedaCustomController extends MyGenericForwardComposer { public void onClick$btnNovo(Event ev) { verCustom(new Custom()); } + + public void onClick$btnUpLoad(Event ev) { + verCustomUploadArquivo(); + } public PagedListWrapper getPlwCustom() { return plwCustom; @@ -178,5 +198,9 @@ public class BusquedaCustomController extends MyGenericForwardComposer { public void setCustomBusqueda(Search customBusqueda) { this.customBusqueda = customBusqueda; } + + public Boolean getExibirBtnUpload() { + return UsuarioLogado.getUsuarioLogado().isPermisoClave(ConstantesFuncionSistema.CLAVE_UPLOAD_ARQUIVO_CONFIGURACAO); + } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCustomUploadArquivoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCustomUploadArquivoController.java new file mode 100644 index 000000000..27c932169 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCustomUploadArquivoController.java @@ -0,0 +1,163 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; + +import java.util.Arrays; +import java.util.List; +import java.util.Properties; + +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.media.Media; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Fileupload; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Label; +import org.zkoss.zul.Messagebox; +import org.zkoss.zul.api.Comboitem; + +import com.rjconsultores.ventaboletos.enums.SistemaEnum; +import com.rjconsultores.ventaboletos.service.CustomService; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +/** + * + * @author Wilian + */ +@Controller("editarCustomUploadArquivoController") +@Scope("prototype") +public class EditarCustomUploadArquivoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + @Autowired + private CustomService customService; + + private Combobox cmbSistema; + private List lsSistemaEnum; + + private MyListbox customList; + + private Properties arquivo; + + private Checkbox chkSubstituirExistente; + private Label lbNomeArquivo; + + private static Logger log = Logger.getLogger(EditarCustomUploadArquivoController.class); + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + + customList = (MyListbox) Executions.getCurrent().getArg().get("customList"); + lsSistemaEnum = Arrays.asList(SistemaEnum.values()); + } + + public void onClick$btnSalvar(Event ev) throws InterruptedException { + try { + + if(arquivo == null) { + Messagebox.show( + Labels.getLabel("customController.uploadArquivo.naoCarregado"), + Labels.getLabel("customController.uploadArquivo.titulo"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + + if(getCmbSistema() == null || getCmbSistema().getSelectedItem() == null) { + Messagebox.show( + Labels.getLabel("customController.uploadArquivo.sistemaNaoInformado"), + Labels.getLabel("customController.uploadArquivo.titulo"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + chkSubstituirExistente.getValue(); + + int resp = Messagebox.show( + Labels.getLabel("customController.uploadArquivo.confirmar"), + Labels.getLabel("customController.uploadArquivo.titulo"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + Comboitem cbSistema = cmbSistema.getSelectedItem(); + SistemaEnum sistemaEnum = (SistemaEnum) cbSistema.getValue(); + + customService.carregarArquivoProperties(sistemaEnum, arquivo, chkSubstituirExistente.isChecked()); + + Messagebox.show( + Labels.getLabel("customController.MSG.suscribirOK"), + Labels.getLabel("customController.uploadArquivo.titulo"), + Messagebox.OK, Messagebox.INFORMATION); + + closeWindow(); + } + + + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + Messagebox.show( + Labels.getLabel("MSG.Error"), + Labels.getLabel("customController.uploadArquivo.titulo"), + Messagebox.OK, Messagebox.ERROR); + } + } + + + public void onClick$btnCarregarArquivo(Event ev) throws InterruptedException { + try { + Media mArquivoPropriedade = Fileupload.get(); + + lbNomeArquivo.setValue(""); + arquivo = null; + if(mArquivoPropriedade != null) { + lbNomeArquivo.setValue(mArquivoPropriedade.getName()); + arquivo = new Properties(); + arquivo.load(mArquivoPropriedade.getStreamData()); + } + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + Messagebox.show( + Labels.getLabel("customController.uploadArquivo.arquivoInvalido"), + Labels.getLabel("customController.uploadArquivo.titulo"), + Messagebox.OK, Messagebox.ERROR); + } + } + + public MyListbox getCustomList() { + return customList; + } + + public void setCustomList(MyListbox customList) { + this.customList = customList; + } + + public List getLsSistemaEnum() { + return lsSistemaEnum; + } + + public void setLsSistemaEnum(List lsSistemaEnum) { + this.lsSistemaEnum = lsSistemaEnum; + } + + public Combobox getCmbSistema() { + return cmbSistema; + } + + public void setCmbSistema(Combobox cmbSistema) { + this.cmbSistema = cmbSistema; + } + + public Label getLbNomeArquivo() { + return lbNomeArquivo; + } + +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index a980f28e0..2af0c3fdc 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -8155,6 +8155,12 @@ customController.MSG.suscribirOK = Customização Registrada com Sucesso. customController.MSG.borrarPergunta = Eliminar customização? customController.MSG.borrarOK = Customização Excluida com Sucesso. customController.MSG.modificar = Cuidado! Ao alterar este valor o sistema será modificado automaticamente. +customController.uploadArquivo.titulo = Carregar Arquivo Propriedades +customController.uploadArquivo.naoCarregado = Arquivo Propriedades não carregado +customController.uploadArquivo.substituirExistente = Substituir Chaves existentes +customController.uploadArquivo.sistemaNaoInformado = Selecione o Sistema +customController.uploadArquivo.arquivoInvalido = Não foi possível carregar o arquivo de propriedades +customController.uploadArquivo.confirmar = Confirmar Arquivo de Propriedades? #Relatorio BPe relatorioBPeController.window.title = Relatório BPe diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index b902f80e8..77b82d2c6 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -8703,7 +8703,7 @@ editarPtovtaAntifraudeController.window.title=Editar Chave Antifraude # Custom customController.window.title = Customização Sistema -customController.btnSalvar.tooltiptext = Guardar +customController.btnSalvar.tooltiptext = Salvar customController.id.value=ID customController.chave.value=Chave customController.sistema.value=Sistema @@ -8718,6 +8718,12 @@ customController.MSG.suscribirOK = Customização Registrada com Sucesso. customController.MSG.borrarPergunta = Eliminar customização? customController.MSG.borrarOK = Customização Excluida com Sucesso. customController.MSG.modificar = Cuidado! Ao alterar este valor o sistema será modificado automaticamente. +customController.uploadArquivo.titulo = Carregar Arquivo Propriedades +customController.uploadArquivo.naoCarregado = Arquivo Propriedades não carregado +customController.uploadArquivo.substituirExistente = Substituir Chaves existentes +customController.uploadArquivo.sistemaNaoInformado = Selecione o Sistema +customController.uploadArquivo.arquivoInvalido = Não foi possível carregar o arquivo de propriedades +customController.uploadArquivo.confirmar = Confirmar Arquivo de Propriedades? #Relatorio BPe relatorioBPeController.window.title = Relatório BPe diff --git a/web/gui/catalogos/busquedaCustom.zul b/web/gui/catalogos/busquedaCustom.zul index 5da5e5986..c2933ecf6 100644 --- a/web/gui/catalogos/busquedaCustom.zul +++ b/web/gui/catalogos/busquedaCustom.zul @@ -14,6 +14,11 @@