com.automaster.autoview.client.ui.paineis.dialogs.editar.EditarPadraoLigacao.java Source code

Java tutorial

Introduction

Here is the source code for com.automaster.autoview.client.ui.paineis.dialogs.editar.EditarPadraoLigacao.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.autoview.client.ui.paineis.dialogs.editar;

import com.automaster.autoview.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.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.HTMLPane;
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.grid.ListGridRecord;
import com.smartgwt.client.widgets.layout.HLayout;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.TreeMap;

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

    private int contador;

    public EditarPadraoLigacao(final ArrayList<TreeMap<String, String>> dadosVeiculoCopia,
            final ListGridRecord recordEditarVeiculo, final ListGrid listPadLigEditarVeiculo,
            final HTMLPane tabelaVeiculosCopia) {

        // abriu o formulrio de edio do padro de ligao //
        Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 290,
                new Timestamp(System.currentTimeMillis()), "");
        setTitle(Info.titulosMsg.get("editarPadraoLigacao"));
        setWidth(500);
        setHeight(400);
        setShowMinimizeButton(false);
        setIsModal(true);
        setShowModalMask(true);
        centerInPage();
        setLayoutAlign(Alignment.CENTER);
        final Window windowAux = this;

        Label label = new Label("<strong><h3>" + Info.titulosMsg.get("editarPadraoLigacao") + "</h3></strong>");
        label.setAlign(Alignment.CENTER);
        label.setStyleName(scClassName);

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

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

        final SelectItem sinal = new SelectItem();
        sinal.setTitle(Info.titulosMsg.get("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);
        sinal.setValue(
                ((recordEditarVeiculo.getAttribute("sinalPad").equalsIgnoreCase("Positivo")) ? "true" : "false"));

        final SelectItem padVeic = new SelectItem();
        padVeic.setTitle(Info.titulosMsg.get("padrao"));
        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);
        padVeic.setValue(
                ((recordEditarVeiculo.getAttribute("padraoLd").equalsIgnoreCase("Ligado")) ? "true" : "false"));

        final SelectItem funcao = new SelectItem();
        funcao.setTitle(Info.titulosMsg.get("funcao"));
        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);
        funcao.setValue(
                ((recordEditarVeiculo.getAttribute("funcaoPad").equalsIgnoreCase("Entrada")) ? "true" : "false"));

        final SelectItem ativo = new SelectItem();
        ativo.setTitle(Info.titulosMsg.get("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);
        ativo.setValue(((recordEditarVeiculo.getAttribute("ativoPad").equalsIgnoreCase("Sim")) ? "true" : "false"));

        final TextAreaItem descricao = new TextAreaItem();
        descricao.setTitle(Info.titulosMsg.get("descricao"));
        descricao.setName("descricao");
        descricao.setPrintFullText(false);
        descricao.setWidth(226);
        descricao.setValue(
                ((recordEditarVeiculo.getAttribute("descricaoPad").equalsIgnoreCase("Sem informao")) ? ""
                        : recordEditarVeiculo.getAttribute("descricaoPad")));

        HLayout hButoes = new HLayout();
        hButoes.setWidth(100);
        hButoes.setMembersMargin(3);
        hButoes.setLayoutAlign(Alignment.CENTER);
        IButton salvar = new IButton(Info.titulosMsg.get("tituloSalvar"));
        hButoes.setMargin(5);
        hButoes.addMember(salvar);

        addCloseClickHandler(new CloseClickHandler() {

            @Override
            public void onCloseClick(CloseClickEvent event) {
                // no salvou a edio do padro de ligao j cadastrado //
                Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 291,
                        new Timestamp(System.currentTimeMillis()), "");
                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);

        salvar.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> padLigAtualizado = new TreeMap<String, String>();
                                    padLigAtualizado.put("codVeiculo", dadosVeiculoCopia.get(0).get("codVeiculo"));
                                    padLigAtualizado.put("codPad",
                                            recordEditarVeiculo.getAttributeAsString("codPad"));
                                    padLigAtualizado.put("corFio", corFio.getValueAsString());
                                    padLigAtualizado.put("sinalPad", sinal.getValueAsString());
                                    padLigAtualizado.put("padraoLd", padVeic.getValueAsString());
                                    padLigAtualizado.put("funcaoPad", funcao.getValueAsString());
                                    padLigAtualizado.put("ativoPad", ativo.getValueAsString());
                                    padLigAtualizado.put("descricaoPad",
                                            (descricao.getValueAsString() == null
                                                    || descricao.getValueAsString().equalsIgnoreCase("")) ? null
                                                            : descricao.getValueAsString());

                                    Info.dbService.alterarPadraoLigacao(padLigAtualizado,
                                            new AsyncCallback<Boolean>() {
                                                @Override
                                                public void onSuccess(Boolean result) {
                                                    if (result) {
                                                        GWT.log("codVeiculo: "
                                                                + dadosVeiculoCopia.get(0).get("codVeiculo"));
                                                        GWT.log("codPad: "
                                                                + recordEditarVeiculo.getAttribute("codPad"));
                                                        GWT.log("corFio: " + corFio.getValueAsString());
                                                        GWT.log("sinalPad: " + sinal.getValueAsString());
                                                        GWT.log("padraoLd: " + padVeic.getValueAsString());
                                                        GWT.log("funcaoPad: " + funcao.getValueAsString());
                                                        GWT.log("ativoPad: " + ativo.getValueAsString());
                                                        GWT.log("descricaoPad: " + descricao.getValueAsString());
                                                        //GWT.log("Linha 000");
                                                        recordEditarVeiculo.setAttribute("codPad",
                                                                recordEditarVeiculo.getAttributeAsInt("codPad"));
                                                        //GWT.log("Linha 01");
                                                        recordEditarVeiculo.setAttribute("corFio",
                                                                corFio.getValueAsString());
                                                        //GWT.log("Linha 02: - sinal: "+sinal.getValueAsString());
                                                        recordEditarVeiculo.setAttribute("sinalPad",
                                                                ((sinal.getValueAsString().equalsIgnoreCase("true"))
                                                                        ? "Positivo"
                                                                        : "Negativo"));
                                                        //GWT.log("Linha 03");
                                                        recordEditarVeiculo.setAttribute("padraoLd",
                                                                ((padVeic.getValueAsString()
                                                                        .equalsIgnoreCase("true")) ? "Ligado"
                                                                                : "Desligado"));
                                                        //GWT.log("Linha 04");
                                                        recordEditarVeiculo.setAttribute("funcaoPad",
                                                                ((funcao.getValueAsString()
                                                                        .equalsIgnoreCase("true")) ? "Entrada"
                                                                                : "Sada"));
                                                        //GWT.log("Linha 05");
                                                        recordEditarVeiculo.setAttribute("ativoPad",
                                                                ((ativo.getValueAsString().equalsIgnoreCase("true"))
                                                                        ? "Sim"
                                                                        : "No"));
                                                        //GWT.log("Linha 06");
                                                        recordEditarVeiculo.setAttribute("descricaoPad",
                                                                (descricao.getValueAsString() == null || descricao
                                                                        .getValueAsString().equalsIgnoreCase(""))
                                                                                ? "sem informao"
                                                                                : descricao.getValueAsString());
                                                        //GWT.log("Linha 07");
                                                        listPadLigEditarVeiculo.refreshRow(listPadLigEditarVeiculo
                                                                .getRecordIndex(recordEditarVeiculo));
                                                        // GWT.log("Linha 08");
                                                        tabelaVeiculosCopia.markForRedraw();
                                                        for (TreeMap<String, String> editado : dadosVeiculoCopia) {
                                                            if (recordEditarVeiculo.getAttribute("codPad")
                                                                    .equalsIgnoreCase(editado.get("codPad"))) {
                                                                editado.put("codPad",
                                                                        recordEditarVeiculo.getAttribute("codPad"));
                                                                editado.put("corFio", corFio.getValueAsString());
                                                                editado.put("sinalPad",
                                                                        ((sinal.getValueAsString()
                                                                                .equalsIgnoreCase("true")) ? "t"
                                                                                        : "f"));
                                                                editado.put("padraoLd",
                                                                        ((padVeic.getValueAsString()
                                                                                .equalsIgnoreCase("true")) ? "t"
                                                                                        : "f"));
                                                                editado.put("funcaoPad",
                                                                        ((funcao.getValueAsString()
                                                                                .equalsIgnoreCase("true")) ? "t"
                                                                                        : "f"));
                                                                editado.put("ativoPad",
                                                                        ((ativo.getValueAsString()
                                                                                .equalsIgnoreCase("true")) ? "t"
                                                                                        : "f"));
                                                                editado.put("descricaoPad",
                                                                        descricao.getValueAsString());
                                                            }
                                                        }
                                                        // edio do padro de ligao do veculo //
                                                        Info.registrarLog(
                                                                Integer.parseInt(
                                                                        Info.usuarioLogado.get("codUsuario")),
                                                                17, new Timestamp(System.currentTimeMillis()),
                                                                "cod. pad. lig.:"
                                                                        + recordEditarVeiculo.getAttribute("codPad")
                                                                        + " cor fio anterior:"
                                                                        + recordEditarVeiculo.getAttribute("corFio")
                                                                        + " sinal anterior:"
                                                                        + recordEditarVeiculo
                                                                                .getAttribute("sinalPad")
                                                                        + " padro anterior:"
                                                                        + recordEditarVeiculo
                                                                                .getAttribute("padraoLd")
                                                                        + "Funo anterior: "
                                                                        + recordEditarVeiculo
                                                                                .getAttribute("funcaoPad")
                                                                        + " ativo anterior: "
                                                                        + recordEditarVeiculo
                                                                                .getAttribute("ativoPad")
                                                                        + " descricao anterior: "
                                                                        + recordEditarVeiculo.getAttribute(
                                                                                "descricaoPad")
                                                                        + " cor fio atual:"
                                                                        + corFio.getValueAsString()
                                                                        + " sinal atual:" + sinal.getDisplayValue()
                                                                        + " padro atual:"
                                                                        + padVeic.getDisplayValue()
                                                                        + "Funo atual: "
                                                                        + funcao.getDisplayValue()
                                                                        + " ativo atual: " + ativo.getDisplayValue()
                                                                        + " descricao atual: "
                                                                        + descricao.getDisplayValue());
                                                        SC.say(Info.titulosMsg
                                                                .get("padraoLigacaoAtualizadoSucesso"));
                                                        windowAux.destroy();

                                                    } else {
                                                        // erro ao atualizar o padro de ligao //
                                                        Info.registrarLog(
                                                                Integer.parseInt(
                                                                        Info.usuarioLogado.get("codUsuario")),
                                                                292, new Timestamp(System.currentTimeMillis()),
                                                                "cod. pad. lig.:" + recordEditarVeiculo
                                                                        .getAttribute("codPad"));
                                                        SC.warn(Info.titulosMsg.get("padraoLigacaoAtualizadoErro"));
                                                        //windowAux.destroy();
                                                    }

                                                }

                                                @Override
                                                public void onFailure(Throwable caught) {
                                                    // TODO Auto-generated method stub

                                                }
                                            });
                                    janelaCarregando.addItem(mensagem);
                                    janelaCarregando.setAnimateTime(1200);
                                    janelaCarregando.animateHide(AnimationEffect.FADE);
                                    contador = 100;
                                }
                            } else {
                                contador = 0;
                            }

                        }
                    }.schedule(50);
                }

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

    }
}