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

Java tutorial

Introduction

Here is the source code for com.automaster.client.ui.paineis.dialogs.editar.cadastronovo.EditarNovoTelefone.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.types.CharacterCasing;
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.TextItem;
import com.smartgwt.client.widgets.form.validator.LengthRangeValidator;
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 EditarNovoTelefone extends Window {

    private int contador;

    public EditarNovoTelefone(final TreeMap<String, ArrayList<TreeMap<String, String>>> clienteEdicao,
            final ListGrid listTelEditarCliente, final ListGrid telefoneBuscarCliente) {
        //GWT.log("Editar Novo Endereo");
        setTitle("Novo Telefone");
        setWidth(500);
        setHeight(280);
        setShowMinimizeButton(false);
        setIsModal(true);
        setShowModalMask(true);
        centerInPage();
        //setMargin(5);
        setLayoutAlign(Alignment.CENTER);

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

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

        final TextItem itemDescricaoTel = new TextItem();
        itemDescricaoTel.setTitle("Descrio");
        itemDescricaoTel.setName("descricao");
        itemDescricaoTel.setKeyPressFilter("[a-zA-Z?? [0-9]");
        itemDescricaoTel.setCharacterCasing(CharacterCasing.UPPER);
        itemDescricaoTel.setRequired(true);
        itemDescricaoTel.setWidth(300);
        LengthRangeValidator tamanhoDescricao = new LengthRangeValidator();
        tamanhoDescricao.setMin(3);
        itemDescricaoTel.setValidators(tamanhoDescricao);

        final TextItem itemTelefone = new TextItem();
        itemTelefone.setTitle("Nmero");
        itemTelefone.setName("numero");
        itemTelefone.setRequired(true);
        itemTelefone.setMask("(##)#####-####");
        itemTelefone.setWidth(300);
        //itemTelefone.setMaskSaveLiterals(true);
        //validador para tamanho do campo Nmero de telefone
        LengthRangeValidator tamanhoTelefone = new LengthRangeValidator();
        tamanhoTelefone.setMin(11);
        itemTelefone.setValidators(tamanhoTelefone);

        formEditarNovoTelefone.setFields(itemDescricaoTel, itemTelefone);

        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();
            }
        });
        //GWT.log("antes do clique");
        cadastrar.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                if (formEditarNovoTelefone.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> editarNovoTelefone = new TreeMap<String, String>();
                                    //editarNovoEndereco.put("codEndereco", "");
                                    editarNovoTelefone.put("codCliente", clienteEdicao.firstKey());
                                    editarNovoTelefone.put("descricaoTelefone",
                                            itemDescricaoTel.getValueAsString());
                                    editarNovoTelefone.put("numero", (String) itemTelefone.getValue());

                                    Info.dbService.cadastrarNovoTelefone(editarNovoTelefone,
                                            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
                                                                .buscarUltimoFone(new AsyncCallback<Integer>() {

                                                                    @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(Integer codUltimoFone) {
                                                                        if (codUltimoFone != 0) {

                                                                            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",
                                                                                    String.valueOf(codUltimoFone));
                                                                            editarNovoEndereco.put("descricaoFone",
                                                                                    itemDescricaoTel
                                                                                            .getValueAsString());
                                                                            editarNovoEndereco.put("numeroFone",
                                                                                    itemTelefone
                                                                                            .getValueAsString());
                                                                            editarNovoEndereco.put("descricaoEmail",
                                                                                    null);
                                                                            editarNovoEndereco.put("codEmail",
                                                                                    null);
                                                                            editarNovoEndereco.put("email", null);
                                                                            editarNovoEndereco.put("codUsuario",
                                                                                    clienteDadosAtualizados.get(0)
                                                                                            .get("codUsuario"));
                                                                            editarNovoEndereco.put("usuario",
                                                                                    clienteDadosAtualizados.get(0)
                                                                                            .get("usuario"));
                                                                            editarNovoEndereco.put("senha",
                                                                                    clienteDadosAtualizados.get(0)
                                                                                            .get("senha"));
                                                                            editarNovoEndereco.put("ativoUsuario",
                                                                                    clienteDadosAtualizados.get(0)
                                                                                            .get("ativoUuario"));
                                                                            editarNovoEndereco.put("codGrupo",
                                                                                    clienteDadosAtualizados.get(0)
                                                                                            .get("codGrupo"));
                                                                            editarNovoEndereco.put("nomeGrupo",
                                                                                    clienteDadosAtualizados.get(0)
                                                                                            .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: "+codUltimoFone);
                                                                            Record novoTel = new Record();
                                                                            novoTel.setAttribute("codigo",
                                                                                    String.valueOf(codUltimoFone));
                                                                            novoTel.setAttribute("descricao",
                                                                                    itemDescricaoTel
                                                                                            .getValueAsString());
                                                                            novoTel.setAttribute("numero", Info
                                                                                    .formataTelefone(itemTelefone
                                                                                            .getValueAsString()));

                                                                            listTelEditarCliente.addData(novoTel);
                                                                            telefoneBuscarCliente.addData(novoTel);
                                                                            SC.say("Novo endereo cadastrado com sucesso");
                                                                        } else {
                                                                            SC.warn("Erro ao buscar ultimo endereo cadastrado");
                                                                        }
                                                                    }
                                                                });
                                                    } else {
                                                        GWT.log("Erro ao inserir novo telefone!");
                                                    }
                                                }
                                            });
                                    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();
                }

            }
        });

        limpar.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                itemDescricaoTel.clearValue();
                itemTelefone.clearValue();
                formEditarNovoTelefone.focusInItem(itemDescricaoTel);
            }
        });

        addItem(label);
        addItem(formEditarNovoTelefone);
        addItem(hButoes);
    }

    @Override
    protected void onLoad() {
        super.onLoad(); //To change body of generated methods, choose Tools | Templates.
    }

}