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

Java tutorial

Introduction

Here is the source code for com.automaster.client.ui.paineis.dialogs.editar.cadastronovo.EditarNovoPadraoLigacao.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.shared.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.types.TitleOrientation;
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.SelectItem;
import com.smartgwt.client.widgets.form.fields.TextAreaItem;
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.LinkedHashMap;
import java.util.TreeMap;

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

    private int contador;

    public EditarNovoPadraoLigacao(final ListGrid listPadLig,
            final ArrayList<TreeMap<String, String>> dadosVeiculoCopia) {

        final Window windowAux = this;
        setTitle("Novo Padro de Ligao");
        setWidth(500);
        setHeight(400);
        setShowMinimizeButton(false);
        setIsModal(true);
        setShowModalMask(true);
        centerInPage();
        setLayoutAlign(Alignment.CENTER);

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

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

        final TextItem corFio = new TextItem();
        corFio.setTitle("Cor do Fio");
        corFio.setName("corFio");
        corFio.setHint("<nbr>*</nbr>");
        corFio.setKeyPressFilter("[a-zA-Z? [0-9]");
        corFio.setRequired(true);
        corFio.setWidth(230);
        corFio.setCharacterCasing(CharacterCasing.UPPER);
        LengthRangeValidator tamanhoNome = new LengthRangeValidator();
        tamanhoNome.setMin(2);
        corFio.setValidators(tamanhoNome);

        final SelectItem sinal = new SelectItem();
        sinal.setTitle("Sinal");
        sinal.setName("sinal");
        LinkedHashMap<String, String> sn = new LinkedHashMap<>();
        sn.put("true", "Positivo");
        sn.put("false", "Negativo");
        sinal.setValueMap(sn);
        sinal.setHint("<nbr>*</nbr>");
        sinal.setRequired(true);
        sinal.setWidth(226);

        final SelectItem padVeic = new SelectItem();
        padVeic.setTitle("Padro do Veculo");
        padVeic.setName("padVeic");
        LinkedHashMap<String, String> padV = new LinkedHashMap<>();
        padV.put("true", "Ligado");
        padV.put("false", "Desligado");
        padVeic.setValueMap(padV);
        padVeic.setHint("<nbr>*</nbr>");
        padVeic.setRequired(true);
        padVeic.setWidth(226);

        final SelectItem funcao = new SelectItem();
        funcao.setTitle("Funo");
        funcao.setName("funcao");
        LinkedHashMap<String, String> fun = new LinkedHashMap<>();
        fun.put("true", "entrada");
        fun.put("false", "saida");
        funcao.setValueMap(fun);
        funcao.setHint("<nbr>*</nbr>");
        funcao.setRequired(true);
        funcao.setWidth(226);

        final SelectItem ativo = new SelectItem();
        ativo.setTitle("Ativo");
        ativo.setName("ativo");
        LinkedHashMap<String, String> at = new LinkedHashMap<>();
        at.put("true", "Sim");
        at.put("false", "No");
        ativo.setValueMap(at);
        ativo.setHint("<nbr>*</nbr>");
        ativo.setRequired(true);
        ativo.setWidth(226);

        final TextAreaItem descricao = new TextAreaItem();
        descricao.setTitle("Descrio");
        descricao.setHeight(100);
        descricao.setWidth(226);
        descricao.setValue("");

        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) {
                windowAux.destroy();
            }
        });
        formNovoPadLig.setTitleOrientation(TitleOrientation.TOP);
        formNovoPadLig.setItems(corFio, sinal, padVeic, funcao, ativo, descricao);

        HLayout hform = new HLayout();
        hform.setWidth(470);
        hform.setMembersMargin(3);
        hform.setLayoutAlign(Alignment.CENTER);
        hform.addMember(formNovoPadLig);

        cadastrar.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {

                if (formNovoPadLig.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) {

                                contador += 1 + (int) (5 * Math.random());
                                schedule(1 + (int) (50 * Math.random()));
                                mensagem.setContents("Carregando: " + contador + "%");
                                janelaCarregando.addItem(mensagem);
                                janelaCarregando.setAnimateTime(1200);
                                janelaCarregando.animateShow(AnimationEffect.FADE);

                                if (contador >= 100) {
                                    mensagem.setContents("Carregando: 100%");
                                    TreeMap<String, String> novoPadraoLigacao = new TreeMap<String, String>();
                                    //GWT.log("Linha 1"+descricao.getValue());
                                    novoPadraoLigacao.put("codVeiculo", dadosVeiculoCopia.get(0).get("codVeiculo"));
                                    novoPadraoLigacao.put("corFio", corFio.getValueAsString());
                                    novoPadraoLigacao.put("sinalPad", sinal.getValueAsString());
                                    novoPadraoLigacao.put("padraoLd", padVeic.getValueAsString());
                                    novoPadraoLigacao.put("funcaoPad", funcao.getValueAsString());
                                    novoPadraoLigacao.put("ativoPad", ativo.getValueAsString());
                                    novoPadraoLigacao.put("descricaoPad", descricao.getValueAsString());
                                    //GWT.log("Linha 2");
                                    Info.dbService.cadastrarPadraoLigacao(novoPadraoLigacao,
                                            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 novoPadraoLig) {
                                                    if (novoPadraoLig == true) {
                                                        Info.dbService.buscarUltimoPadraoLigacao(
                                                                new AsyncCallback<Integer>() {

                                                                    @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(Integer ultimoCodPadLig) {
                                                                        if (ultimoCodPadLig > 0) {

                                                                            TreeMap<String, String> veiculo = new TreeMap<String, String>();
                                                                            //GWT.log("Linha 3");
                                                                            veiculo.put("codInstalador",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("codInstalador"));
                                                                            veiculo.put("nomeInstalador",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("nomeInstalador"));
                                                                            veiculo.put("codVeiculoInd", "null");
                                                                            veiculo.put("placaIndicador",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("placaIndicador"));
                                                                            veiculo.put("codParcela",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("codParcela"));
                                                                            veiculo.put("valorParcela",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("valorParcela"));
                                                                            veiculo.put("numeroParcela",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("numeroParcela"));
                                                                            veiculo.put("codTc", dadosVeiculoCopia
                                                                                    .get(0).get("codTc"));
                                                                            veiculo.put("descricaoTc",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("descricaoTc"));
                                                                            veiculo.put("codVeiculo",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("codVeiculo"));
                                                                            veiculo.put("placaVeiculo",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("placaVeiculo"));
                                                                            veiculo.put("chassi", dadosVeiculoCopia
                                                                                    .get(0).get("chassi"));
                                                                            veiculo.put("fabricante",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("fabricante"));
                                                                            veiculo.put("modelo", dadosVeiculoCopia
                                                                                    .get(0).get("modelo"));
                                                                            veiculo.put("cor", dadosVeiculoCopia
                                                                                    .get(0).get("cor"));
                                                                            veiculo.put("ano", dadosVeiculoCopia
                                                                                    .get(0).get("ano"));
                                                                            veiculo.put("dataAdesao",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("dataAdesao"));
                                                                            veiculo.put("ativoVeic",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("ativoVeic"));
                                                                            veiculo.put("desconto",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("desconto"));
                                                                            veiculo.put("codEquipamento",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("codEquipamento"));
                                                                            veiculo.put("idEquipamento",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("idEquipamento"));
                                                                            veiculo.put("codModeloEquipamento",
                                                                                    dadosVeiculoCopia.get(0).get(
                                                                                            "codModeloEquipamento"));
                                                                            veiculo.put("descricaoModelo",
                                                                                    dadosVeiculoCopia.get(0).get(
                                                                                            "descricaoModelo"));
                                                                            veiculo.put("fabricanteMod",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("fabricanteMod"));
                                                                            veiculo.put("codPlano",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("codPlano"));
                                                                            veiculo.put("descricaoPlano",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("descricaoPlano"));
                                                                            veiculo.put("valorPlano",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("valorPlano"));
                                                                            veiculo.put("codCidade",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("codCidade"));
                                                                            veiculo.put("cidadeNome",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("cidadeNome"));
                                                                            veiculo.put("codEstado",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("codEstado"));
                                                                            veiculo.put("estadoNome",
                                                                                    dadosVeiculoCopia.get(0)
                                                                                            .get("estadoNome"));
                                                                            veiculo.put("codPad", String
                                                                                    .valueOf(ultimoCodPadLig));
                                                                            veiculo.put("corFio",
                                                                                    corFio.getValueAsString());
                                                                            veiculo.put("padraoLd",
                                                                                    padVeic.getValueAsString());
                                                                            veiculo.put("sinalPad",
                                                                                    sinal.getValueAsString());
                                                                            veiculo.put("funcaoPad",
                                                                                    funcao.getValueAsString());
                                                                            veiculo.put("ativoPad",
                                                                                    ativo.getValueAsString());
                                                                            //GWT.log("Linha 4");
                                                                            veiculo.put("descricaoPad",
                                                                                    descricao.getValueAsString());
                                                                            //GWT.log("Linha 5");
                                                                            veiculo.put("codPes", null);
                                                                            veiculo.put("nomePes", null);
                                                                            veiculo.put("telefonePes", null);
                                                                            veiculo.put("descricaoPes", null);
                                                                            //GWT.log("Linha 6");
                                                                            // Adicionando o novo padro de ligao no DadosVeiculosCopia
                                                                            dadosVeiculoCopia.add(veiculo);

                                                                            Record padLigacao = new Record();
                                                                            //GWT.log("Linha 7");
                                                                            padLigacao.setAttribute("codPad", String
                                                                                    .valueOf(ultimoCodPadLig));
                                                                            padLigacao.setAttribute("corFio",
                                                                                    ((corFio == null)
                                                                                            ? "Sem informao"
                                                                                            : corFio.getValueAsString()));
                                                                            padLigacao.setAttribute("sinalPad",
                                                                                    ((sinal == null)
                                                                                            ? "Sem informao"
                                                                                            : ((sinal
                                                                                                    .getValueAsString()
                                                                                                    .equalsIgnoreCase(
                                                                                                            "true")) ? "Positivo"
                                                                                                                    : "Negativo")));
                                                                            padLigacao.setAttribute("padraoLd",
                                                                                    ((padVeic == null)
                                                                                            ? "Sem informao"
                                                                                            : ((padVeic
                                                                                                    .getValueAsString()
                                                                                                    .equalsIgnoreCase(
                                                                                                            "true")) ? "Ligado"
                                                                                                                    : "Desligado")));
                                                                            padLigacao.setAttribute("funcaoPad",
                                                                                    ((funcao == null)
                                                                                            ? "Sem informao"
                                                                                            : ((funcao
                                                                                                    .getValueAsString()
                                                                                                    .equalsIgnoreCase(
                                                                                                            "true")) ? "Entrada"
                                                                                                                    : "Saida")));
                                                                            padLigacao.setAttribute("ativoPad",
                                                                                    ((ativo == null)
                                                                                            ? "Sem informao"
                                                                                            : ((ativo
                                                                                                    .getValueAsString()
                                                                                                    .equalsIgnoreCase(
                                                                                                            "true")) ? "Sim"
                                                                                                                    : "No")));
                                                                            padLigacao.setAttribute("descricaoPad",
                                                                                    ((descricao == null)
                                                                                            ? "Sem informao"
                                                                                            : descricao
                                                                                                    .getValueAsString()));
                                                                            // GWT.log("Linha 8");
                                                                            listPadLig.addData(padLigacao);
                                                                            SC.say("Novo padro de ligao adionado com sucesso!");
                                                                        } else {
                                                                            SC.warn("ERRO ao buscar o ltimo padro de ligao cadastrado");
                                                                        }
                                                                    }
                                                                });
                                                    } else {
                                                        SC.warn("ERRO ao inserir novo padro de ligao");
                                                    }
                                                }
                                            });
                                    janelaCarregando.addItem(mensagem);
                                    janelaCarregando.setAnimateTime(1200);
                                    janelaCarregando.animateHide(AnimationEffect.FADE);
                                    contador = 100;
                                    janelaCarregando.destroy();
                                }
                            } else {
                                contador = 0;
                            }

                        }
                    }.schedule(50);
                    windowAux.destroy();
                }
            }
        });

        limpar.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                corFio.clearValue();
                sinal.clearValue();
                padVeic.clearValue();
                funcao.clearValue();
                ativo.clearValue();
                descricao.clearValue();
                formNovoPadLig.focusInItem(corFio);
            }
        });

        addItem(label);
        addItem(hform);
        addItem(hButoes);

    }
}