com.automaster.client.ui.paineis.dialogs.editar.cadastronovo.EditarNovoUsuario.java Source code

Java tutorial

Introduction

Here is the source code for com.automaster.client.ui.paineis.dialogs.editar.cadastronovo.EditarNovoUsuario.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.automaster.client.ui.paineis.dialogs.editar.cadastronovo;

import com.automaster.client.Info;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.Record;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.AnimationEffect;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.events.CloseClickEvent;
import com.smartgwt.client.widgets.events.CloseClickHandler;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.PasswordItem;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.form.validator.RegExpValidator;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.layout.HLayout;
import java.util.ArrayList;
import java.util.TreeMap;

/**
 *
 * @author Adriano
 */
public class EditarNovoUsuario extends Window {

    private int contador;

    public EditarNovoUsuario(final TreeMap<String, ArrayList<TreeMap<String, String>>> clienteEdicao,
            final ListGrid listUserEditarCliente, final ListGrid UsuarioTabBuscaCliente) {
        //GWT.log("Editar Novo Endereo");
        setTitle("Novo Usurio");
        setWidth(500);
        setHeight(280);
        setShowMinimizeButton(false);
        setIsModal(true);
        setShowModalMask(true);
        centerInPage();
        setLayoutAlign(Alignment.CENTER);

        final DynamicForm formEditarNovoUsuario = new DynamicForm();
        formEditarNovoUsuario.setAutoFocus(true);

        Label label = new Label("<strong><h3>Cadastrar Novo Usurio</h3></strong>");
        label.setAlign(Alignment.CENTER);
        label.setStyleName(scClassName);

        final TextItem itemCampoUser = new TextItem();
        itemCampoUser.setName("usuario");
        itemCampoUser.setTitle("Usurio");
        itemCampoUser.setWidth(300);
        itemCampoUser.setRequired(true);
        itemCampoUser.setKeyPressFilter("[a-zA-Z.[0-9]");

        RegExpValidator usuarioValidator = new RegExpValidator();
        usuarioValidator.setExpression("^(([a-zA-Z0-9\\-])+\\.)+[a-zA-Z0-9]");
        usuarioValidator.setErrorMessage("Campo invlido! Ex: nome.sobrenome");

        itemCampoUser.setValidators(usuarioValidator);

        final PasswordItem itemSenha = new PasswordItem();
        itemSenha.setName("senha");
        itemSenha.setTitle("Senha");
        itemSenha.setWidth(300);
        itemSenha.setRequired(true);
        itemSenha.setKeyPressFilter("[@$%*&%,;a-zA-Z.[0-9]");

        formEditarNovoUsuario.setFields(itemCampoUser, itemSenha);

        HLayout hButoes = new HLayout();
        hButoes.setWidth(200);
        hButoes.setMembersMargin(3);
        hButoes.setLayoutAlign(Alignment.CENTER);
        IButton cadastrar = new IButton("Cadastrar");
        IButton limpar = new IButton("Limpar");
        hButoes.setMargin(5);
        hButoes.addMember(cadastrar);
        hButoes.addMember(limpar);

        addCloseClickHandler(new CloseClickHandler() {

            @Override
            public void onCloseClick(CloseClickEvent event) {
                destroy();
            }
        });

        cadastrar.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {

                Info.dbService.buscarPorNomeUsuario(itemCampoUser.getValueAsString(),
                        new AsyncCallback<TreeMap<String, Object>>() {

                            @Override
                            public void onFailure(Throwable caught) {
                                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                            }

                            @Override
                            public void onSuccess(TreeMap<String, Object> result) {
                                if (result == null) {
                                    if (formEditarNovoUsuario.validate()) {
                                        contador = 0;
                                        final Window janelaCarregando = new Window();
                                        janelaCarregando.setShowTitle(false);
                                        janelaCarregando.setWidth(100);
                                        janelaCarregando.setHeight(50);
                                        janelaCarregando.setShowEdges(false);
                                        janelaCarregando.setShowCloseButton(false);
                                        janelaCarregando.setShowMinimizeButton(false);
                                        janelaCarregando.setIsModal(true);
                                        janelaCarregando.setShowModalMask(true);
                                        janelaCarregando.centerInPage();
                                        janelaCarregando.setLayoutAlign(Alignment.CENTER);
                                        final Label mensagem = new Label("Carregando..");
                                        mensagem.setHeight(16);

                                        new Timer() {
                                            public void run() {

                                                if (contador != 100) {
                                                    //destroy();
                                                    contador += 1 + (int) (5 * Math.random());
                                                    schedule(1 + (int) (50 * Math.random()));
                                                    mensagem.setContents("Carregando: " + contador + "%");
                                                    //GWT.log("!=100: "+contador);
                                                    janelaCarregando.addItem(mensagem);
                                                    janelaCarregando.setAnimateTime(1200);
                                                    janelaCarregando.animateShow(AnimationEffect.FADE);

                                                    if (contador >= 100) {
                                                        mensagem.setContents("Carregando: 100%");
                                                        //GWT.log("chave C: "+clienteEdicao.firstKey());
                                                        TreeMap<String, String> editarNovoUsuario = new TreeMap<String, String>();
                                                        //editarNovoEndereco.put("codEndereco", "");
                                                        editarNovoUsuario.put("codCliente",
                                                                clienteEdicao.firstKey());
                                                        editarNovoUsuario.put("usuario",
                                                                itemCampoUser.getValueAsString());
                                                        editarNovoUsuario.put("senha",
                                                                itemSenha.getValueAsString());

                                                        Info.dbService.cadastrarUsuario(editarNovoUsuario,
                                                                new AsyncCallback<Boolean>() {

                                                                    @Override
                                                                    public void onFailure(Throwable caught) {
                                                                        throw new UnsupportedOperationException(
                                                                                "Not supported yet."); //To change body of generated methods, choose Tools | Templates.
                                                                    }

                                                                    @Override
                                                                    public void onSuccess(
                                                                            Boolean enderecoAdicionado) {
                                                                        if (enderecoAdicionado == true) {
                                                                            Info.dbService.buscarUltimoUsuario(
                                                                                    new AsyncCallback<TreeMap<String, String>>() {

                                                                                        @Override
                                                                                        public void onFailure(
                                                                                                Throwable caught) {
                                                                                            throw new UnsupportedOperationException(
                                                                                                    "Not supported yet. Busca Ultimo End adicionado"); //To change body of generated methods, choose Tools | Templates.
                                                                                        }

                                                                                        @Override
                                                                                        public void onSuccess(
                                                                                                TreeMap<String, String> ultimoUsuario) {
                                                                                            if (ultimoUsuario != null) {

                                                                                                ArrayList<TreeMap<String, String>> clienteDadosAtualizados = clienteEdicao
                                                                                                        .get(clienteEdicao
                                                                                                                .firstKey());
                                                                                                TreeMap<String, String> editarNovoEndereco = new TreeMap<String, String>();
                                                                                                editarNovoEndereco
                                                                                                        .put("nomeCliente",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("nomeCliente"));
                                                                                                editarNovoEndereco
                                                                                                        .put("dataAdesao",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("dataAdesao"));
                                                                                                editarNovoEndereco
                                                                                                        .put("tipoCliente",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("tipoCliente"));
                                                                                                editarNovoEndereco
                                                                                                        .put("codUnidade",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("codUnidade"));
                                                                                                editarNovoEndereco
                                                                                                        .put("nomeUnidade",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("nomeUnidade"));
                                                                                                editarNovoEndereco
                                                                                                        .put("codEndereco",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("codEndereco"));
                                                                                                editarNovoEndereco
                                                                                                        .put("codCliente",
                                                                                                                clienteEdicao
                                                                                                                        .firstKey());
                                                                                                editarNovoEndereco
                                                                                                        .put("descricaoEndereco",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("descricaoEndereco"));
                                                                                                editarNovoEndereco
                                                                                                        .put("logradouro",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("logradouro"));
                                                                                                editarNovoEndereco
                                                                                                        .put("numeroEndereco",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("numeroEndereco"));
                                                                                                editarNovoEndereco
                                                                                                        .put("bairro",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("bairro"));
                                                                                                editarNovoEndereco
                                                                                                        .put("codCidade",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("codCidade"));
                                                                                                editarNovoEndereco
                                                                                                        .put("nomeCidade",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("nomeCidade"));
                                                                                                editarNovoEndereco
                                                                                                        .put("codEstado",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("codEstado"));
                                                                                                editarNovoEndereco
                                                                                                        .put("estadoUf",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("estadoUf"));
                                                                                                editarNovoEndereco
                                                                                                        .put("cep",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("cep"));
                                                                                                editarNovoEndereco
                                                                                                        .put("referenciaEndereco",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("referenciaEndereco"));
                                                                                                editarNovoEndereco
                                                                                                        .put("codFone",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("codFone"));
                                                                                                editarNovoEndereco
                                                                                                        .put("descricaoFone",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("descricaoFone"));
                                                                                                editarNovoEndereco
                                                                                                        .put("numeroFone",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("numeroFone"));
                                                                                                editarNovoEndereco
                                                                                                        .put("descricaoEmail",
                                                                                                                null);
                                                                                                editarNovoEndereco
                                                                                                        .put("codEmail",
                                                                                                                null);
                                                                                                editarNovoEndereco
                                                                                                        .put("email",
                                                                                                                null);
                                                                                                editarNovoEndereco
                                                                                                        .put("codUsuario",
                                                                                                                ultimoUsuario
                                                                                                                        .get("codUsuario"));
                                                                                                editarNovoEndereco
                                                                                                        .put("usuario",
                                                                                                                ultimoUsuario
                                                                                                                        .get("usuario"));
                                                                                                editarNovoEndereco
                                                                                                        .put("senha",
                                                                                                                ultimoUsuario
                                                                                                                        .get("senha"));
                                                                                                editarNovoEndereco
                                                                                                        .put("ativoUsuario",
                                                                                                                ultimoUsuario
                                                                                                                        .get("ativo"));
                                                                                                editarNovoEndereco
                                                                                                        .put("codGrupo",
                                                                                                                ultimoUsuario
                                                                                                                        .get("codGrupo"));
                                                                                                editarNovoEndereco
                                                                                                        .put("nomeGrupo",
                                                                                                                ultimoUsuario
                                                                                                                        .get("nomeGrupo"));
                                                                                                editarNovoEndereco
                                                                                                        .put("codEmpresa",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("codEmpresa"));
                                                                                                editarNovoEndereco
                                                                                                        .put("cnpj",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("cnpj"));
                                                                                                editarNovoEndereco
                                                                                                        .put("dataAbertura",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("dataAbertura"));
                                                                                                editarNovoEndereco
                                                                                                        .put("responsavel",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("responsavel"));
                                                                                                editarNovoEndereco
                                                                                                        .put("cargo",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("cargo"));
                                                                                                editarNovoEndereco
                                                                                                        .put("codPessoa",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("codPessoa"));
                                                                                                editarNovoEndereco
                                                                                                        .put("cpf",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("cpf"));
                                                                                                editarNovoEndereco
                                                                                                        .put("dataNasc",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("dataNasc"));
                                                                                                editarNovoEndereco
                                                                                                        .put("profissao",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("profissao"));
                                                                                                editarNovoEndereco
                                                                                                        .put("trabalhoPessoa",
                                                                                                                clienteDadosAtualizados
                                                                                                                        .get(0)
                                                                                                                        .get("trabalhoPessoa"));
                                                                                                clienteDadosAtualizados
                                                                                                        .add(editarNovoEndereco);
                                                                                                clienteEdicao.put(
                                                                                                        clienteEdicao
                                                                                                                .firstKey(),
                                                                                                        clienteDadosAtualizados);
                                                                                                //GWT.log("Cliente Edio: "+clienteEdicao);
                                                                                                //GWT.log("Ultimo Fone: "+ultimoUsuario.get("codUsuario"));
                                                                                                Record novoUsuario = new Record();
                                                                                                novoUsuario
                                                                                                        .setAttribute(
                                                                                                                "codigo",
                                                                                                                ultimoUsuario
                                                                                                                        .get("codUsuario"));
                                                                                                novoUsuario
                                                                                                        .setAttribute(
                                                                                                                "usuario",
                                                                                                                itemCampoUser
                                                                                                                        .getValueAsString());
                                                                                                novoUsuario
                                                                                                        .setAttribute(
                                                                                                                "senha",
                                                                                                                itemSenha
                                                                                                                        .getValueAsString());
                                                                                                novoUsuario
                                                                                                        .setAttribute(
                                                                                                                "statusCod",
                                                                                                                ultimoUsuario
                                                                                                                        .get("ativo"));
                                                                                                novoUsuario
                                                                                                        .setAttribute(
                                                                                                                "status",
                                                                                                                ((ultimoUsuario
                                                                                                                        .get("ativo")
                                                                                                                        .equalsIgnoreCase(
                                                                                                                                "t")) ? "Ativo"
                                                                                                                                        : "Bloqueado"));
                                                                                                novoUsuario
                                                                                                        .setAttribute(
                                                                                                                "codGrupo",
                                                                                                                ultimoUsuario
                                                                                                                        .get("codGrupo"));
                                                                                                novoUsuario
                                                                                                        .setAttribute(
                                                                                                                "grupo",
                                                                                                                ultimoUsuario
                                                                                                                        .get("nomeGrupo"));

                                                                                                listUserEditarCliente
                                                                                                        .addData(
                                                                                                                novoUsuario);
                                                                                                UsuarioTabBuscaCliente
                                                                                                        .addData(
                                                                                                                novoUsuario);
                                                                                                SC.say("Novo usurio cadastrado com sucesso");
                                                                                            } else {
                                                                                                SC.warn("Erro ao buscar ultimo usurio cadastrado");
                                                                                            }
                                                                                        }
                                                                                    });
                                                                        } else {
                                                                            GWT.log("Erro ao inserir novo usurio!");
                                                                        }
                                                                    }
                                                                });
                                                        janelaCarregando.addItem(mensagem);
                                                        janelaCarregando.setAnimateTime(1200);
                                                        janelaCarregando.animateHide(AnimationEffect.FADE);
                                                        contador = 100;
                                                        janelaCarregando.destroy();
                                                    }
                                                } else {
                                                    contador = 0;
                                                }

                                            }
                                        }.schedule(50);
                                        //GWT.log(novoEnd.getAttribute("cidade"));
                                        destroy();
                                    }

                                } else {

                                    SC.say("Usurio: " + itemCampoUser.getValueAsString() + " j existe");
                                    itemCampoUser.clearValue();
                                    //itemSenha.clearValue();
                                    formEditarNovoUsuario.focusInItem(itemCampoUser);

                                }
                            }
                        });

            }
        });

        limpar.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                itemCampoUser.clearValue();
                itemSenha.clearValue();
                formEditarNovoUsuario.focusInItem(itemCampoUser);
            }
        });

        addItem(label);
        addItem(formEditarNovoUsuario);
        addItem(hButoes);
    }

}