Example usage for com.google.gwt.user.client Timer Timer

List of usage examples for com.google.gwt.user.client Timer Timer

Introduction

In this page you can find the example usage for com.google.gwt.user.client Timer Timer.

Prototype

Timer

Source Link

Usage

From source file:com.automaster.client.ui.paineis.dialogs.editar.EditarTelefone.java

public EditarTelefone(final TreeMap<String, ArrayList<TreeMap<String, String>>> clienteEdicao,
        final ListGridRecord listTel, final ListGrid listAux, final ListGrid telefonesTabBuscaCliente) {

    setTitle("Editar Telefone");
    setWidth(500);//from www .  j av a 2s .c o m
    setHeight(280);
    setShowMinimizeButton(false);
    setIsModal(true);
    setShowModalMask(true);
    centerInPage();
    //setMargin(5);
    setLayoutAlign(Alignment.CENTER);

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

    final DynamicForm formEditTelefone = new DynamicForm();
    formEditTelefone.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);
    itemDescricaoTel.setValue(listTel.getAttribute("descricao"));

    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);
    itemTelefone.setValue(listTel.getAttribute("numero"));
    //formNovoTelefone.setTitleOrientation(TitleOrientation.TOP);

    formEditTelefone.setFields(itemDescricaoTel, itemTelefone);

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

    addCloseClickHandler(new CloseClickHandler() {

        @Override
        public void onCloseClick(CloseClickEvent event) {
            destroy();
        }
    });
    salvar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            if (formEditTelefone.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%");
                                ArrayList<TreeMap<String, String>> editor = clienteEdicao
                                        .get(clienteEdicao.firstKey());
                                for (TreeMap<String, String> editado : editor) {
                                    if (listTel.getAttribute("codigo")
                                            .equalsIgnoreCase(editado.get("codFone"))) {
                                        //editado.put("codFone", listTel.getAttribute("codigo"));
                                        editado.put("descricaoFone", itemDescricaoTel.getValueAsString());
                                        editado.put("numeroFone", itemTelefone.getValueAsString());
                                    }
                                }
                                clienteEdicao.put(editor.get(0).get("codCliente"), editor);
                                //listTel.setAttribute("codigo", listTel.getAttribute("codigo"));
                                listTel.setAttribute("descricao", itemDescricaoTel.getValueAsString());
                                listTel.setAttribute("numero",
                                        Info.formataTelefone(itemTelefone.getValueAsString()));
                                listAux.refreshRow(listAux.getRecordIndex(listTel));

                                int telefoneClicado = listAux.getRecordIndex(listTel);
                                //GWT.log("email Clicado:"+emailClicado);
                                telefonesTabBuscaCliente.getRecord(telefoneClicado).setAttribute("descricao",
                                        itemDescricaoTel.getValueAsString());
                                telefonesTabBuscaCliente.getRecord(telefoneClicado).setAttribute("numero",
                                        Info.formataTelefone(itemTelefone.getValueAsString()));
                                telefonesTabBuscaCliente.refreshRow(telefoneClicado);

                                TreeMap<String, String> telefoneAtualizado = new TreeMap<String, String>();
                                telefoneAtualizado.put("codFone", listTel.getAttribute("codigo"));
                                telefoneAtualizado.put("descricao", itemDescricaoTel.getValueAsString());
                                telefoneAtualizado.put("numero", itemTelefone.getValueAsString());
                                Info.dbService.alterarFone(telefoneAtualizado, 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 enderecoAlterado) {
                                        if (enderecoAlterado == true) {
                                            SC.say("Telefone atualizado com sucesso!");
                                        } else {
                                            SC.warn("ERRO ao atualizar telefone!");
                                        }
                                    }
                                });
                                //GWT.log("" + listTel.getAttribute("codigo"));
                                janelaCarregando.addItem(mensagem);
                                janelaCarregando.setAnimateTime(1200);
                                janelaCarregando.animateHide(AnimationEffect.FADE);
                                contador = 100;
                                destroy();
                            }
                        } else {
                            contador = 0;
                        }

                    }
                }.schedule(50);
            }
        }
    });

    addItem(label);
    addItem(formEditTelefone);
    addItem(hButoes);
}

From source file:com.automaster.client.ui.paineis.dialogs.editar.EditarUsuario.java

public EditarUsuario(final TreeMap<String, ArrayList<TreeMap<String, String>>> clienteEdicao,
        final ListGridRecord listUser, final ListGrid listAux, final ListGrid usuariosTabBuscaCliente) {

    setTitle("Editar Usurio");
    setWidth(500);/*from ww  w  .  ja v  a 2s. c o m*/
    setHeight(280);
    setShowMinimizeButton(false);
    setIsModal(true);
    setShowModalMask(true);
    centerInPage();
    setLayoutAlign(Alignment.CENTER);

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

    Label label = new Label("<strong><h3>Editar 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]");
    itemCampoUser.setValue(listUser.getAttribute("usuario"));
    //itemCampoUser.setDisabled(true);

    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]");
    itemSenha.setValue(listUser.getAttribute("senha"));

    final SelectItem itemEstado = new SelectItem();
    itemEstado.setTitle("Status");
    itemEstado.setName("status");
    itemEstado.setWidth(300);
    itemEstado.setRequired(true);
    LinkedHashMap<String, String> valueMapEst = new LinkedHashMap<String, String>();
    valueMapEst.put("True", "Ativo");
    valueMapEst.put("False", "Bloqueado");
    itemEstado.setValueMap(valueMapEst);
    itemEstado.setValue(((listUser.getAttribute("statusCod").equalsIgnoreCase("t")) ? "True" : "False"));

    final SelectItem itemReset = new SelectItem();
    itemReset.setTitle("Restaurar Senha");
    itemReset.setName("reset");
    itemReset.setWidth(300);
    itemReset.setRequired(true);
    LinkedHashMap<String, String> valueMapReset = new LinkedHashMap<String, String>();
    valueMapReset.put("True", "Resetado");
    valueMapReset.put("False", "Resetar");
    itemReset.setValueMap(valueMapReset);
    //(""+listUser.getAttribute("resetCod"));
    itemReset.setValue(((listUser.getAttribute("resetCod").equalsIgnoreCase("t")) ? "True" : "False"));

    formEditUsuario.setFields(itemCampoUser, itemSenha, itemEstado, itemReset);

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

    addCloseClickHandler(new CloseClickHandler() {

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

    salvar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {

            if (formEditUsuario.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 + "%");
                            //GWT.log("!=100: "+contador);
                            janelaCarregando.addItem(mensagem);
                            janelaCarregando.setAnimateTime(1200);
                            janelaCarregando.animateShow(AnimationEffect.FADE);

                            if (contador >= 100) {
                                mensagem.setContents("Carregando: 100%");
                                if (!itemCampoUser.getValueAsString()
                                        .equalsIgnoreCase(listUser.getAttribute("usuario"))) {

                                    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 (formEditUsuario.validate()) {
                                                            ArrayList<TreeMap<String, String>> editor = clienteEdicao
                                                                    .get(clienteEdicao.firstKey());
                                                            for (TreeMap<String, String> editado : editor) {
                                                                if (listUser.getAttribute("codigo")
                                                                        .equalsIgnoreCase(
                                                                                editado.get("codUsuario"))) {
                                                                    editado.put("codUsuario",
                                                                            listUser.getAttribute("codigo"));
                                                                    editado.put("usuario",
                                                                            itemCampoUser.getValueAsString());
                                                                    editado.put("senha",
                                                                            itemSenha.getValueAsString());
                                                                    editado.put("ativoUsuario",
                                                                            itemEstado.getValueAsString());
                                                                    editado.put("resetUsuario",
                                                                            itemReset.getValueAsString());
                                                                    //("clienteEdicao"+editado.get("resetUsuario"));
                                                                }
                                                            }
                                                            clienteEdicao.put(editor.get(0).get("codCliente"),
                                                                    editor);
                                                            listUser.setAttribute("codigo",
                                                                    listUser.getAttribute("codigo"));
                                                            listUser.setAttribute("usuario",
                                                                    itemCampoUser.getValueAsString());
                                                            listUser.setAttribute("statusCod",
                                                                    ((itemEstado.getValueAsString()
                                                                            .equalsIgnoreCase("true")) ? "t"
                                                                                    : "f"));
                                                            listUser.setAttribute("status",
                                                                    ((itemEstado.getValueAsString()
                                                                            .equalsIgnoreCase("true")) ? "Ativo"
                                                                                    : "Bloqueado"));
                                                            listUser.setAttribute("resetUsuario",
                                                                    ((itemReset.getValueAsString()
                                                                            .equalsIgnoreCase("true"))
                                                                                    ? "Resetado"
                                                                                    : "Resetar"));
                                                            listUser.setAttribute("senha",
                                                                    itemSenha.getValueAsString());
                                                            listAux.refreshRow(
                                                                    listAux.getRecordIndex(listUser));

                                                            int usuarioClicado = listAux
                                                                    .getRecordIndex(listUser);
                                                            usuariosTabBuscaCliente.getRecord(usuarioClicado)
                                                                    .setAttribute("codigo",
                                                                            listUser.getAttribute("codigo"));
                                                            usuariosTabBuscaCliente.getRecord(usuarioClicado)
                                                                    .setAttribute("usuario",
                                                                            itemCampoUser.getValueAsString());
                                                            usuariosTabBuscaCliente.getRecord(usuarioClicado)
                                                                    .setAttribute("statusCod",
                                                                            ((itemEstado.getValueAsString()
                                                                                    .equalsIgnoreCase("true"))
                                                                                            ? "t"
                                                                                            : "f"));
                                                            usuariosTabBuscaCliente.getRecord(usuarioClicado)
                                                                    .setAttribute("status",
                                                                            ((itemEstado.getValueAsString()
                                                                                    .equalsIgnoreCase("true"))
                                                                                            ? "Ativo"
                                                                                            : "Bloqueado"));
                                                            usuariosTabBuscaCliente.getRecord(usuarioClicado)
                                                                    .setAttribute("resetUsuario",
                                                                            ((itemReset.getValueAsString()
                                                                                    .equalsIgnoreCase("true"))
                                                                                            ? "Resetado"
                                                                                            : "Resetar"));
                                                            usuariosTabBuscaCliente.getRecord(usuarioClicado)
                                                                    .setAttribute("senha",
                                                                            itemSenha.getValueAsString());
                                                            usuariosTabBuscaCliente.refreshRow(usuarioClicado);

                                                            usuarioAtualizado.put("codUsuario",
                                                                    listUser.getAttribute("codigo"));
                                                            usuarioAtualizado.put("usuario",
                                                                    itemCampoUser.getValueAsString());
                                                            usuarioAtualizado.put("senha",
                                                                    itemSenha.getValueAsString());
                                                            usuarioAtualizado.put("ativo",
                                                                    itemEstado.getValueAsString());
                                                            usuarioAtualizado.put("resetUsuario",
                                                                    itemReset.getValueAsString());
                                                            //GWT.log("resetado: "+itemReset.getValueAsString());
                                                            Info.dbService.alterarUsuario(usuarioAtualizado,
                                                                    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 usuarioEditado) {
                                                                            if (usuarioEditado == true) {
                                                                                //GWT.log("nome de usurio diferente :"+clienteEdicao);
                                                                                SC.say("Usurio atualizado com sucesso!");
                                                                                janelaCarregando
                                                                                        .addItem(mensagem);
                                                                                janelaCarregando
                                                                                        .setAnimateTime(1200);
                                                                                janelaCarregando.animateHide(
                                                                                        AnimationEffect.FADE);
                                                                                contador = 100;
                                                                                destroy();
                                                                            } else {
                                                                                SC.say("ERRO ao atualizar usurio!");
                                                                                janelaCarregando
                                                                                        .addItem(mensagem);
                                                                                janelaCarregando
                                                                                        .setAnimateTime(1200);
                                                                                janelaCarregando.animateHide(
                                                                                        AnimationEffect.FADE);
                                                                                contador = 100;
                                                                                destroy();
                                                                            }
                                                                        }
                                                                    });
                                                            // destroy();
                                                        }

                                                    } else {
                                                        janelaCarregando.destroy();
                                                        contador = 100;
                                                        SC.say("Usurio: " + itemCampoUser.getValueAsString()
                                                                + " j existe");
                                                        itemCampoUser.clearValue();
                                                        formEditUsuario.focusInItem(itemCampoUser);

                                                    }
                                                }
                                            });

                                } else {
                                    if (formEditUsuario.validate()) {
                                        ArrayList<TreeMap<String, String>> editor = clienteEdicao
                                                .get(clienteEdicao.firstKey());
                                        for (TreeMap<String, String> editado : editor) {
                                            if (listUser.getAttribute("codigo")
                                                    .equalsIgnoreCase(editado.get("codUsuario"))) {
                                                editado.put("codUsuario", listUser.getAttribute("codigo"));
                                                editado.put("usuario", itemCampoUser.getValueAsString());
                                                editado.put("senha", itemSenha.getValueAsString());
                                                editado.put("ativoUsuario", itemEstado.getValueAsString());
                                                editado.put("resetUsuario", itemReset.getValueAsString());
                                                //GWT.log("clienteEdicao"+editado.get("resetUsuario"));
                                            }
                                        }
                                        clienteEdicao.put(editor.get(0).get("codCliente"), editor);
                                        listUser.setAttribute("codigo", listUser.getAttribute("codigo"));
                                        listUser.setAttribute("usuario", itemCampoUser.getValueAsString());
                                        listUser.setAttribute("statusCod",
                                                ((itemEstado.getValueAsString().equalsIgnoreCase("true")) ? "t"
                                                        : "f"));
                                        listUser.setAttribute("status",
                                                ((itemEstado.getValueAsString().equalsIgnoreCase("true"))
                                                        ? "Ativo"
                                                        : "Bloqueado"));
                                        listUser.setAttribute("resetUsuario",
                                                ((itemReset.getValueAsString().equalsIgnoreCase("true"))
                                                        ? "Resetado"
                                                        : "Resetar"));
                                        listUser.setAttribute("senha", itemSenha.getValueAsString());
                                        listAux.refreshRow(listAux.getRecordIndex(listUser));

                                        int usuarioClicado = listAux.getRecordIndex(listUser);
                                        usuariosTabBuscaCliente.getRecord(usuarioClicado).setAttribute("codigo",
                                                listUser.getAttribute("codigo"));
                                        usuariosTabBuscaCliente.getRecord(usuarioClicado)
                                                .setAttribute("usuario", itemCampoUser.getValueAsString());
                                        usuariosTabBuscaCliente.getRecord(usuarioClicado).setAttribute(
                                                "statusCod",
                                                ((itemEstado.getValueAsString().equalsIgnoreCase("true")) ? "t"
                                                        : "f"));
                                        usuariosTabBuscaCliente.getRecord(usuarioClicado).setAttribute("status",
                                                ((itemEstado.getValueAsString().equalsIgnoreCase("true"))
                                                        ? "Ativo"
                                                        : "Bloqueado"));
                                        usuariosTabBuscaCliente.getRecord(usuarioClicado).setAttribute(
                                                "resetUsuario",
                                                ((itemReset.getValueAsString().equalsIgnoreCase("true"))
                                                        ? "Resetado"
                                                        : "Resetar"));
                                        usuariosTabBuscaCliente.getRecord(usuarioClicado).setAttribute("senha",
                                                itemSenha.getValueAsString());
                                        usuariosTabBuscaCliente.refreshRow(usuarioClicado);

                                        usuarioAtualizado.put("codUsuario", listUser.getAttribute("codigo"));
                                        usuarioAtualizado.put("usuario", itemCampoUser.getValueAsString());
                                        usuarioAtualizado.put("senha", itemSenha.getValueAsString());
                                        usuarioAtualizado.put("ativo", itemEstado.getValueAsString());
                                        usuarioAtualizado.put("resetUsuario", itemReset.getValueAsString());
                                        //GWT.log(""+itemReset.getValueAsString());
                                        Info.dbService.alterarUsuario(usuarioAtualizado,
                                                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 usuarioEditado) {
                                                        if (usuarioEditado == true) {
                                                            //GWT.log("nome de usurio igual"+clienteEdicao);
                                                            SC.say("Usurio atualizado com sucesso!");
                                                            janelaCarregando.addItem(mensagem);
                                                            janelaCarregando.setAnimateTime(1200);
                                                            janelaCarregando.animateHide(AnimationEffect.FADE);
                                                            contador = 100;
                                                            destroy();
                                                        } else {
                                                            SC.warn("ERRO ao atualizar usurio!");
                                                            janelaCarregando.addItem(mensagem);
                                                            janelaCarregando.setAnimateTime(1200);
                                                            janelaCarregando.animateHide(AnimationEffect.FADE);
                                                            contador = 100;
                                                            destroy();
                                                        }
                                                    }
                                                });
                                    }
                                }

                            }
                        } else {
                            contador = 0;
                        }

                    }
                }.schedule(50);
            }

        }
    });
    addItem(label);
    addItem(formEditUsuario);
    addItem(hButoes);
}

From source file:com.automaster.client.ui.paineis.dialogs.editar.EditarVeiculo.java

public EditarVeiculo(final int codigoCliente, String nomeCliente,
        final ArrayList<TreeMap<String, String>> dadosVeiculo, final ListGrid veicPlacas,
        final HTMLPane tabelaVeiculos, final TreeMap<String, ArrayList<TreeMap<String, String>>> veiculos,
        final String placaVeiculoCopia) {
    dadosVeiculoCopia = dadosVeiculo;/*from www.java 2  s  . co  m*/
    tabelaVeiculosCopia = tabelaVeiculos;
    veiculosCopia = veiculos;
    //GWT.log("CodEquipamento: "+dadosVeiculo.get(0).get("codPlano"));
    final Window windAux = this;
    setTitle("Editar Veculo");
    setWidth(1015);
    setHeight100();
    setShowMinimizeButton(false);
    setShowCloseButton(false);
    setIsModal(true);
    setShowModalMask(true);
    centerInPage();
    setLayoutAlign(Alignment.CENTER);
    addCloseClickHandler(new CloseClickHandler() {

        @Override
        public void onCloseClick(CloseClickEvent event) {
            destroy();
        }
    });
    //criando o Vlayout que ir armazenar o painelNovoCliente
    HLayout painelpagina = new HLayout();
    painelpagina.setWidth100();
    painelpagina.setHeight100();
    painelpagina.setAlign(Alignment.CENTER);
    //Criando o painel que ir armazenar to tab, sections e butoes
    VLayout painelNovoVeiculo = new VLayout();
    painelNovoVeiculo.setMembersMargin(15);
    painelNovoVeiculo.setWidth(1000);
    painelNovoVeiculo.setDefaultLayoutAlign(Alignment.CENTER);
    //criando o painel que ir armazenar os botoes cadastrar e limpar
    HLayout painelBotoesNovoVeiculo = new HLayout();
    painelBotoesNovoVeiculo.setMembersMargin(15);
    painelBotoesNovoVeiculo.setAlign(Alignment.CENTER);
    //criando o formulrio que armazena os itens de cadastro Veiculo
    final DynamicForm formEditVeiculo = new DynamicForm();
    formEditVeiculo.setMargin(30);
    formEditVeiculo.setLayoutAlign(Alignment.CENTER);
    formEditVeiculo.setAutoFocus(true);

    final SelectItem tipoPlano = new SelectItem();
    tipoPlano.setTitle("Plano");
    tipoPlano.setName("plano");
    Info.dbService.buscarTodosPlanos(new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

        @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(ArrayList<TreeMap<String, String>> result) {
            LinkedHashMap<String, String> pl = new LinkedHashMap<>();
            if (result != null) {
                for (TreeMap<String, String> planos : result) {
                    pl.put(planos.get("codPlano"), planos.get("descricao"));
                }
                tipoPlano.setValueMap(pl);
            } else {
                pl.put("0", "No H plano cadastrado");
            }

        }
    });
    tipoPlano.setValue(dadosVeiculo.get(0).get("codPlano"));
    tipoPlano.setDefaultToFirstOption(true);
    tipoPlano.setHint("<nbr>*</nbr>");
    tipoPlano.setRequired(true);
    tipoPlano.setWidth(450);

    final SelectItem cliente = new SelectItem();
    cliente.setTitle("Cliente");
    cliente.setName("cliente");
    LinkedHashMap<String, String> cl = new LinkedHashMap<>();
    cl.put(String.valueOf(codigoCliente), nomeCliente);
    cliente.setDefaultToFirstOption(true);
    cliente.setValueMap(cl);
    cliente.setHint("<nbr>*</nbr>");
    cliente.setRequired(true);
    cliente.setWidth(450);
    FormItemIcon editCliente = new FormItemIcon();
    editCliente.setSrc("[SKIN]actions/edit.png");
    editCliente.setName("editarEquip");
    editCliente.setPrompt("Editar cliente");
    cliente.setIcons(editCliente);
    editCliente.addFormItemClickHandler(new FormItemClickHandler() {

        @Override
        public void onFormItemClick(FormItemIconClickEvent event) {
            EditarClienteProprietario editarClienteProprietario = new EditarClienteProprietario(cliente);
            editarClienteProprietario.setAnimateTime(1200);
            editarClienteProprietario.animateShow(AnimationEffect.FADE);
        }
    });

    final SelectItem equipamento = new SelectItem();
    equipamento.setTitle("Equipamento");
    equipamento.setName("equipamento");
    LinkedHashMap<String, String> equip = new LinkedHashMap<>();
    if (dadosVeiculo.get(0).get("codEquipamento") == null) {
        equip.put("0", "Sem equipamento");
    } else {
        equip.put(dadosVeiculo.get(0).get("codEquipamento"), dadosVeiculo.get(0).get("idEquipamento"));
        equip.put("0", "Sem equipamento");
    }
    equipamento.setValueMap(equip);
    equipamento.setValue((dadosVeiculo.get(0).get("codEquipamento") == null) ? "0"
            : dadosVeiculo.get(0).get("codEquipamento"));
    equipamento.setHint("<nbr>*</nbr>");
    equipamento.setRequired(true);
    equipamento.setWidth(450);
    FormItemIcon editEquip = new FormItemIcon();
    editEquip.setSrc("[SKIN]actions/edit.png");
    editEquip.setName("editarEquip");
    editEquip.setPrompt("Editar equipamento");
    equipamento.setIcons(editEquip);
    editEquip.addFormItemClickHandler(new FormItemClickHandler() {

        @Override
        public void onFormItemClick(FormItemIconClickEvent event) {
            EditarEquipamentoVeiculo editarEquipamentoVeiculo = new EditarEquipamentoVeiculo(equipamento);
            editarEquipamentoVeiculo.setAnimateTime(1200);
            editarEquipamentoVeiculo.animateShow(AnimationEffect.FADE);
        }
    });

    final SelectItem instalador = new SelectItem();
    instalador.setTitle("Instalador");
    instalador.setName("instalador");
    LinkedHashMap<String, String> codInstalador = new LinkedHashMap<>();
    if (dadosVeiculo.get(0).get("codInstalador") == null) {
        codInstalador.put("0", "Sem instalador");
    } else {
        codInstalador.put(dadosVeiculo.get(0).get("codInstalador"), dadosVeiculo.get(0).get("nomeInstalador"));
    }
    instalador.setValueMap(codInstalador);

    FormItemIcon editInstalador = new FormItemIcon();
    editInstalador.setSrc("[SKIN]actions/edit.png");
    editInstalador.setName("editarEquip");
    editInstalador.setPrompt("Editar equipamento");
    instalador.setIcons(editInstalador);
    instalador.setValue((dadosVeiculo.get(0).get("codInstalador") == null) ? "0"
            : dadosVeiculo.get(0).get("codInstalador"));

    editInstalador.addFormItemClickHandler(new FormItemClickHandler() {

        @Override
        public void onFormItemClick(FormItemIconClickEvent event) {
            EditarInstaladorVeiculo editarInstaladorVeiculo = new EditarInstaladorVeiculo(instalador);
            editarInstaladorVeiculo.setAnimateTime(1200);
            editarInstaladorVeiculo.animateShow(AnimationEffect.FADE);
        }
    });

    instalador.setHint("<nbr>*</nbr>");
    instalador.setRequired(true);
    instalador.setWidth(450);

    final SelectItem indicado = new SelectItem();
    indicado.setName("indicado");
    indicado.setTitle("Indicado por");
    LinkedHashMap<String, String> valueMapVeic = new LinkedHashMap<String, String>();
    if (dadosVeiculo.get(0).get("codVeiculoInd") == null) {
        valueMapVeic.put("0", "Sem indicao");
    } else {
        valueMapVeic.put(dadosVeiculo.get(0).get("codVeiculoInd"), dadosVeiculo.get(0).get("placaIndicador"));
    }
    indicado.setValueMap(valueMapVeic);
    indicado.setDefaultToFirstOption(true);
    //ndicado.setRequired(true);
    indicado.setTooltip("Adicionar Veculo Indicador");
    FormItemIcon icon = new FormItemIcon();
    icon.setSrc("[SKIN]actions/edit.png");
    icon.setName("editarIndicacao");
    icon.setPrompt("Editar Indicao");
    indicado.setIcons(icon);
    indicado.setHint("<nbr>*</nbr>");
    indicado.setWidth(450);
    icon.addFormItemClickHandler(new FormItemClickHandler() {

        @Override
        public void onFormItemClick(FormItemIconClickEvent event) {
            NovaIndicacao dialogInd = new NovaIndicacao(indicado);
            dialogInd.setAnimateTime(1200);
            dialogInd.animateShow(AnimationEffect.FADE);
        }
    });

    final TextItem placa = new TextItem();
    placa.setName("placa");
    placa.setTitle("Placa");
    placa.setMask(">LLL-####");
    placa.setMaskSaveLiterals(true);
    placa.setDisabled(true);
    placa.setHint("<nbr>*</nbr>");
    placa.setWidth(450);
    placa.setValue(dadosVeiculo.get(0).get("placaVeiculo"));
    itemEstado.setTitle("Estado");
    itemEstado.setName("estado");
    itemEstado.setWidth(450);
    itemEstado.setHint("<nbr>*</nbr>");
    itemEstado.setRequired(true);

    Info.dbService.buscarTodosEstados(new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

        @Override
        public void onFailure(Throwable caught) {
            throw new UnsupportedOperationException(
                    "Erro ao Listar os Estados, entre em contato com Administrador!");
        }

        @Override
        public void onSuccess(ArrayList<TreeMap<String, String>> result) {
            LinkedHashMap<String, String> valueMapEst = new LinkedHashMap<String, String>();
            for (TreeMap<String, String> est : result) {
                valueMapEst.put(est.get("codEstado"), est.get("uf"));
                //com.google.gwt.core.shared.GWT.log(est.get("codEstado") + " " + est.get("uf"));
            }
            //com.google.gwt.core.shared.GWT.log("antes do required PF");
            itemEstado.setValueMap(valueMapEst);

        }
    });

    //itemEstado.setDefaultToFirstOption(true);
    itemEstado.setValue(dadosVeiculo.get(0).get("codEstado"));

    Info.dbService.buscarCidadePorEstado(Integer.parseInt(itemEstado.getValueAsString()),
            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                @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(ArrayList<TreeMap<String, String>> result) {

                    LinkedHashMap<String, String> valueMapCid = new LinkedHashMap<String, String>();
                    for (TreeMap<String, String> est : result) {
                        valueMapCid.put(est.get("codCidade"), est.get("nome"));

                    }
                    itemCidade.setValueMap(valueMapCid);
                    itemCidade.setValue(dadosVeiculo.get(0).get("codCidade"));
                }

            });
    itemCidade.setWidth(450);
    itemCidade.setHint("<nbr>*</nbr>");
    itemCidade.setAddUnknownValues(false);
    itemCidade.setDefaultToFirstOption(true);

    itemEstado.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            String selectedItem = (String) event.getValue();

            Info.dbService.buscarCidadePorEstado(Integer.parseInt(selectedItem),
                    new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                        @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(ArrayList<TreeMap<String, String>> result) {

                            LinkedHashMap<String, String> valueMapCid = new LinkedHashMap<String, String>();
                            for (TreeMap<String, String> est : result) {
                                valueMapCid.put(est.get("codCidade"), est.get("nome"));
                            }
                            itemCidade.setValueMap(valueMapCid);

                        }

                    });
        }
    });
    itemCidade.setRequired(true);

    final TextItem chassi = new TextItem();
    chassi.setName("chassi");
    chassi.setTitle("Chassi");
    chassi.setRequired(true);
    chassi.setLength(17);
    chassi.setHint("<nbr>*</nbr>");
    chassi.setKeyPressFilter("[a-zA-Z0-9]");
    chassi.setCharacterCasing(CharacterCasing.UPPER);
    chassi.setWidth(450);
    chassi.setValue(dadosVeiculo.get(0).get("chassi"));

    final TextItem fabricante = new TextItem();
    fabricante.setName("fabricante");
    fabricante.setTitle("Fabricante");
    fabricante.setRequired(true);
    fabricante.setHint("<nbr>*</nbr>");
    fabricante.setKeyPressFilter("[a-zA-Z? 0-9]");
    fabricante.setCharacterCasing(CharacterCasing.UPPER);
    fabricante.setWidth(450);
    fabricante.setValue(dadosVeiculo.get(0).get("fabricante"));

    final TextItem modelo = new TextItem();
    modelo.setName("modelo");
    modelo.setTitle("Modelo");
    modelo.setRequired(true);
    modelo.setHint("<nbr>*</nbr>");
    modelo.setKeyPressFilter("[a-zA-Z? 0-9]");
    modelo.setCharacterCasing(CharacterCasing.UPPER);
    modelo.setWidth(450);
    modelo.setValue(dadosVeiculo.get(0).get("modelo"));

    final TextItem cor = new TextItem();
    cor.setName("cor");
    cor.setTitle("Cor");
    cor.setRequired(true);
    cor.setHint("<nbr>*</nbr>");
    cor.setKeyPressFilter("[a-zA-Z? ]");
    cor.setCharacterCasing(CharacterCasing.UPPER);
    cor.setWidth(450);
    cor.setValue(dadosVeiculo.get(0).get("cor"));

    final TextItem ano = new TextItem();
    ano.setName("ano");
    ano.setTitle("Ano");
    ano.setMask("####/####");
    ano.setMaskSaveLiterals(true);
    ano.setRequired(true);
    ano.setHint("<nbr>*</nbr>");
    ano.setKeyPressFilter("[0-9 /]");
    ano.setCharacterCasing(CharacterCasing.UPPER);
    ano.setWidth(450);
    ano.setValue(dadosVeiculo.get(0).get("ano"));

    final DateItem dataAdesao = new DateItem();
    dataAdesao.setTitle("Data de Adeso.");
    dataAdesao.setName("dataNasc");
    dataAdesao.setUseTextField(true);
    dataAdesao.setHint("<nbr>*</nbr>");
    dataAdesao.setUseMask(true);
    dataAdesao.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);
    dataAdesao.setRequired(true);
    dataAdesao.setWidth(450);
    dataAdesao.setValue(new Date(Long.parseLong(dadosVeiculo.get(0).get("dataAdesao"))));

    final SelectItem ativo = new SelectItem();
    ativo.setTitle("Ativo");
    ativo.setName("itemAtivo");
    LinkedHashMap<String, String> atv = new LinkedHashMap<>();
    atv.put("True", "Ativo");
    atv.put("False", "Desativado");
    ativo.setValueMap(atv);
    ativo.setDefaultToFirstOption(true);
    ativo.setHint("<nbr>*</nbr>");
    ativo.setRequired(true);
    ativo.setWidth(450);
    ativo.setValue(((dadosVeiculo.get(0).get("ativoVeic").equalsIgnoreCase("t")) ? "True" : "False"));

    final TextItem desconto = new TextItem();
    desconto.setName("desconto");
    desconto.setTitle("Desconto");
    desconto.setMask("##.##");
    desconto.setMaskPromptChar("0");
    desconto.setRequired(true);
    desconto.setHint("<nbr>*</nbr>");
    desconto.setValue(Info.formataFloat(dadosVeiculo.get(0).get("desconto")));
    desconto.setMaskPadChar("0");
    desconto.setMaskSaveLiterals(true);
    desconto.setCharacterCasing(CharacterCasing.UPPER);
    desconto.setWidth(450);

    final SelectItem tipoCobranca = new SelectItem();
    tipoCobranca.setTitle("Tipo de Cobrana");
    tipoCobranca.setName("tipoCobranca");
    Info.dbService.buscarTodosTipoCobranca(new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

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

        @Override
        public void onSuccess(ArrayList<TreeMap<String, String>> result) {
            LinkedHashMap<String, String> tpCob = new LinkedHashMap<>();
            if (result != null) {
                for (TreeMap<String, String> tipoCob : result) {
                    tpCob.put(tipoCob.get("codTipoCobranca"), tipoCob.get("descricao"));
                }
                tipoCobranca.setValueMap(tpCob);
                tipoCobranca.setValue(dadosVeiculoCopia.get(0).get("codTc"));
            } else {
                tpCob.put("0", "Erro ao Listar Tipo de Cobrana");

            }
        }
    });
    tipoCobranca.setValue("1");
    tipoCobranca.setHint("<nbr>*</nbr>");
    tipoCobranca.setRequired(true);
    tipoCobranca.setWidth(450);

    numeroParcelas.setTitle("N de Parcelas");
    numeroParcelas.setMultiple(true);
    numeroParcelas.setHint("<nbr>*</nbr>");
    numeroParcelas.setRequired(true);
    numeroParcelas.setWidth(450);
    numeroParcelas.setMultipleAppearance(MultipleAppearance.GRID);
    Info.dbService.buscarPorCodTipoPagamento(Integer.parseInt(dadosVeiculoCopia.get(0).get("codTc")),
            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                @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(ArrayList<TreeMap<String, String>> result) {
                    if (result != null) {
                        LinkedHashMap<String, String> quantParcelas = new LinkedHashMap<>();
                        for (TreeMap<String, String> parcelas : result) {
                            quantParcelas.put(parcelas.get("codParcela"), parcelas.get("numero") + "X de R$"
                                    + Info.formataValor(Float.parseFloat(parcelas.get("valor"))));
                        }
                        numeroParcelas.clearValue();
                        numeroParcelas.redraw();
                        numeroParcelas.setValueMap(quantParcelas);
                        numeroParcelas.setValue(dadosVeiculoCopia.get(0).get("codParcela"));
                    }
                }
            });
    //numeroDeParcelas(tipoCobranca.getValueAsString());
    tipoCobranca.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {

            String selectedItem = (String) event.getValue();
            numeroDeParcelas(selectedItem);
        }
    });

    //Componentes da Tab
    final SectionStack novoVeiculo = new SectionStack();
    //Botes
    IButton salvar = new IButton("Salvar");
    salvar.setLayoutAlign(Alignment.CENTER);

    final Label valorMensalidade = new Label();
    valorMensalidade.setAlign(Alignment.CENTER);
    valorMensalidade.setHeight(30);

    final SectionStackSection formSection = new SectionStackSection();
    formSection.setTitle("Dados do Veculo");
    formSection.setItems(formEditVeiculo, valorMensalidade);
    formSection.setExpanded(true);
    if (tipoPlano.getValueAsString().equalsIgnoreCase("1")) {
        float master = 59.90f - (Float.parseFloat(desconto.getValueAsString()));
        valorMensalidade.setContents(
                "<strong><h3>Valor da Mensalidade: R$" + Info.formataValor(master) + "</h3></strong>");
    } else {
        float comodato = 74.90f - (Float.parseFloat(desconto.getValueAsString()));
        valorMensalidade.setContents(
                "<strong><h3>Valor da Mensalidade: R$" + Info.formataValor(comodato) + "</h3></strong>");
    }
    //Evento que Troca o Valor do Plano de acordo com a Escolha do Usurio
    tipoPlano.addChangedHandler(new ChangedHandler() {

        @Override
        public void onChanged(ChangedEvent event) {

            final String plano = (String) event.getValue();

            if (plano.equals("1")) {
                valorMensalidade.redraw();
                float master = 59.90f - (Float.parseFloat(desconto.getValueAsString()));
                valorMensalidade.setContents(
                        "<strong><h3>Valor da Mensalidade: R$" + Info.formataValor(master) + "</h3></strong>");
            } else {
                valorMensalidade.redraw();
                float comodato = 74.90f - (Float.parseFloat(desconto.getValueAsString()));
                valorMensalidade.setContents("<strong><h3>Valor da Mensalidade: R$"
                        + Info.formataValor(comodato) + "</h3></strong>");
            }
        }
    });
    //Pega o Valor de desconto digitado pelo Usurio
    desconto.addChangedHandler(new ChangedHandler() {

        @Override
        public void onChanged(ChangedEvent event) {
            String desc = desconto.getValueAsString();

            //String desc = (String) event.getValue();
            if (desc == null) {
                if (tipoPlano.getValueAsString().equals("1")) {
                    valorMensalidade.setContents("<strong><h3>Valor da Mensalidade: R$59,90</h3></strong>");
                    //desconto.clearValue();
                    desconto.setValue("00.00");
                } else {
                    valorMensalidade.setContents("<strong><h3>Valor da Mensalidade: R$74,90</h3></strong>");
                    //desconto.clearValue();
                    desconto.setValue("00.00");
                }

            } else if (desc.equalsIgnoreCase("")) {
                if (tipoPlano.getValueAsString().equals("1")) {
                    valorMensalidade.setContents("<strong><h3>Valor da Mensalidade: R$59,90</h3></strong>");
                    desconto.setValue("00.00");
                } else {
                    valorMensalidade.setContents("<strong><h3>Valor da Mensalidade: R$74,90</h3></strong>");
                    desconto.setValue("00.00");
                }

            } else {
                if (tipoPlano.getValueAsString().equals("1")) {
                    float master = 59.90f - (Float.parseFloat(desc));
                    valorMensalidade.redraw();
                    valorMensalidade.setContents("<strong><h3>Valor da Mensalidade: R$"
                            + Info.formataValor(master) + "</h3></strong>");
                    //GWT.log(String.valueOf(master));
                } else {
                    float comodato = 74.90f - (Float.parseFloat(desc));
                    valorMensalidade.redraw();
                    valorMensalidade.setContents("<strong><h3>Valor da Mensalidade: R$"
                            + Info.formataValor(comodato) + "</h3></strong>");
                    //GWT.log(String.valueOf(comodato));

                }
            }
        }

    });
    // Inicio dos Botes de Adicionar e Remover
    final ImgButton addpadLig = new ImgButton();
    addpadLig.setSrc("[SKIN]actions/add.png");
    addpadLig.setSize(16);
    addpadLig.setShowFocused(false);
    addpadLig.setShowRollOver(false);
    addpadLig.setShowDown(false);
    addpadLig.setTooltip("Adicionar Padro de Ligao");

    final ImgButton addPesAut = new ImgButton();
    addPesAut.setSrc("[SKIN]actions/add.png");
    addPesAut.setSize(16);
    addPesAut.setShowFocused(false);
    addPesAut.setShowRollOver(false);
    addPesAut.setShowDown(false);
    addPesAut.setTooltip("Adicionar Pessoa Autorizada");
    // FIm dos Botes de Adicionar
    //cria colunas para grid Emails
    //List Grid Padro de Ligao
    ListGridField codigoPad = new ListGridField("codPad", "Cdigo");
    codigoPad.setHidden(true);
    ListGridField corFio = new ListGridField("corFio", "Cor do Fio");
    corFio.setAlign(Alignment.CENTER);
    //Coluna sinal
    ListGridField sinal = new ListGridField("sinalPad", "Sinal");
    sinal.setAlign(Alignment.CENTER);
    ;
    //coluna Padro Veiculo
    ListGridField padrao = new ListGridField("padraoLd", "Padro fio");
    padrao.setAlign(Alignment.CENTER);
    //coluna funo
    ListGridField funcao = new ListGridField("funcaoPad", "Funo");
    funcao.setAlign(Alignment.CENTER);
    //coluna ativo
    ListGridField fieldAtivo = new ListGridField("ativoPad", "Ativo");
    fieldAtivo.setAlign(Alignment.CENTER);
    //coluna descricao
    ListGridField descricaoPl = new ListGridField("descricaoPad", "Descrio");
    descricaoPl.setAlign(Alignment.CENTER);
    ListGridField editarPl = new ListGridField("editar", "Editar");
    editarPl.setAlign(Alignment.CENTER);
    editarPl.setWidth(35);
    final ListGridField excluirPl = new ListGridField("excluir", "Excluir");
    excluirPl.setAlign(Alignment.CENTER);
    excluirPl.setWidth(40);
    //cria grid Padro de Ligao
    listPadLig.setCanPickFields(false);
    listPadLig.setFields(codigoPad, corFio, sinal, padrao, funcao, fieldAtivo, descricaoPl, editarPl,
            excluirPl);
    listPadLig.setShowRecordComponents(true);
    listPadLig.setShowRecordComponentsByCell(true);
    listPadLig.setShowAllRecords(true);
    listPadLig.setCanResizeFields(true);

    TreeMap<String, String> codPadraoLigacao = new TreeMap<String, String>();
    for (TreeMap<String, String> padLig : dadosVeiculo) {
        if (padLig.get("codPad") != null && codPadraoLigacao.get(padLig.get("codPad")) == null) {
            Record padLigacao = new Record();
            padLigacao.setAttribute("codPad", padLig.get("codPad"));
            padLigacao.setAttribute("corFio",
                    ((padLig.get("corFio") == null) ? "Sem informao" : padLig.get("corFio")));
            padLigacao.setAttribute("sinalPad",
                    ((padLig.get("sinalPad").equalsIgnoreCase("null")) ? "Sem informao"
                            : (padLig.get("sinalPad").equalsIgnoreCase("t")) ? "Positivo" : "Negativo"));
            padLigacao.setAttribute("padraoLd",
                    ((padLig.get("padraoLd").equalsIgnoreCase("null")) ? "Sem informao"
                            : ((padLig.get("padraoLd").equalsIgnoreCase("t")) ? "Ligado" : "Desligado")));
            padLigacao.setAttribute("funcaoPad",
                    ((padLig.get("funcaoPad").equalsIgnoreCase("null")) ? "Sem informao"
                            : ((padLig.get("funcaoPad").equalsIgnoreCase("t")) ? "Entrada" : "Sada")));
            padLigacao.setAttribute("ativoPad",
                    ((padLig.get("ativoPad").equalsIgnoreCase("null")) ? "Sem informao"
                            : ((padLig.get("ativoPad").equalsIgnoreCase("t")) ? "Sim" : "No")));
            padLigacao.setAttribute("descricaoPad",
                    ((padLig.get("descricaoPad") == null || padLig.get("descricaoPad").equalsIgnoreCase(""))
                            ? "Sem informao"
                            : padLig.get("descricaoPad")));
            listPadLig.addData(padLigacao);
            codPadraoLigacao.put(padLig.get("codPad"), padLig.get("codPad"));
        }
    }

    addpadLig.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            EditarNovoPadraoLigacao novPadLig = new EditarNovoPadraoLigacao(listPadLig, dadosVeiculoCopia);
            novPadLig.setAnimateTime(1200);
            novPadLig.animateShow(AnimationEffect.FADE);
        }
    });
    //cria a sections email que ir guardar a grid de emails
    final SectionStackSection padLigSection = new SectionStackSection();
    padLigSection.setTitle("Padro de Ligao");
    padLigSection.setItems(listPadLig);
    padLigSection.setControls(addpadLig);
    padLigSection.setExpanded(true);
    //criando coluna para grid telefone
    ListGridField codigoPesAut = new ListGridField("codigo", "Cdigo");
    codigoPesAut.setHidden(true);
    ListGridField nomePesAut = new ListGridField("nomePes", "Nome");
    nomePesAut.setRequired(true);
    nomePesAut.setAlign(Alignment.CENTER);
    //pega o valor do nmero do telefone
    ListGridField telefonePesAut = new ListGridField("telefonePes", "Telefone");
    telefonePesAut.setAlign(Alignment.CENTER);
    //pega o valor da descrio
    ListGridField descPesAut = new ListGridField("descricaoPes", "Descrio");
    descPesAut.setAlign(Alignment.CENTER);
    ListGridField editarPesAut = new ListGridField("editar", "Editar");
    editarPesAut.setAlign(Alignment.CENTER);
    editarPesAut.setWidth(35);
    final ListGridField excluirPesAut = new ListGridField("excluir", "Excluir");
    excluirPesAut.setAlign(Alignment.CENTER);
    excluirPesAut.setWidth(40);
    //adicionando na lista grid de Pessoa Autorizada
    listPadLig.setCanPickFields(false);
    listPesAut.setFields(codigoPesAut, nomePesAut, telefonePesAut, descPesAut, editarPesAut, excluirPesAut);
    listPesAut.setShowRecordComponents(true);
    listPesAut.setShowRecordComponentsByCell(true);
    listPesAut.setShowAllRecords(true);
    listPesAut.setCanResizeFields(true);
    TreeMap<String, String> codPessoaAutorizada = new TreeMap<String, String>();
    for (TreeMap<String, String> pessoAutorizada : dadosVeiculo) {
        if (pessoAutorizada.get("codPes") != null
                && codPessoaAutorizada.get(pessoAutorizada.get("codPes")) == null) {
            Record pessoAut = new Record();
            pessoAut.setAttribute("codigo", (pessoAutorizada.get("codPes") == null) ? "Sem informao"
                    : pessoAutorizada.get("codPes"));
            pessoAut.setAttribute("nomePes",
                    (pessoAutorizada.get("nomePes").equalsIgnoreCase("null")) ? "Sem informao"
                            : pessoAutorizada.get("nomePes"));
            pessoAut.setAttribute("telefonePes",
                    (pessoAutorizada.get("telefonePes") == null) ? "Sem informao"
                            : Info.formataTelefone(pessoAutorizada.get("telefonePes")));
            pessoAut.setAttribute("descricaoPes",
                    ((pessoAutorizada.get("descricaoPes") == null
                            || pessoAutorizada.get("descricaoPes").equalsIgnoreCase("")) ? "Sem informao"
                                    : pessoAutorizada.get("descricaoPes")));
            listPesAut.addData(pessoAut);
            codPessoaAutorizada.put(pessoAutorizada.get("codPes"), pessoAutorizada.get("codPes"));
        }
    }
    //criando seo telefone
    final SectionStackSection pesAutSection = new SectionStackSection();
    pesAutSection.setTitle("Pessoas Autorizadas");
    pesAutSection.setItems(listPesAut);
    pesAutSection.setControls(addPesAut);
    pesAutSection.setExpanded(true);
    //boto para adicionar nova linha na ListGrid telefone
    addPesAut.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            EditarNovaPessoaAutorizada novaPesAut = new EditarNovaPessoaAutorizada(listPesAut,
                    dadosVeiculoCopia);
            novaPesAut.setAnimateTime(1200);
            novaPesAut.animateShow(AnimationEffect.FADE);
        }
    });

    //Desenha o formulrio com todos os itens na tab Novo Cliente.
    formEditVeiculo.setItemLayout(FormLayoutType.TABLE);
    formEditVeiculo.setTitleOrientation(TitleOrientation.TOP);
    formEditVeiculo.setFields(tipoPlano, cliente, equipamento, instalador, indicado, placa, itemEstado,
            itemCidade, chassi, fabricante, modelo, cor, ano, dataAdesao, ativo, desconto, tipoCobranca,
            numeroParcelas);

    novoVeiculo.setSections(formSection, padLigSection, pesAutSection);
    novoVeiculo.setVisibilityMode(VisibilityMode.MULTIPLE);
    novoVeiculo.setAnimateSections(true);
    novoVeiculo.setWidth100();
    novoVeiculo.setHeight100();
    novoVeiculo.setOverflow(Overflow.VISIBLE);

    salvar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            if (formEditVeiculo.validate()) {
                //GWT.log("Linha 1 EditarVeiculo");
                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() {
                        //GWT.log("Linha 2 EditarVeiculo");
                        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);
                            //GWT.log("Linha 3 EditarVeiculo");
                            if (contador >= 100) {
                                //GWT.log("Linha 1");
                                // GWT.log("Linha 4 EditarVeiculo");
                                TreeMap<String, String> veiculo = new TreeMap<String, String>();
                                veiculo.put("codVeiculo", dadosVeiculo.get(0).get("codVeiculo"));
                                veiculo.put("codPlano", tipoPlano.getValueAsString());
                                veiculo.put("codCliente", cliente.getValueAsString());
                                //GWT.log("Equip: "+equipamento.getValueAsString());
                                veiculo.put("codEquipamento", equipamento.getValueAsString());
                                veiculo.put("codFuncionario", instalador.getValueAsString());
                                veiculo.put("codVeiculoIndicador", indicado.getValueAsString());
                                veiculo.put("placa", placa.getValueAsString());
                                veiculo.put("codCidade", itemCidade.getValueAsString());
                                veiculo.put("chassi", chassi.getValueAsString());
                                veiculo.put("fabricante", fabricante.getValueAsString());
                                veiculo.put("modelo", modelo.getValueAsString());
                                veiculo.put("cor", cor.getValueAsString());
                                veiculo.put("ano", ano.getValueAsString());
                                Date datadeAdesao = dataAdesao.getValueAsDate();
                                veiculo.put("ativo", ativo.getValueAsString());
                                veiculo.put("desconto", desconto.getValueAsString());
                                veiculo.put("observacoes", "");
                                veiculo.put("codParcela", numeroParcelas.getValueAsString());
                                //GWT.log("Linha 5 EditarVeiculo");
                                //GWT.log("Linha 2"+codigoCliente);
                                Info.dbService.alterarVeiculo(veiculo, codigoCliente, datadeAdesao,
                                        Integer.parseInt(
                                                ((dadosVeiculo.get(0).get("codEquipamento") == null) ? "0"
                                                        : dadosVeiculo.get(0).get("codEquipamento"))),
                                        new AsyncCallback<Boolean>() {

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

                                            @Override
                                            public void onSuccess(Boolean veiculoAtualizado) {
                                                //GWT.log("Linha 6 EditarVeiculo");
                                                if (veiculoAtualizado == true) {
                                                    //GWT.log("Linha 7 EditarVeiculo");
                                                    Info.dbService.buscarVeiculoPorCliente(codigoCliente,
                                                            new AsyncCallback<TreeMap<String, ArrayList<TreeMap<String, String>>>>() {

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

                                                                @Override
                                                                public void onSuccess(
                                                                        TreeMap<String, ArrayList<TreeMap<String, String>>> dadosVeiculoAtualizados) {
                                                                    //GWT.log("Linha 8 EditarVeiculo");
                                                                    if (dadosVeiculoAtualizados != null) {
                                                                        //GWT.log("Linha 9 EditarVeiculo");
                                                                        //veiculosCopia.remove(dadosVeiculo);
                                                                        ArrayList<TreeMap<String, String>> dadosVeiculoAtualizado = dadosVeiculoAtualizados
                                                                                .get(placaVeiculoCopia);
                                                                        //veiculosCopia.put(dadosVeiculo.get(0).get("placaVeiculo"), );
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "placaVeiculo",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("placaVeiculo"));
                                                                        dadosVeiculoCopia.get(0).put("modelo",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("modelo"));
                                                                        dadosVeiculoCopia.get(0).put("ano",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("ano"));
                                                                        dadosVeiculoCopia.get(0).put("cor",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("cor"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "fabricante",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("fabricante"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "descricaoTc",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("descricaoTc"));
                                                                        dadosVeiculoCopia.get(0).put("chassi",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("chassi"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "dataAdesao",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("dataAdesao"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "cidadeNome",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("cidadeNome"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "estadoNome",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("estadoNome"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "ativoVeic",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("ativoVeic"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "numeroParcela",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("numeroParcela"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "placaIndicador",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("placaIndicador"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "descricaoPlano",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("descricaoPlano"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "codEquipamento",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("codEquipamento"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "idEquipamento",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("idEquipamento"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "fabricanteMod",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("fabricanteMod"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "descricaoModelo",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("descricaoModelo"));
                                                                        dadosVeiculoCopia.get(0).put("desconto",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("desconto"));
                                                                        dadosVeiculoCopia.get(0).put("codTc",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("codTc"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "descricaoTc",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("descricaoTc"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "codParcela",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("codParcela"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "valorParcela",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("valorParcela"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "valorPlano",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("valorPlano"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "codInstalador",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("codInstalador"));
                                                                        dadosVeiculoCopia.get(0).put(
                                                                                "nomeInstalador",
                                                                                dadosVeiculoAtualizado.get(0)
                                                                                        .get("nomeInstalador"));

                                                                        if (!veicPlacas.getRecordList()
                                                                                .isEmpty()) {
                                                                            veicPlacas.selectAllRecords();
                                                                            veicPlacas.removeSelectedData();
                                                                            tabelaVeiculos.markForRedraw();
                                                                            tabelaVeiculos
                                                                                    .setContents(tabelaVazia);
                                                                        }
                                                                        //GWT.log("Linha 11 EditarVeiculo");
                                                                        TreeMap<String, ArrayList<TreeMap<String, String>>> veiculosAux = new TreeMap<String, ArrayList<TreeMap<String, String>>>(
                                                                                dadosVeiculoAtualizados);
                                                                        // GWT.log("Linha 12 EditarVeiculo");
                                                                        ListGridRecord[] registeredPlacaRecords = new ListGridRecord[dadosVeiculoAtualizados
                                                                                .size()];
                                                                        //GWT.log("Linha 13 EditarVeiculo");
                                                                        if (dadosVeiculoAtualizados
                                                                                .size() > 0) {
                                                                            //GWT.log("Linha 14 EditarVeiculo");
                                                                            for (int i = 0; i < dadosVeiculoAtualizados
                                                                                    .size(); i++) {
                                                                                // GWT.log("Linha 15 EditarVeiculo");
                                                                                final ListGridRecord recordVeiculos = new ListGridRecord();
                                                                                recordVeiculos.setAttribute(
                                                                                        "placa",
                                                                                        veiculosAux
                                                                                                .pollFirstEntry()
                                                                                                .getValue()
                                                                                                .get(0)
                                                                                                .get("placaVeiculo"));
                                                                                registeredPlacaRecords[i] = recordVeiculos;
                                                                            }
                                                                            //GWT.log("Linha 16 EditarVeiculo");
                                                                            DataSourceTextField placaVeiculo = new DataSourceTextField(
                                                                                    "placa", "Placa");
                                                                            placaVeiculo.setRequired(true);
                                                                            placaVeiculo.setPrimaryKey(true);
                                                                            //GWT.log("Linha 17 EditarVeiculo");
                                                                            DataSource ds = new DataSource();
                                                                            ds.setClientOnly(true);
                                                                            ds.setFields(placaVeiculo);
                                                                            //GWT.log("Linha 18 EditarVeiculo");
                                                                            for (int i = 0; i < registeredPlacaRecords.length; i++) {
                                                                                // GWT.log("Linha 19 EditarVeiculo");
                                                                                ds.addData(
                                                                                        registeredPlacaRecords[i]);
                                                                            }
                                                                            //GWT.log("Linha 20 EditarVeiculo");
                                                                            veicPlacas.setDataSource(ds);
                                                                            veicPlacas.fetchData();
                                                                            veicPlacas.setSelectionType(
                                                                                    SelectionStyle.SINGLE);
                                                                            //GWT.log("Linha 21 EditarVeiculo");
                                                                            SC.say("Veculo atualizado com sucesso!");
                                                                            windAux.destroy();
                                                                        }
                                                                    }

                                                                }
                                                            });
                                                } else {
                                                    SC.warn("ERRO ao atualizar os dados do veculo");
                                                }
                                            }
                                        });
                                janelaCarregando.addItem(mensagem);
                                janelaCarregando.setAnimateTime(1200);
                                janelaCarregando.animateHide(AnimationEffect.FADE);
                                contador = 100;
                                destroy();
                            }
                        } else {
                            contador = 0;
                        }

                    }
                }.schedule(50);
            }
        }
    });

    painelBotoesNovoVeiculo.addMember(salvar);

    painelNovoVeiculo.addMember(novoVeiculo);
    painelNovoVeiculo.addMember(painelBotoesNovoVeiculo);
    //Desenhando o formulrio na Tab
    painelpagina.addMember(painelNovoVeiculo);

    addItem(painelpagina);

}

From source file:com.automaster.client.ui.paineis.tabs.financeiro.dialogs.EditarFatura.java

public EditarFatura(final int codCliente, final ListGrid listLancamentos, final ListGrid listFaturas,
        final ListGridRecord recordFatura, final Label labelLanc, final Label labelfaturas,
        final Label labelSaldo, final TabConsultaFaturaLancamento objFaturaLancamento) {

    final EditarFatura novaFaturaAux = this;

    setTitle("Editar fatura");
    setWidth(500);//ww  w .  j a  v a  2 s .co m
    setHeight(300);
    setShowMinimizeButton(false);
    setShowCloseButton(false);
    setIsModal(true);
    setShowModalMask(true);
    centerInPage();
    setLayoutAlign(Alignment.CENTER);
    setMembersMargin(5);

    Label label = new Label("<strong><h3>Cadastrar nova Fatura</h3></strong>");
    label.setAlign(Alignment.CENTER);

    final DynamicForm formNovaFatura = new DynamicForm();
    formNovaFatura.setAutoFocus(true);
    formNovaFatura.setWidth(490);
    formNovaFatura.setMargin(15);
    formNovaFatura.setLayoutAlign(Alignment.CENTER);

    final TextItem itemMesRef = new TextItem();
    itemMesRef.setTitle("Ms de ref.");
    itemMesRef.setName("mesRef");
    itemMesRef.setMask(">LLL/####");
    itemMesRef.setRequired(true);
    itemMesRef.setHint("<nbr>*</nbr>");
    itemMesRef.setMaskSaveLiterals(true);
    itemMesRef.setCharacterCasing(CharacterCasing.UPPER);
    itemMesRef.setWidth(300);
    itemMesRef.setHint("<nbr>*</nbr>");
    itemMesRef.setValue(recordFatura.getAttribute("mesReferencia"));

    final DateItem dataVencimeto = new DateItem();
    dataVencimeto.setTitle("Data de Venc.");
    dataVencimeto.setName("dataVencimento");
    dataVencimeto.setUseTextField(true);
    dataVencimeto.setHint("<nbr>*</nbr>");
    dataVencimeto.setUseMask(true);
    dataVencimeto.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);
    dataVencimeto.setRequired(true);
    dataVencimeto.setWidth(300);
    dataVencimeto.setValue(recordFatura.getAttribute("dataFatura"));

    final TextItem itemValor = new TextItem();
    itemValor.setTitle("Valor");
    itemValor.setName("valor");
    itemValor.setRequired(true);
    itemValor.setHint("<nbr>*</nbr>");
    itemValor.setMaskSaveLiterals(true);
    itemValor.setCharacterCasing(CharacterCasing.UPPER);
    itemValor.setWidth(300);
    itemValor.setHint("<nbr>*</nbr>");
    itemValor.setValue(recordFatura.getAttribute("valor"));
    itemValor.addKeyPressHandler(new KeyPressHandler() {
        @Override
        public void onKeyPress(KeyPressEvent event) {
            String tecla;
            tecla = event.getKeyName();
            //GWT.log("Tecla " + tecla + " KeyCod = " + event.getCharacterValue());
            //GWT.log("Objeto JavaScript "+ Info.FormataMoeda(itemValor.getValueAsString(), ".", ",", tecla));
            String aux = "";
            if (event.getCharacterValue() != null && event.getCharacterValue() >= 48
                    && event.getCharacterValue() <= 57) {
                aux = Info.FormataMoeda(
                        (itemValor.getValueAsString() != null) ? itemValor.getValueAsString() : "0", ".", ",",
                        tecla);
                flagItemValor = true;
            }
            //GWT.log("Aux=" + aux);
            //itemValor.setValue(aux);
            campo = aux;
            //Info.FormataMoeda(itemValor.getJsObj(), ".", ",", tecla);
        }
    });
    itemValor.addChangedHandler(new ChangedHandler() {

        @Override
        public void onChanged(ChangedEvent event) {
            //GWT.log("Entrou no changed: " + event.getValue());
            if (flagItemValor) {
                itemValor.setValue(campo);
            }
            flagItemValor = false;
        }
    });

    formNovaFatura.setItems(itemMesRef, dataVencimeto, itemValor);

    //        formNovaFatura.addDrawHandler(new DrawHandler() {
    //            
    //            @Override
    //            public void onDraw(DrawEvent event) {
    //                formNovaFatura.focusInItem(itemValor);
    //            }
    //        });

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

    salvar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            if (formNovaFatura.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%");
                                listFaturas.setData(new RecordList());
                                TreeMap<String, String> novaFatura = new TreeMap<String, String>();
                                novaFatura.put("codFatura", recordFatura.getAttributeAsString("codigo"));
                                novaFatura.put("codCliente", String.valueOf(codCliente));
                                novaFatura.put("mes", itemMesRef.getValueAsString());
                                novaFatura.put("valor", itemValor.getValueAsString().replaceAll("\\.", "")
                                        .replaceAll(",", "\\."));
                                Date dataVencimento = dataVencimeto.getValueAsDate();
                                Info.dbService.alterarFatura(novaFatura, dataVencimento,
                                        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 result) {
                                                if (result == true) {
                                                    SC.say("Fatura atualizada com sucesso");
                                                    //////////////////*******************************************************///////////////////////////////////////////////////
                                                    Info.dbService.buscarTodasTaxas(
                                                            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                                                                @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(
                                                                        ArrayList<TreeMap<String, String>> taxas) {
                                                                    if (taxas != null) {
                                                                        for (TreeMap<String, String> txs : taxas) {
                                                                            if (Integer.parseInt(
                                                                                    txs.get("codTaxa")) == 1) {
                                                                                multa = Double.parseDouble(
                                                                                        txs.get("valor"));
                                                                            } else if (Integer.parseInt(
                                                                                    txs.get("codTaxa")) == 2) {
                                                                                juros = Double.parseDouble(
                                                                                        txs.get("valor"));
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            });
                                                    Info.dbService.buscarFaturaPorCliente(codCliente,
                                                            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                                                                @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(
                                                                        ArrayList<TreeMap<String, String>> faturasCliente) {
                                                                    Date dataAtual = new Date(
                                                                            System.currentTimeMillis());
                                                                    long diaAtual = dataAtual.getTime();
                                                                    long diferencaDeDatas = 0;
                                                                    long diaVencimento = 0;
                                                                    TreeMap<String, String> faturaAuxiliar = new TreeMap<String, String>();
                                                                    if (faturasCliente != null) {
                                                                        for (TreeMap<String, String> fats : faturasCliente) {
                                                                            if (faturasCliente.get(0)
                                                                                    .get("codFatura") != null
                                                                                    && faturaAuxiliar.get(fats
                                                                                            .get("codFatura")) == null) {
                                                                                Date dataDeVencimento = new Date(
                                                                                        Long.parseLong(fats.get(
                                                                                                "dataVencimento")));
                                                                                diaVencimento = dataDeVencimento
                                                                                        .getTime();
                                                                                diferencaDeDatas = diaAtual
                                                                                        - diaVencimento;
                                                                                TreeMap<String, String> faturaBD = new TreeMap<String, String>();
                                                                                faturaBD.put("codFatura",
                                                                                        fats.get("codFatura"));
                                                                                faturaBD.put("codCliente",
                                                                                        fats.get("codCliente"));
                                                                                faturaBD.put("dataVencimento",
                                                                                        fats.get(
                                                                                                "dataVencimento"));
                                                                                faturaBD.put("valor",
                                                                                        String.valueOf(Info
                                                                                                .formataSaldo(
                                                                                                        Double.parseDouble(
                                                                                                                fats.get(
                                                                                                                        "valor")))));
                                                                                faturaBD.put("estado",
                                                                                        fats.get("estado"));
                                                                                faturaBD.put("valorPago", (fats
                                                                                        .get("totalLancamentos") == null)
                                                                                                ? String.valueOf(
                                                                                                        Info.formataSaldo(
                                                                                                                0))
                                                                                                : String.valueOf(
                                                                                                        Info.formataSaldo(
                                                                                                                Double.parseDouble(
                                                                                                                        fats.get(
                                                                                                                                "totalLancamentos")))));
                                                                                faturaBD.put("mesReferencia",
                                                                                        fats.get("mes"));
                                                                                faturaBD.put("count", "0");
                                                                                //GWT.log("" + fats.get("valorApagar"));
                                                                                double totalPago = (fats.get(
                                                                                        "totalLancamentos") == null)
                                                                                                ? 0
                                                                                                : (Double
                                                                                                        .parseDouble(
                                                                                                                fats.get(
                                                                                                                        "totalLancamentos")));
                                                                                //GWT.log("Valor a pagar"+(Double.parseDouble(fats.get("valor")) - (totalPago)));
                                                                                if (diferencaDeDatas <= 0) {
                                                                                    double valor = Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"));
                                                                                    double valorAtualFatura = (totalPago == 0)
                                                                                            ? Info.formataDecimal(
                                                                                                    valor)
                                                                                            : Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))
                                                                                                            - (totalPago));
                                                                                    faturaBD.put("jurosEmulta",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Double.parseDouble(
                                                                                                                    "0"))));
                                                                                    faturaBD.put("valorApagar",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Info.formataDecimal(
                                                                                                                    (valorAtualFatura)))));
                                                                                    faturaBD.put("valorTotal",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Info.formataDecimal(
                                                                                                                    Double.parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))))));
                                                                                    diferencaDeDatas = 0;
                                                                                } else if (diferencaDeDatas > 0
                                                                                        && diferencaDeDatas < 86400000) {
                                                                                    double valor = Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"));
                                                                                    double valorAtualFatura = (totalPago == 0)
                                                                                            ? Info.formataDecimal(
                                                                                                    valor)
                                                                                                    + (valor * multa)
                                                                                            : Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))
                                                                                                            - (totalPago)
                                                                                                            + (valor * multa));
                                                                                    faturaBD.put("jurosEmulta",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            (Info.formataDecimal(
                                                                                                                    valor * multa)))));
                                                                                    faturaBD.put("valorApagar",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            valorAtualFatura)));
                                                                                    faturaBD.put("valorTotal",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Info.formataDecimal(
                                                                                                                    Double.parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                            + ((Double
                                                                                                                                    .parseDouble(
                                                                                                                                            fats.get(
                                                                                                                                                    "valor"))
                                                                                                                                    * multa))))));
                                                                                    diferencaDeDatas = 0;
                                                                                } else if (diferencaDeDatas > 86400000) {
                                                                                    double valor = Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"));
                                                                                    double valorAtualFatura = (totalPago == 0)
                                                                                            ? Info.formataDecimal(
                                                                                                    valor)
                                                                                                    + (valor * multa)
                                                                                                    + ((diferencaDeDatas
                                                                                                            / 86400000)
                                                                                                            * (juros * valor))
                                                                                            : Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))
                                                                                                            - (totalPago)
                                                                                                            + (valor * multa)
                                                                                                            + ((diferencaDeDatas
                                                                                                                    / 86400000)
                                                                                                                    * (juros * valor)));
                                                                                    faturaBD.put("jurosEmulta",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Info.formataDecimal(
                                                                                                                    (valor * multa)
                                                                                                                            + ((diferencaDeDatas
                                                                                                                                    / 86400000)
                                                                                                                                    * (juros * valor))))));
                                                                                    faturaBD.put("valorApagar",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            valorAtualFatura)));
                                                                                    faturaBD.put("valorTotal",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Info.formataDecimal(
                                                                                                                    Double.parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                            + ((Double
                                                                                                                                    .parseDouble(
                                                                                                                                            fats.get(
                                                                                                                                                    "valor"))
                                                                                                                                    * multa))
                                                                                                                            + ((diferencaDeDatas
                                                                                                                                    / 86400000)
                                                                                                                                    * (juros * Double
                                                                                                                                            .parseDouble(
                                                                                                                                                    fats.get(
                                                                                                                                                            "valor"))))))));
                                                                                    diferencaDeDatas = 0;
                                                                                }
                                                                                arrayFaturasBD.add(faturaBD);
                                                                                faturaAuxiliar.put(
                                                                                        fats.get("codFatura"),
                                                                                        fats.get("codFatura"));
                                                                            }
                                                                        }
                                                                        objFaturaLancamento
                                                                                .setTotalLancamentos(0);
                                                                        objFaturaLancamento.setTotalFaturas(0);
                                                                        objFaturaLancamento.setSaldo(0);
                                                                        //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++////////////
                                                                        for (TreeMap<String, String> fatsGrid : arrayFaturasBD) {
                                                                            Record fat = new Record();
                                                                            fat.setAttribute("codigo",
                                                                                    fatsGrid.get("codFatura"));
                                                                            fat.setAttribute("codCliente",
                                                                                    fatsGrid.get("codCliente"));
                                                                            fat.setAttribute("dataFatura",
                                                                                    DateTimeFormat
                                                                                            .getShortDateFormat()
                                                                                            .format(new Date(
                                                                                                    Long.parseLong(
                                                                                                            fatsGrid.get(
                                                                                                                    "dataVencimento")))));
                                                                            fat.setAttribute("valor",
                                                                                    fatsGrid.get("valor"));
                                                                            fat.setAttribute("estado", (Boolean
                                                                                    .parseBoolean(fatsGrid.get(
                                                                                            "estado")) == false)
                                                                                                    ? "<nbr class=\negativo\"> Em aberto</nbr>"
                                                                                                    : "<nbr class=\"positivo\">Quitada</nbr>");
                                                                            fat.setAttribute("valorPago",
                                                                                    fatsGrid.get("valorPago"));
                                                                            fat.setAttribute("mesReferencia",
                                                                                    fatsGrid.get(
                                                                                            "mesReferencia"));
                                                                            fat.setAttribute("valorApagar",
                                                                                    (Boolean.parseBoolean(
                                                                                            fatsGrid.get(
                                                                                                    "estado")) == false)
                                                                                                            ? fatsGrid
                                                                                                                    .get("valorApagar")
                                                                                                            : Info.formataSaldo(
                                                                                                                    0));
                                                                            fat.setAttribute("valorTotal",
                                                                                    fatsGrid.get("valorTotal"));
                                                                            fat.setAttribute("jurosEmulta",
                                                                                    (Boolean.parseBoolean(
                                                                                            fatsGrid.get(
                                                                                                    "estado")) == false)
                                                                                                            ? fatsGrid
                                                                                                                    .get("jurosEmulta")
                                                                                                            : Info.formataSaldo(
                                                                                                                    0));
                                                                            fat.setAttribute("count",
                                                                                    Integer.parseInt(fatsGrid
                                                                                            .get("count")));
                                                                            listFaturas.addData(fat);
                                                                            objFaturaLancamento.setTotalFaturas(
                                                                                    objFaturaLancamento
                                                                                            .getTotalFaturas()
                                                                                            + ((Double
                                                                                                    .parseDouble(
                                                                                                            fat.getAttributeAsString(
                                                                                                                    "valorPago")
                                                                                                                    .replaceAll(
                                                                                                                            "\\.",
                                                                                                                            "")
                                                                                                                    .replaceAll(
                                                                                                                            ",",
                                                                                                                            ".")) > 0
                                                                                                    && Boolean
                                                                                                            .parseBoolean(
                                                                                                                    fatsGrid.get(
                                                                                                                            "estado")) == true)
                                                                                                                                    ? Double.parseDouble(
                                                                                                                                            fat.getAttributeAsString(
                                                                                                                                                    "valorPago")
                                                                                                                                                    .replaceAll(
                                                                                                                                                            "\\.",
                                                                                                                                                            "")
                                                                                                                                                    .replaceAll(
                                                                                                                                                            ",",
                                                                                                                                                            "."))
                                                                                                                                    : (Double
                                                                                                                                            .parseDouble(
                                                                                                                                                    fat.getAttributeAsString(
                                                                                                                                                            "valorPago")
                                                                                                                                                            .replaceAll(
                                                                                                                                                                    "\\.",
                                                                                                                                                                    "")
                                                                                                                                                            .replaceAll(
                                                                                                                                                                    ",",
                                                                                                                                                                    "."))
                                                                                                                                            + Double.parseDouble(
                                                                                                                                                    fat.getAttributeAsString(
                                                                                                                                                            "valorApagar")
                                                                                                                                                            .replaceAll(
                                                                                                                                                                    "\\.",
                                                                                                                                                                    "")
                                                                                                                                                            .replaceAll(
                                                                                                                                                                    ",",
                                                                                                                                                                    ".")))));
                                                                        }
                                                                        Info.dbService.buscarTotalLancamentos(
                                                                                codCliente,
                                                                                new AsyncCallback<Double>() {

                                                                                    @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(
                                                                                            Double totLanc) {
                                                                                        labelLanc.redraw();
                                                                                        labelLanc.setContents(
                                                                                                "<strong style=\"font-size:20px; \">Total de Lanamentos: R$"
                                                                                                        + Info.formataSaldo(
                                                                                                                Info.formataDecimal(
                                                                                                                        totLanc))
                                                                                                        + "</strong>");
                                                                                        objFaturaLancamento
                                                                                                .setTotalLancamentos(
                                                                                                        totLanc);
                                                                                        labelfaturas.redraw();
                                                                                        labelfaturas
                                                                                                .setContents(
                                                                                                        "<strong style=\"font-size:20px; \">Total de Faturas: R$"
                                                                                                                + Info.formataSaldo(
                                                                                                                        Info.formataDecimal(
                                                                                                                                objFaturaLancamento
                                                                                                                                        .getTotalFaturas()))
                                                                                                                + "</strong>");
                                                                                        objFaturaLancamento
                                                                                                .setSaldo(
                                                                                                        objFaturaLancamento
                                                                                                                .getTotalLancamentos()
                                                                                                                - objFaturaLancamento
                                                                                                                        .getTotalFaturas());
                                                                                        if (objFaturaLancamento
                                                                                                .getSaldo() == 0) {
                                                                                            labelSaldo.redraw();
                                                                                            labelSaldo
                                                                                                    .setContents(
                                                                                                            "<strong style=\"font-size:25px; \">Saldo Atual: R$00,00\n</strong>");
                                                                                        } else if (objFaturaLancamento
                                                                                                .getSaldo() > 0) {
                                                                                            labelSaldo.redraw();
                                                                                            labelSaldo
                                                                                                    .setContents(
                                                                                                            "<strong class=\"saldo-positivo\">Crdito Atual: R$"
                                                                                                                    + Info.formataSaldo(
                                                                                                                            Info.formataDecimal(
                                                                                                                                    objFaturaLancamento
                                                                                                                                            .getSaldo()))
                                                                                                                    + "\n</strong>");
                                                                                        } else {
                                                                                            labelSaldo.redraw();
                                                                                            labelSaldo
                                                                                                    .setContents(
                                                                                                            "<strong class=\"saldo-negativo\">Dbito Atual: R$"
                                                                                                                    + Info.formataSaldo(
                                                                                                                            Info.formataDecimal(
                                                                                                                                    objFaturaLancamento
                                                                                                                                            .getSaldo()))
                                                                                                                    + "\n</strong>");
                                                                                        }
                                                                                    }
                                                                                });
                                                                    }
                                                                }
                                                            });
                                                    //////////////////*******************************************************///////////////////////////////////////////////////
                                                } else {
                                                    SC.warn("ERRO ao atualizar fatura");
                                                }
                                            }
                                        });
                                janelaCarregando.addItem(mensagem);
                                janelaCarregando.setAnimateTime(1200);
                                janelaCarregando.animateHide(AnimationEffect.FADE);
                                contador = 100;
                                janelaCarregando.destroy();
                                novaFaturaAux.destroy();
                            }
                        } else {
                            contador = 0;
                        }

                    }
                }.schedule(50);

            }
        }
    });
    addItem(label);
    addItem(formNovaFatura);
    addItem(hButoes);

}

From source file:com.automaster.client.ui.paineis.tabs.financeiro.dialogs.EditarJurosFatura.java

public EditarJurosFatura(final ListGrid listFaturas, final ListGridRecord fatRecord,
        final ArrayList<TreeMap<String, String>> arrayFaturasBD, final Label labelfaturasApagar,
        final double totalFaturasApagar, final NovoLancamento objLancamento) {
    //novototalFaturas = totalFaturasApagar;       
    //GWT.log("codCliente"+fatRecord.getAttributeAsString("dataFatura"));
    setTitle("Editar Fatura");
    setWidth(400);/* w  w  w  .  j  av  a2 s  .  c  om*/
    setHeight(275);
    setShowMinimizeButton(false);
    setIsModal(true);
    setShowModalMask(true);
    centerInPage();
    setLayoutAlign(Alignment.CENTER);

    final DynamicForm formEditarFatura = new DynamicForm();
    formEditarFatura.setAutoFocus(true);
    formEditarFatura.setWidth(350);

    Label label = new Label("<strong><h3>Editar juros e multa da fatura</h3></strong>");
    label.setAlign(Alignment.CENTER);
    //label.setHeight(20);

    //        final DateItem itemData = new DateItem("data", "Data");
    //        itemData.setRequired(true);
    //        itemData.setUseMask(true);
    //        itemData.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);
    //        itemData.setValue(fatRecord.getAttributeAsString("dataFatura"));
    //        itemData.setHint("<nbr>*</nbr>");
    //        itemData.setWidth(350);
    //        itemData.setDisabled(true);
    //
    //        final TextItem itemValor = new TextItem();
    //        itemValor.setTitle("Valor");
    //        itemValor.setName("valor");
    //        itemValor.setRequired(true);
    //        itemValor.setHint("<nbr>*</nbr>");
    //        itemValor.setValue(fatRecord.getAttributeAsString("valor"));
    //        itemValor.setCharacterCasing(CharacterCasing.UPPER);
    //        itemValor.setWidth(350);
    //        itemValor.setHint("<nbr>*</nbr>");
    //        itemValor.setDisabled(true);
    //        
    //        final TextItem itemMes = new TextItem();
    //        itemMes.setTitle("Ms de ref.");
    //        itemMes.setName("mes");
    //        itemMes.setMask(">LLL/####");
    //        itemMes.setRequired(true);
    //        itemMes.setHint("<nbr>*</nbr>");
    //        itemMes.setMaskSaveLiterals(true);
    //        itemMes.setCharacterCasing(CharacterCasing.UPPER);
    //        itemMes.setWidth(350);
    //        itemMes.setHint("<nbr>*</nbr>");
    //        itemMes.setValue(fatRecord.getAttributeAsString("mesReferencia"));
    //        itemMes.setDisabled(true);
    //        
    //        final TextItem itemValorTotal = new TextItem();
    //        itemValorTotal.setTitle("Valor total");
    //        itemValorTotal.setName("valorTotal");
    //        itemValorTotal.setMaskPromptChar("0");
    //        itemValorTotal.setRequired(true);
    //        itemValorTotal.setHint("<nbr>*</nbr>");
    //        itemValorTotal.setMaskSaveLiterals(true);
    //        itemValorTotal.setCharacterCasing(CharacterCasing.UPPER);
    //        itemValorTotal.setWidth(350);
    //        itemValorTotal.setHint("<nbr>*</nbr>");
    //        itemValorTotal.setValue(fatRecord.getAttributeAsString("valorTotal"));
    //        itemValorTotal.setDisabled(true);
    //        
    //        final TextItem itemValorpago = new TextItem();
    //        itemValorpago.setTitle("Valor Pago");
    //        itemValorpago.setName("valorPago");
    //        itemValorpago.setMaskPromptChar("0");
    //        itemValorpago.setRequired(true);
    //        itemValorpago.setHint("<nbr>*</nbr>");
    //        itemValorpago.setMaskSaveLiterals(true);
    //        itemValorpago.setCharacterCasing(CharacterCasing.UPPER);
    //        itemValorpago.setWidth(350);
    //        itemValorpago.setHint("<nbr>*</nbr>");
    //        itemValorpago.setValue(fatRecord.getAttributeAsString("valorPago"));
    //        itemValorpago.setDisabled(true);
    final TextItem itemJurosEmultaDesabilitado = new TextItem();
    itemJurosEmultaDesabilitado.setTitle("taxa atual");
    itemJurosEmultaDesabilitado.setName("jurosEmultaDesabilitado");
    itemJurosEmultaDesabilitado.setRequired(true);
    itemJurosEmultaDesabilitado.setHint("<nbr>*</nbr>");
    itemJurosEmultaDesabilitado.setMaskSaveLiterals(true);
    itemJurosEmultaDesabilitado.setCharacterCasing(CharacterCasing.UPPER);
    itemJurosEmultaDesabilitado.setWidth(200);
    itemJurosEmultaDesabilitado.setHint("<nbr>*</nbr>");
    itemJurosEmultaDesabilitado.setDisabled(true);
    itemJurosEmultaDesabilitado.setValue(fatRecord.getAttribute("jurosEmulta"));

    final TextItem itemJurosEmulta = new TextItem();
    itemJurosEmulta.setTitle("nova taxa");
    itemJurosEmulta.setName("jurosEmulta");
    itemJurosEmulta.setRequired(true);
    itemJurosEmulta.setHint("<nbr>*</nbr>");
    itemJurosEmulta.setMaskSaveLiterals(true);
    itemJurosEmulta.setCharacterCasing(CharacterCasing.UPPER);
    itemJurosEmulta.setWidth(200);
    itemJurosEmulta.setHint("<nbr>*</nbr>");
    itemJurosEmulta.setValue(fatRecord.getAttribute("jurosEmulta"));
    itemJurosEmulta.addKeyPressHandler(new KeyPressHandler() {
        @Override
        public void onKeyPress(KeyPressEvent event) {
            String tecla;
            tecla = event.getKeyName();
            //GWT.log("Tecla "+ tecla + " KeyCod = " + event.getCharacterValue());
            //GWT.log("Objeto JavaScript "+ Info.FormataMoeda(itemValor.getValueAsString(), ".", ",", tecla));
            String aux = "";
            if (event.getCharacterValue() != null && event.getCharacterValue() >= 48
                    && event.getCharacterValue() <= 57) {
                aux = Info.FormataMoeda(
                        (itemJurosEmulta.getDisplayValue() != null) ? itemJurosEmulta.getDisplayValue() : "0",
                        ".", ",", tecla);
                flagItemValor = true;
            }
            //GWT.log("Aux="+aux);
            campo = aux;
        }
    });
    itemJurosEmulta.addChangedHandler(new ChangedHandler() {
        @Override
        public void onChanged(ChangedEvent event) {
            //com.google.gwt.core.shared.GWT.log("Entrou no changed: "+campo);
            if (flagItemValor) {
                itemJurosEmulta.setValue(campo);
            }
            flagItemValor = false;
        }
    });

    final TextItem itemValorApagar = new TextItem();
    itemValorApagar.setTitle("Valor a pagar");
    itemValorApagar.setName("valorApagar");
    itemValorApagar.setMaskPromptChar("0");
    itemValorApagar.setRequired(true);
    itemValorApagar.setHint("<nbr>*</nbr>");
    itemValorApagar.setMaskSaveLiterals(true);
    itemValorApagar.setCharacterCasing(CharacterCasing.UPPER);
    itemValorApagar.setWidth(350);
    itemValorApagar.setHint("<nbr>*</nbr>");
    itemValorApagar.setValue(fatRecord.getAttributeAsString("valorApagar"));
    //GWT.log("record.getAttributeAsString(\"valorApagar\"): "+fatRecord.getAttributeAsString("valorApagar"));

    formEditarFatura.setItems(itemJurosEmultaDesabilitado, itemJurosEmulta);

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

    addCloseClickHandler(new CloseClickHandler() {

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

    salvar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            if (formEditarFatura.validate()) {
                if (Double.parseDouble(itemJurosEmulta.getDisplayValue().replaceAll("\\.", "").replaceAll(",",
                        "\\.")) <= Double
                                .parseDouble((fatRecord.getAttributeAsString("jurosEmulta")
                                        .replaceAll("\\.", "").replaceAll(",", "\\.")))) {
                    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%");
                                    //GWT.log(itemJurosEmulta.getDisplayValue());
                                    //GWT.log(": "+novoJurosEmultaApagar);
                                    double valor = Double.parseDouble(fatRecord.getAttributeAsString("valor")
                                            .replaceAll("\\.", "").replaceAll(",", "\\."));
                                    double antigoValorApagar = Double
                                            .parseDouble(fatRecord.getAttributeAsString("valorApagar")
                                                    .replaceAll("\\.", "").replaceAll(",", "\\."));
                                    //GWT.log("valorApagar record antigo: "+fatRecord.getAttributeAsString("valorApagar"));
                                    //novoJurosEmultaApagar = itemJurosEmulta.getDisplayValue().replaceAll("\\.", "").replaceAll("\\.", "");                                        
                                    double valorPago = Double
                                            .parseDouble(fatRecord.getAttributeAsString("valorPago")
                                                    .replaceAll("\\.", "").replaceAll(",", "\\."));
                                    double jurosEmultaAtual = Double.parseDouble(itemJurosEmulta
                                            .getDisplayValue().replaceAll("\\.", "").replaceAll(",", "\\."));
                                    //GWT.log("jurosEmultaAtual: " + jurosEmultaAtual);
                                    double novoValorApagar = valor - valorPago + jurosEmultaAtual;
                                    novototalFaturas = novoValorApagar
                                            + (totalFaturasApagar - antigoValorApagar);
                                    //GWT.log("totalFaturasApagar: " + totalFaturasApagar);
                                    //GWT.log("antigoValorApagar: " + antigoValorApagar);
                                    //GWT.log("jurosEmulta: " + novoJurosEmultaApagar);
                                    //GWT.log("novototalFaturas: " + novototalFaturas);
                                    fatRecord.setAttribute("jurosEmulta",
                                            Info.formataSaldo(Info.formataDecimal(jurosEmultaAtual)));
                                    fatRecord.setAttribute("valorTotal",
                                            Info.formataSaldo(Info.formataDecimal(novoValorApagar)));
                                    fatRecord.setAttribute("valorApagar",
                                            Info.formataSaldo(Info.formataDecimal(novoValorApagar)));
                                    listFaturas.refreshRow(listFaturas.getRecordIndex(fatRecord));
                                    labelfaturasApagar.redraw();
                                    labelfaturasApagar.setContents(
                                            "<strong style=\"font-size:22px; color:red;\">total de dbito: - R$"
                                                    + Info.formataSaldo(Info.formataDecimal(novototalFaturas))
                                                    + "  </strong>");
                                    arrayFaturasBD.get(listFaturas.getRecordIndex(fatRecord)).put("jurosEmulta",
                                            String.valueOf(
                                                    Info.formataSaldo(Info.formataDecimal(jurosEmultaAtual))));
                                    //GWT.log("jurosEmulta arrayBD"+ arrayFaturasBD.get(listFaturas.getRecordIndex(fatRecord)).get("jurosEmulta"));
                                    arrayFaturasBD.get(listFaturas.getRecordIndex(fatRecord)).put("valorTotal",
                                            String.valueOf(
                                                    Info.formataSaldo(Info.formataDecimal(novoValorApagar))));
                                    arrayFaturasBD.get(listFaturas.getRecordIndex(fatRecord)).put("valorApagar",
                                            String.valueOf(
                                                    Info.formataSaldo(Info.formataDecimal(novoValorApagar))));
                                    //GWT.log("valorApagar arrayBD"+ arrayFaturasBD.get(listFaturas.getRecordIndex(fatRecord)).get("valorApagar"));
                                    janelaCarregando.addItem(mensagem);
                                    janelaCarregando.setAnimateTime(1200);
                                    janelaCarregando.animateHide(AnimationEffect.FADE);
                                    objLancamento.setTotalFaturasApagar(novototalFaturas);
                                    contador = 100;
                                    destroy();
                                }
                            } else {
                                contador = 0;
                            }

                        }
                    }.schedule(50);

                } else {
                    SC.warn("O desconto  maior que o valor da multa e os juros!");
                    formEditarFatura.focusInItem(itemJurosEmulta);
                    itemJurosEmulta.clearValue();
                }
            }
        }
    });
    addItem(label);
    addItem(formEditarFatura);
    addItem(hButoes);

}

From source file:com.automaster.client.ui.paineis.tabs.financeiro.dialogs.NovaFatura.java

public NovaFatura(final int codCliente, final ListGrid listLancamentos, final ListGrid listFaturas,
        final Label labelLanc, final Label labelfaturas, final Label labelSaldo,
        final TabConsultaFaturaLancamento objFaturaLancamento) {

    final NovaFatura novaFaturaAux = this;

    setTitle("Nova fatura");
    setWidth(500);/*from   w  w w.ja  v a 2  s .c o m*/
    setHeight(300);
    setShowMinimizeButton(false);
    setIsModal(true);
    setShowModalMask(true);
    centerInPage();
    setLayoutAlign(Alignment.CENTER);
    setMembersMargin(5);

    Label label = new Label("<strong><h3>Cadastrar nova Fatura</h3></strong>");
    label.setAlign(Alignment.CENTER);

    final DynamicForm formNovaFatura = new DynamicForm();
    formNovaFatura.setAutoFocus(true);
    formNovaFatura.setWidth(490);
    formNovaFatura.setMargin(15);
    formNovaFatura.setLayoutAlign(Alignment.CENTER);

    final TextItem itemMesRef = new TextItem();
    itemMesRef.setTitle("Ms de ref.");
    itemMesRef.setName("mesRef");
    itemMesRef.setMask(">LLL/####");
    itemMesRef.setRequired(true);
    itemMesRef.setHint("<nbr>*</nbr>");
    itemMesRef.setMaskSaveLiterals(true);
    itemMesRef.setCharacterCasing(CharacterCasing.UPPER);
    itemMesRef.setWidth(300);
    itemMesRef.setHint("<nbr>*</nbr>");

    final DateItem dataVencimeto = new DateItem();
    dataVencimeto.setTitle("Data de Venc.");
    dataVencimeto.setName("dataVencimento");
    dataVencimeto.setUseTextField(true);
    dataVencimeto.setHint("<nbr>*</nbr>");
    dataVencimeto.setUseMask(true);
    dataVencimeto.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);
    dataVencimeto.setRequired(true);
    dataVencimeto.setWidth(300);
    dataVencimeto.setValue(new Date(System.currentTimeMillis()));

    final TextItem itemValor = new TextItem();
    itemValor.setTitle("Valor");
    itemValor.setName("valor");
    itemValor.setRequired(true);
    itemValor.setHint("<nbr>*</nbr>");
    itemValor.setMaskSaveLiterals(true);
    itemValor.setCharacterCasing(CharacterCasing.UPPER);
    itemValor.setWidth(300);
    itemValor.setHint("<nbr>*</nbr>");
    itemValor.addKeyPressHandler(new KeyPressHandler() {
        @Override
        public void onKeyPress(KeyPressEvent event) {
            String tecla;
            tecla = event.getKeyName();
            //GWT.log("Tecla " + tecla + " KeyCod = " + event.getCharacterValue());
            //GWT.log("Objeto JavaScript "+ Info.FormataMoeda(itemValor.getValueAsString(), ".", ",", tecla));
            String aux = "";
            if (event.getCharacterValue() != null && event.getCharacterValue() >= 48
                    && event.getCharacterValue() <= 57) {
                aux = Info.FormataMoeda(
                        (itemValor.getValueAsString() != null) ? itemValor.getValueAsString() : "0", ".", ",",
                        tecla);
                flagItemValor = true;
            }
            //GWT.log("Aux=" + aux);
            //itemValor.setValue(aux);
            campo = aux;
            //Info.FormataMoeda(itemValor.getJsObj(), ".", ",", tecla);
        }
    });
    itemValor.addChangedHandler(new ChangedHandler() {

        @Override
        public void onChanged(ChangedEvent event) {
            //GWT.log("Entrou no changed: " + event.getValue());
            if (flagItemValor) {
                itemValor.setValue(campo);
            }
            flagItemValor = false;
        }
    });

    formNovaFatura.setItems(itemMesRef, dataVencimeto, itemValor);

    //        formNovaFatura.addDrawHandler(new DrawHandler() {
    //            
    //            @Override
    //            public void onDraw(DrawEvent event) {
    //                formNovaFatura.focusInItem(itemValor);
    //            }
    //        });

    HLayout hButoes = new HLayout();
    hButoes.setWidth(100);
    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);

    cadastrar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            if (formNovaFatura.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%");
                                listFaturas.setData(new RecordList());
                                TreeMap<String, String> novaFatura = new TreeMap<String, String>();
                                novaFatura.put("codCliente", String.valueOf(codCliente));
                                novaFatura.put("mes", itemMesRef.getValueAsString());
                                novaFatura.put("valor", itemValor.getValueAsString().replaceAll("\\.", "")
                                        .replaceAll(",", "\\."));
                                Date dataVencimento = dataVencimeto.getValueAsDate();
                                Info.dbService.cadastrarFatura(novaFatura, dataVencimento,
                                        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 result) {
                                                if (result == true) {
                                                    SC.say("Nova fatura cadastrada com sucesso");
                                                    //////////////////*******************************************************///////////////////////////////////////////////////
                                                    Info.dbService.buscarTodasTaxas(
                                                            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                                                                @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(
                                                                        ArrayList<TreeMap<String, String>> taxas) {
                                                                    if (taxas != null) {
                                                                        for (TreeMap<String, String> txs : taxas) {
                                                                            if (Integer.parseInt(
                                                                                    txs.get("codTaxa")) == 1) {
                                                                                multa = Double.parseDouble(
                                                                                        txs.get("valor"));
                                                                            } else if (Integer.parseInt(
                                                                                    txs.get("codTaxa")) == 2) {
                                                                                juros = Double.parseDouble(
                                                                                        txs.get("valor"));
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            });
                                                    Info.dbService.buscarFaturaPorCliente(codCliente,
                                                            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                                                                @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(
                                                                        ArrayList<TreeMap<String, String>> faturasCliente) {
                                                                    Date dataAtual = new Date(
                                                                            System.currentTimeMillis());
                                                                    long diaAtual = dataAtual.getTime();
                                                                    long diferencaDeDatas = 0;
                                                                    long diaVencimento = 0;
                                                                    TreeMap<String, String> faturaAuxiliar = new TreeMap<String, String>();
                                                                    if (faturasCliente != null) {
                                                                        for (TreeMap<String, String> fats : faturasCliente) {
                                                                            if (faturasCliente.get(0)
                                                                                    .get("codFatura") != null
                                                                                    && faturaAuxiliar.get(fats
                                                                                            .get("codFatura")) == null) {
                                                                                Date dataDeVencimento = new Date(
                                                                                        Long.parseLong(fats.get(
                                                                                                "dataVencimento")));
                                                                                diaVencimento = dataDeVencimento
                                                                                        .getTime();
                                                                                diferencaDeDatas = diaAtual
                                                                                        - diaVencimento;
                                                                                TreeMap<String, String> faturaBD = new TreeMap<String, String>();
                                                                                faturaBD.put("codFatura",
                                                                                        fats.get("codFatura"));
                                                                                faturaBD.put("codCliente",
                                                                                        fats.get("codCliente"));
                                                                                faturaBD.put("dataVencimento",
                                                                                        fats.get(
                                                                                                "dataVencimento"));
                                                                                faturaBD.put("valor",
                                                                                        String.valueOf(Info
                                                                                                .formataSaldo(
                                                                                                        Double.parseDouble(
                                                                                                                fats.get(
                                                                                                                        "valor")))));
                                                                                faturaBD.put("estado",
                                                                                        fats.get("estado"));
                                                                                faturaBD.put("valorPago", (fats
                                                                                        .get("totalLancamentos") == null)
                                                                                                ? String.valueOf(
                                                                                                        Info.formataSaldo(
                                                                                                                0))
                                                                                                : String.valueOf(
                                                                                                        Info.formataSaldo(
                                                                                                                Double.parseDouble(
                                                                                                                        fats.get(
                                                                                                                                "totalLancamentos")))));
                                                                                faturaBD.put("mesReferencia",
                                                                                        fats.get("mes"));
                                                                                faturaBD.put("count", "0");
                                                                                //GWT.log("" + fats.get("valorApagar"));
                                                                                double totalPago = (fats.get(
                                                                                        "totalLancamentos") == null)
                                                                                                ? 0
                                                                                                : (Double
                                                                                                        .parseDouble(
                                                                                                                fats.get(
                                                                                                                        "totalLancamentos")));
                                                                                //GWT.log("Valor a pagar"+(Double.parseDouble(fats.get("valor")) - (totalPago)));
                                                                                if (diferencaDeDatas <= 0) {
                                                                                    double valor = Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"));
                                                                                    double valorAtualFatura = (totalPago == 0)
                                                                                            ? Info.formataDecimal(
                                                                                                    valor)
                                                                                            : Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))
                                                                                                            - (totalPago));
                                                                                    faturaBD.put("jurosEmulta",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Double.parseDouble(
                                                                                                                    "0"))));
                                                                                    faturaBD.put("valorApagar",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Info.formataDecimal(
                                                                                                                    (valorAtualFatura)))));
                                                                                    faturaBD.put("valorTotal",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Info.formataDecimal(
                                                                                                                    Double.parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))))));
                                                                                    diferencaDeDatas = 0;
                                                                                } else if (diferencaDeDatas > 0
                                                                                        && diferencaDeDatas < 86400000) {
                                                                                    double valor = Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"));
                                                                                    double valorAtualFatura = (totalPago == 0)
                                                                                            ? Info.formataDecimal(
                                                                                                    valor)
                                                                                                    + (valor * multa)
                                                                                            : Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))
                                                                                                            - (totalPago)
                                                                                                            + (valor * multa));
                                                                                    faturaBD.put("jurosEmulta",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            (Info.formataDecimal(
                                                                                                                    valor * multa)))));
                                                                                    faturaBD.put("valorApagar",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            valorAtualFatura)));
                                                                                    faturaBD.put("valorTotal",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Info.formataDecimal(
                                                                                                                    Double.parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                            + ((Double
                                                                                                                                    .parseDouble(
                                                                                                                                            fats.get(
                                                                                                                                                    "valor"))
                                                                                                                                    * multa))))));
                                                                                    diferencaDeDatas = 0;
                                                                                } else if (diferencaDeDatas > 86400000) {
                                                                                    double valor = Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"));
                                                                                    double valorAtualFatura = (totalPago == 0)
                                                                                            ? Info.formataDecimal(
                                                                                                    valor)
                                                                                                    + (valor * multa)
                                                                                                    + ((diferencaDeDatas
                                                                                                            / 86400000)
                                                                                                            * (juros * valor))
                                                                                            : Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))
                                                                                                            - (totalPago)
                                                                                                            + (valor * multa)
                                                                                                            + ((diferencaDeDatas
                                                                                                                    / 86400000)
                                                                                                                    * (juros * valor)));
                                                                                    faturaBD.put("jurosEmulta",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Info.formataDecimal(
                                                                                                                    (valor * multa)
                                                                                                                            + ((diferencaDeDatas
                                                                                                                                    / 86400000)
                                                                                                                                    * (juros * valor))))));
                                                                                    faturaBD.put("valorApagar",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            valorAtualFatura)));
                                                                                    faturaBD.put("valorTotal",
                                                                                            String.valueOf(Info
                                                                                                    .formataSaldo(
                                                                                                            Info.formataDecimal(
                                                                                                                    Double.parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                            + ((Double
                                                                                                                                    .parseDouble(
                                                                                                                                            fats.get(
                                                                                                                                                    "valor"))
                                                                                                                                    * multa))
                                                                                                                            + ((diferencaDeDatas
                                                                                                                                    / 86400000)
                                                                                                                                    * (juros * Double
                                                                                                                                            .parseDouble(
                                                                                                                                                    fats.get(
                                                                                                                                                            "valor"))))))));
                                                                                    diferencaDeDatas = 0;
                                                                                }
                                                                                arrayFaturasBD.add(faturaBD);
                                                                                faturaAuxiliar.put(
                                                                                        fats.get("codFatura"),
                                                                                        fats.get("codFatura"));
                                                                            }
                                                                        }
                                                                        objFaturaLancamento
                                                                                .setTotalLancamentos(0);
                                                                        objFaturaLancamento.setTotalFaturas(0);
                                                                        objFaturaLancamento.setSaldo(0);
                                                                        //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++////////////
                                                                        for (TreeMap<String, String> fatsGrid : arrayFaturasBD) {
                                                                            Record fat = new Record();
                                                                            fat.setAttribute("codigo",
                                                                                    fatsGrid.get("codFatura"));
                                                                            fat.setAttribute("codCliente",
                                                                                    fatsGrid.get("codCliente"));
                                                                            fat.setAttribute("dataFatura",
                                                                                    DateTimeFormat
                                                                                            .getShortDateFormat()
                                                                                            .format(new Date(
                                                                                                    Long.parseLong(
                                                                                                            fatsGrid.get(
                                                                                                                    "dataVencimento")))));
                                                                            fat.setAttribute("valor",
                                                                                    fatsGrid.get("valor"));
                                                                            fat.setAttribute("estado", (Boolean
                                                                                    .parseBoolean(fatsGrid.get(
                                                                                            "estado")) == false)
                                                                                                    ? "<nbr class=\negativo\"> Em aberto</nbr>"
                                                                                                    : "<nbr class=\"positivo\">Quitada</nbr>");
                                                                            fat.setAttribute("valorPago",
                                                                                    fatsGrid.get("valorPago"));
                                                                            fat.setAttribute("mesReferencia",
                                                                                    fatsGrid.get(
                                                                                            "mesReferencia"));
                                                                            fat.setAttribute("valorApagar",
                                                                                    (Boolean.parseBoolean(
                                                                                            fatsGrid.get(
                                                                                                    "estado")) == false)
                                                                                                            ? fatsGrid
                                                                                                                    .get("valorApagar")
                                                                                                            : Info.formataSaldo(
                                                                                                                    0));
                                                                            fat.setAttribute("valorTotal",
                                                                                    fatsGrid.get("valorTotal"));
                                                                            fat.setAttribute("jurosEmulta",
                                                                                    (Boolean.parseBoolean(
                                                                                            fatsGrid.get(
                                                                                                    "estado")) == false)
                                                                                                            ? fatsGrid
                                                                                                                    .get("jurosEmulta")
                                                                                                            : Info.formataSaldo(
                                                                                                                    0));
                                                                            fat.setAttribute("count",
                                                                                    Integer.parseInt(fatsGrid
                                                                                            .get("count")));
                                                                            listFaturas.addData(fat);
                                                                            objFaturaLancamento.setTotalFaturas(
                                                                                    objFaturaLancamento
                                                                                            .getTotalFaturas()
                                                                                            + ((Double
                                                                                                    .parseDouble(
                                                                                                            fat.getAttributeAsString(
                                                                                                                    "valorPago")
                                                                                                                    .replaceAll(
                                                                                                                            "\\.",
                                                                                                                            "")
                                                                                                                    .replaceAll(
                                                                                                                            ",",
                                                                                                                            ".")) > 0
                                                                                                    && Boolean
                                                                                                            .parseBoolean(
                                                                                                                    fatsGrid.get(
                                                                                                                            "estado")) == true)
                                                                                                                                    ? Double.parseDouble(
                                                                                                                                            fat.getAttributeAsString(
                                                                                                                                                    "valorPago")
                                                                                                                                                    .replaceAll(
                                                                                                                                                            "\\.",
                                                                                                                                                            "")
                                                                                                                                                    .replaceAll(
                                                                                                                                                            ",",
                                                                                                                                                            "."))
                                                                                                                                    : (Double
                                                                                                                                            .parseDouble(
                                                                                                                                                    fat.getAttributeAsString(
                                                                                                                                                            "valorPago")
                                                                                                                                                            .replaceAll(
                                                                                                                                                                    "\\.",
                                                                                                                                                                    "")
                                                                                                                                                            .replaceAll(
                                                                                                                                                                    ",",
                                                                                                                                                                    "."))
                                                                                                                                            + Double.parseDouble(
                                                                                                                                                    fat.getAttributeAsString(
                                                                                                                                                            "valorApagar")
                                                                                                                                                            .replaceAll(
                                                                                                                                                                    "\\.",
                                                                                                                                                                    "")
                                                                                                                                                            .replaceAll(
                                                                                                                                                                    ",",
                                                                                                                                                                    ".")))));
                                                                        }
                                                                        Info.dbService.buscarTotalLancamentos(
                                                                                codCliente,
                                                                                new AsyncCallback<Double>() {

                                                                                    @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(
                                                                                            Double totLanc) {
                                                                                        labelLanc.redraw();
                                                                                        labelLanc.setContents(
                                                                                                "<strong style=\"font-size:20px; \">Total de Lanamentos: R$"
                                                                                                        + Info.formataSaldo(
                                                                                                                totLanc)
                                                                                                        + "</strong>");
                                                                                        objFaturaLancamento
                                                                                                .setTotalLancamentos(
                                                                                                        totLanc);
                                                                                        labelfaturas.redraw();
                                                                                        labelfaturas
                                                                                                .setContents(
                                                                                                        "<strong style=\"font-size:20px; \">Total de Faturas: R$"
                                                                                                                + Info.formataSaldo(
                                                                                                                        objFaturaLancamento
                                                                                                                                .getTotalFaturas())
                                                                                                                + "</strong>");
                                                                                        objFaturaLancamento
                                                                                                .setSaldo(
                                                                                                        objFaturaLancamento
                                                                                                                .getTotalLancamentos()
                                                                                                                - objFaturaLancamento
                                                                                                                        .getTotalFaturas());
                                                                                        if (objFaturaLancamento
                                                                                                .getSaldo() == 0) {
                                                                                            labelSaldo.redraw();
                                                                                            labelSaldo
                                                                                                    .setContents(
                                                                                                            "<strong style=\"font-size:25px; \">Saldo Atual: R$00,00\n</strong>");
                                                                                        } else if (objFaturaLancamento
                                                                                                .getSaldo() > 0) {
                                                                                            labelSaldo.redraw();
                                                                                            labelSaldo
                                                                                                    .setContents(
                                                                                                            "<strong class=\"saldo-positivo\">Crdito Atual: R$"
                                                                                                                    + Info.formataSaldo(
                                                                                                                            Info.formataDecimal(
                                                                                                                                    objFaturaLancamento
                                                                                                                                            .getSaldo()))
                                                                                                                    + "\n</strong>");
                                                                                        } else {
                                                                                            labelSaldo.redraw();
                                                                                            labelSaldo
                                                                                                    .setContents(
                                                                                                            "<strong class=\"saldo-negativo\">Dbito Atual: R$"
                                                                                                                    + Info.formataSaldo(
                                                                                                                            Info.formataDecimal(
                                                                                                                                    objFaturaLancamento
                                                                                                                                            .getSaldo()))
                                                                                                                    + "\n</strong>");
                                                                                        }
                                                                                    }
                                                                                });
                                                                    }
                                                                }
                                                            });
                                                    //////////////////*******************************************************///////////////////////////////////////////////////
                                                } else {
                                                    SC.warn("ERRO ao cadastradas nova fatura");
                                                }
                                            }
                                        });
                                janelaCarregando.addItem(mensagem);
                                janelaCarregando.setAnimateTime(1200);
                                janelaCarregando.animateHide(AnimationEffect.FADE);
                                contador = 100;
                                janelaCarregando.destroy();
                                novaFaturaAux.destroy();
                            }
                        } else {
                            contador = 0;
                        }

                    }
                }.schedule(50);

            }
        }
    });
    limpar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            itemMesRef.clearValue();
            itemValor.clearValue();
            dataVencimeto.setValue(new Date(System.currentTimeMillis()));
            formNovaFatura.focusInItem(itemMesRef);
        }
    });
    addItem(label);
    addItem(formNovaFatura);
    addItem(hButoes);

}

From source file:com.automaster.client.ui.paineis.tabs.financeiro.dialogs.NovoLancamento.java

public NovoLancamento(final int codCliente, final ListGrid listLancamentos, final ListGrid listFaturas,
        final Label labelLanc, final Label labelfaturas, final Label labelSaldo,
        final TabConsultaFaturaLancamento objFaturaLancamento) {

    final NovoLancamento objLancamento = this;

    setTitle("Novo lanamento");
    setWidth(800);//from w  w w  .  j  a v a2  s. co  m
    setHeight(550);
    setShowMinimizeButton(false);
    setIsModal(true);
    setShowModalMask(true);
    centerInPage();
    setLayoutAlign(Alignment.CENTER);
    setMembersMargin(5);

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

    Label label = new Label("<strong><h3>Cadastrar novo Lanamento</h3></strong>");
    label.setAlign(Alignment.CENTER);
    label.setHeight(30);
    Label labelListaFat = new Label("<strong><h3>Faturas a pagar</h3></strong>");
    labelListaFat.setAlign(Alignment.CENTER);
    labelListaFat.setHeight(20);
    final Label saldoFaturasApagar = new Label();
    saldoFaturasApagar.setAlign(Alignment.RIGHT);
    saldoFaturasApagar.setHeight(20);
    saldoFaturasApagar.setWidth(750);
    Label labelListaFatSelecionadas = new Label(
            "<strong><h3>Faturas a ser alteradas pelo lanamento</h3></strong>");
    labelListaFatSelecionadas.setAlign(Alignment.CENTER);
    labelListaFatSelecionadas.setHeight(20);

    final DateTimeItem itemDataEhora = new DateTimeItem("dataEhora", "Data e Hora");
    itemDataEhora.setRequired(true);
    itemDataEhora.setWidth(300);
    itemDataEhora.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATETIME);
    itemDataEhora.setDefaultValue(new Date(System.currentTimeMillis()));
    itemDataEhora.setHint("<nbr>*</nbr>");

    final TextItem itemValor = new TextItem();
    itemValor.setTitle("Valor");
    itemValor.setName("valor");
    itemValor.setLength(16);
    itemValor.setRequired(true);
    itemValor.setHint("<nbr>*</nbr>");
    itemValor.setDefaultValue("");
    itemValor.setKeyPressFilter("[0-9]");
    itemValor.setMaskSaveLiterals(true);
    itemValor.setCharacterCasing(CharacterCasing.UPPER);
    itemValor.setWidth(300);
    itemValor.setHint("<nbr>*</nbr>");

    formNovoLancamento.setItems(itemDataEhora, itemValor);

    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();
        }
    });

    final ListGrid listaDeFaturas = new ListGrid() {

        @Override
        protected Canvas getExpansionComponent(final ListGridRecord record) {

            //final ListGrid grid = this;    
            final Label label = new Label(
                    "<strong style=\"font-size:10px; \">LANAMENTOS PARA ESTA FATURA</strong>");
            label.setAlign(Alignment.CENTER);
            label.setHeight(20);
            VLayout layout = new VLayout(5);
            layout.setPadding(5);
            //GWT.log("" + record.getAttribute("codigo"));
            final ListGridField codLancamento = new ListGridField("codLancamento", "Cdigo lanamento");
            codLancamento.setAlign(Alignment.CENTER);
            codLancamento.setHidden(true);
            final ListGridField codFatura = new ListGridField("codFatura", "Cdigo fatura");
            codFatura.setAlign(Alignment.CENTER);
            codFatura.setHidden(true);
            final ListGridField dataEhora = new ListGridField("dataEhora", "Data e Hora");
            dataEhora.setAlign(Alignment.CENTER);
            final ListGridField valor = new ListGridField("valor", "Valor lan.");
            valor.setAlign(Alignment.CENTER);
            final ListGridField valorPago = new ListGridField("valorPago", "Pago Fat.");
            valorPago.setAlign(Alignment.CENTER);
            final ListGridField estado = new ListGridField("estado", "Status");
            estado.setAlign(Alignment.CENTER);
            estado.setHidden(true);
            final ListGrid lancGrid = new ListGrid();
            lancGrid.setHeight(224);
            lancGrid.setCellHeight(22);
            lancGrid.setFields(codLancamento, codFatura, dataEhora, valor, valorPago, estado);
            Info.dbService.buscarFaturaHasLancamentoPorFatura(record.getAttributeAsInt("codigo"),
                    new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                        @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(ArrayList<TreeMap<String, String>> historico) {
                            if (historico != null) {
                                for (TreeMap<String, String> histFat : historico) {
                                    Record regs = new Record();
                                    regs.setAttribute("codFatura", histFat.get("codFatura"));
                                    regs.setAttribute("codLancamento", histFat.get("codLancamento"));
                                    regs.setAttribute("dataEhora", DateTimeFormat.getShortDateTimeFormat()
                                            .format(new Date(Long.parseLong(histFat.get("dataEhora")))));
                                    regs.setAttribute("valor",
                                            Info.formataSaldo(Double.parseDouble(histFat.get("valor"))));
                                    regs.setAttribute("valorPago",
                                            Info.formataSaldo(Double.parseDouble(histFat.get("valorPago"))));
                                    regs.setAttribute("estado",
                                            (Boolean.parseBoolean(histFat.get("estado")) == false)
                                                    ? "<nbr class=\"negativo\">Em aberto</nbr>"
                                                    : "<nbr class=\"positivo\">Quitada</nbr>");
                                    lancGrid.addData(regs);
                                }
                            }
                        }
                    });
            lancGrid.setShowAllRecords(true);
            lancGrid.setCanPickFields(false);
            layout.addMember(label);
            layout.addMember(lancGrid);
            return layout;
        }

        @Override
        protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) {

            String fieldName = this.getFieldName(colNum);
            final ListGrid listAux = this;
            if (fieldName.equals("juroMulta")) {
                HLayout recordCanvas = new HLayout(3);
                recordCanvas.setHeight(22);
                recordCanvas.setWidth100();
                recordCanvas.setAlign(Alignment.CENTER);
                ImgButton jurosMultaImg = new ImgButton();
                jurosMultaImg.setShowDown(false);
                jurosMultaImg.setShowRollOver(false);
                jurosMultaImg.setLayoutAlign(Alignment.CENTER);
                jurosMultaImg.setSrc("[SKIN]actions/remove.png");
                jurosMultaImg.setPrompt("Remover juros e multa");
                jurosMultaImg.setHeight(16);
                jurosMultaImg.setWidth(16);
                jurosMultaImg.addClickHandler(new ClickHandler() {
                    public void onClick(ClickEvent event) {
                        //arrayFaturasBD.get(listAux.getRecordIndex(record)).put("count", String.valueOf(1));
                        EditarJurosFatura editarFatura = new EditarJurosFatura(listAux, record, arrayFaturasBD,
                                saldoFaturasApagar, totalFaturasApagar, objLancamento);
                        editarFatura.setAnimateTime(1200);
                        editarFatura.animateShow(AnimationEffect.FADE);
                    }
                });
                recordCanvas.addMember(jurosMultaImg);
                return recordCanvas;

            } else {
                return null;
            }

        }
    };
    final ListGrid faturasSelecionadas = new ListGrid();
    faturasSelecionadas.setShowAllRecords(true);
    faturasSelecionadas.setAnimateRollUnder(true);
    faturasSelecionadas.setAlternateRecordStyles(false);
    faturasSelecionadas.setCanPickFields(false);
    faturasSelecionadas.setAnimateSelectionUnder(true);
    faturasSelecionadas.setWidth(789);
    faturasSelecionadas.setHeight(135);

    final ListGridField codClienteFat = new ListGridField("codCliente", "Cdigo Cliente");
    codClienteFat.setAlign(Alignment.CENTER);
    codClienteFat.setHidden(true);
    final ListGridField codigo = new ListGridField("codigo", "Cdigo");
    codigo.setAlign(Alignment.CENTER);
    codigo.setHidden(true);
    final ListGridField valor = new ListGridField("valor", "Valor");
    valor.setAlign(Alignment.CENTER);
    final ListGridField valorPago = new ListGridField("valorPago", "Valor pago");
    valorPago.setAlign(Alignment.CENTER);
    final ListGridField valorTotal = new ListGridField("valorTotal", "Valor Total");
    valorTotal.setAlign(Alignment.CENTER);
    final ListGridField jurosEmulta = new ListGridField("jurosEmulta", "Juros e multa");
    jurosEmulta.setAlign(Alignment.CENTER);
    final ListGridField valorApagar = new ListGridField("valorApagar", "a Pagar");
    valorApagar.setAlign(Alignment.CENTER);
    final ListGridField dataFatura = new ListGridField("dataFatura", "Data");
    dataFatura.setAlign(Alignment.CENTER);
    final ListGridField mes = new ListGridField("mesReferencia", "Ms");
    mes.setAlign(Alignment.CENTER);
    final ListGridField estadoFat = new ListGridField("estado", "Status");
    estadoFat.setAlign(Alignment.CENTER);
    ListGridField removeJurosMulta = new ListGridField("juroMulta", "remover M e J");
    removeJurosMulta.setAlign(Alignment.CENTER);
    ListGridField count = new ListGridField("count", "count");
    count.setAlign(Alignment.CENTER);
    count.setHidden(true);
    ///////////////////////////////////////////////////////////////////////////
    final ListGridField codClienteSelect = new ListGridField("codCliente", "Cdigo Cliente");
    codClienteSelect.setAlign(Alignment.CENTER);
    codClienteSelect.setHidden(true);
    final ListGridField codigoSelect = new ListGridField("codigo", "Cdigo");
    codigoSelect.setAlign(Alignment.CENTER);
    codigoSelect.setHidden(true);
    final ListGridField valorSelect = new ListGridField("valor", "Valor");
    valorSelect.setAlign(Alignment.CENTER);
    final ListGridField valorPagoSelect = new ListGridField("valorPago", "Crdito a lanar");
    valorPagoSelect.setAlign(Alignment.CENTER);
    final ListGridField valorTotalSelect = new ListGridField("valorTotal", "Valor Total");
    valorTotalSelect.setAlign(Alignment.CENTER);
    final ListGridField valorApagarSelect = new ListGridField("valorApagar", "Dbito restante");
    valorApagarSelect.setAlign(Alignment.CENTER);
    final ListGridField dataFaturaSelect = new ListGridField("dataFatura", "Data Venc.");
    dataFaturaSelect.setAlign(Alignment.CENTER);
    final ListGridField mesSelect = new ListGridField("mesReferencia", "Ms");
    mesSelect.setAlign(Alignment.CENTER);
    final ListGridField estadoFatSelect = new ListGridField("estado", "Status");
    estadoFatSelect.setAlign(Alignment.CENTER);
    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    Info.dbService.buscarTodasTaxas(new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

        @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(ArrayList<TreeMap<String, String>> taxas) {
            if (taxas != null) {
                for (TreeMap<String, String> txs : taxas) {
                    if (Integer.parseInt(txs.get("codTaxa")) == 1) {
                        multa = Double.parseDouble(txs.get("valor"));
                    } else if (Integer.parseInt(txs.get("codTaxa")) == 2) {
                        juros = Double.parseDouble(txs.get("valor"));
                    }
                }
            }
        }
    });
    //GWT.log("Linha NL - 01");
    listaDeFaturas.setFields(codClienteFat, codigo, dataFatura, valor, jurosEmulta, mes, valorTotal, valorPago,
            valorApagar, removeJurosMulta, count);
    //GWT.log("Linha NL - 02");
    listaDeFaturas.setWidth(789);
    listaDeFaturas.setHeight(135);
    listaDeFaturas.setShowAllRecords(true);
    listaDeFaturas.setCanPickFields(false);
    //listaDeFaturas.setSortDirection(SortDirection.DESCENDING);
    //listaDeFaturas.setSortField("dataFatura");
    listaDeFaturas.setShowRecordComponents(true);
    listaDeFaturas.setShowRecordComponentsByCell(true);
    listaDeFaturas.setCanResizeFields(true);
    listaDeFaturas.setDrawAheadRatio(4);
    listaDeFaturas.setCanExpandRecords(true);
    ///************************************************************************************************************************************************************////
    Info.dbService.buscarFaturaEmAbertoPorCliente(codCliente,
            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                @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(ArrayList<TreeMap<String, String>> faturasCliente) {
                    //////////////////////////////////////////////////////////////////****************************************\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                    Date dataAtual = new Date(System.currentTimeMillis());
                    long diaAtual = dataAtual.getTime();
                    long diferencaDeDatas = 0;
                    long diaVencimento = 0;

                    TreeMap<String, String> faturaAuxiliar = new TreeMap<String, String>();
                    if (faturasCliente != null) {
                        for (TreeMap<String, String> fats : faturasCliente) {
                            if (faturasCliente.get(0).get("codFatura") != null
                                    && faturaAuxiliar.get(fats.get("codFatura")) == null) {
                                Date dataDeVencimento = new Date(Long.parseLong(fats.get("dataVencimento")));
                                diaVencimento = dataDeVencimento.getTime();
                                diferencaDeDatas = diaAtual - diaVencimento;
                                TreeMap<String, String> faturaBD = new TreeMap<String, String>();
                                faturaBD.put("codFatura", fats.get("codFatura"));
                                faturaBD.put("codCliente", fats.get("codCliente"));
                                faturaBD.put("dataVencimento", fats.get("dataVencimento"));
                                faturaBD.put("valor", String
                                        .valueOf(Info.formataSaldo(Double.parseDouble(fats.get("valor")))));
                                faturaBD.put("estado", fats.get("estado"));
                                faturaBD.put("valorPago",
                                        (fats.get("totalLancamentos") == null)
                                                ? String.valueOf(Info.formataSaldo(0))
                                                : String.valueOf(Info.formataSaldo(
                                                        Double.parseDouble(fats.get("totalLancamentos")))));
                                faturaBD.put("mesReferencia", fats.get("mes"));
                                faturaBD.put("count", "0");
                                //GWT.log("" + fats.get("valorApagar"));
                                double totalPago = (fats.get("totalLancamentos") == null) ? 0
                                        : (Double.parseDouble(fats.get("totalLancamentos")));
                                //GWT.log("Valor a pagar"+(Double.parseDouble(fats.get("valor")) - (totalPago)));
                                if (diferencaDeDatas <= 0) {
                                    double valor = Double.parseDouble(fats.get("valor"));
                                    double valorAtualFatura = (totalPago == 0) ? Info.formataDecimal(valor)
                                            : Info.formataDecimal(
                                                    Double.parseDouble(fats.get("valor")) - (totalPago));
                                    faturaBD.put("jurosEmulta",
                                            String.valueOf(Info.formataSaldo(Double.parseDouble("0"))));
                                    faturaBD.put("valorApagar", String.valueOf(
                                            Info.formataSaldo(Info.formataDecimal((valorAtualFatura)))));
                                    faturaBD.put("valorTotal", String.valueOf(Info.formataSaldo(
                                            Info.formataDecimal(Double.parseDouble(fats.get("valor"))))));
                                    diferencaDeDatas = 0;
                                } else if (diferencaDeDatas > 0 && diferencaDeDatas < 86400000) {
                                    double valor = Double.parseDouble(fats.get("valor"));
                                    double valorAtualFatura = (totalPago == 0)
                                            ? Info.formataDecimal(valor) + (valor * multa)
                                            : Info.formataDecimal(Double.parseDouble(fats.get("valor"))
                                                    - (totalPago) + (valor * multa));
                                    faturaBD.put("jurosEmulta", String
                                            .valueOf(Info.formataSaldo((Info.formataDecimal(valor * multa)))));
                                    faturaBD.put("valorApagar",
                                            String.valueOf(Info.formataSaldo(valorAtualFatura)));
                                    faturaBD.put("valorTotal", String.valueOf(Info.formataSaldo(
                                            Info.formataDecimal(Double.parseDouble(fats.get("valor"))
                                                    + ((Double.parseDouble(fats.get("valor")) * multa))))));
                                    diferencaDeDatas = 0;
                                } else if (diferencaDeDatas > 86400000) {
                                    double valor = Double.parseDouble(fats.get("valor"));
                                    double valorAtualFatura = (totalPago == 0)
                                            ? Info.formataDecimal(valor) + (valor * multa)
                                                    + ((diferencaDeDatas / 86400000) * (juros * valor))
                                            : Info.formataDecimal(Double.parseDouble(fats.get("valor"))
                                                    - (totalPago) + (valor * multa)
                                                    + ((diferencaDeDatas / 86400000) * (juros * valor)));
                                    faturaBD.put("jurosEmulta",
                                            String.valueOf(Info.formataSaldo(Info.formataDecimal((valor * multa)
                                                    + ((diferencaDeDatas / 86400000) * (juros * valor))))));
                                    faturaBD.put("valorApagar",
                                            String.valueOf(Info.formataSaldo(valorAtualFatura)));
                                    faturaBD.put("valorTotal", String.valueOf(Info.formataSaldo(
                                            Info.formataDecimal(Double.parseDouble(fats.get("valor"))
                                                    + ((Double.parseDouble(fats.get("valor")) * multa))
                                                    + ((diferencaDeDatas / 86400000) * (juros
                                                            * Double.parseDouble(fats.get("valor"))))))));
                                    diferencaDeDatas = 0;
                                }
                                arrayFaturasBD.add(faturaBD);
                                faturaAuxiliar.put(fats.get("codFatura"), fats.get("codFatura"));
                            }
                        }
                    }
                    ////////////////////////////////////////////////////////////////*******************************************\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\            
                    for (TreeMap<String, String> fats : arrayFaturasBD) {
                        Record fat = new Record();
                        fat.setAttribute("codigo", fats.get("codFatura"));
                        fat.setAttribute("codCliente", fats.get("codCliente"));
                        fat.setAttribute("dataFatura", DateTimeFormat.getShortDateFormat()
                                .format(new Date(Long.parseLong(fats.get("dataVencimento")))));
                        fat.setAttribute("valor", fats.get("valor"));
                        fat.setAttribute("estado",
                                (Boolean.parseBoolean(fats.get("estado")) == false)
                                        ? "<nbr class=\negativo\"> Em aberto</nbr>"
                                        : "<nbr class=\"positivo\">Quitada</nbr>");
                        fat.setAttribute("valorPago", fats.get("valorPago"));
                        fat.setAttribute("mesReferencia", fats.get("mesReferencia"));
                        fat.setAttribute("valorApagar", fats.get("valorApagar"));
                        fat.setAttribute("valorTotal", fats.get("valorTotal"));
                        fat.setAttribute("jurosEmulta", fats.get("jurosEmulta"));
                        fat.setAttribute("count", Integer.parseInt(fats.get("count")));
                        listaDeFaturas.addData(fat);
                        totalFaturasApagar = totalFaturasApagar
                                + Double.parseDouble(fats.get("valorApagar").replaceAll(",", "\\."));
                    }
                    saldoFaturasApagar.redraw();
                    saldoFaturasApagar
                            .setContents("<strong style=\"font-size:22px; color:red;\">total de dbito: - R$"
                                    + Info.formataSaldo(Info.formataDecimal(totalFaturasApagar))
                                    + "  </strong>");
                }
            });
    ///************************************************************************************************************************************************************////
    //fats = listaDeFaturas.getRecords();
    faturasSelecionadas.setFields(codClienteSelect, codigoSelect, dataFaturaSelect, valorSelect, mesSelect,
            valorTotalSelect, valorPagoSelect, valorApagarSelect);

    itemValor.addKeyPressHandler(new KeyPressHandler() {
        @Override
        public void onKeyPress(KeyPressEvent event) {
            String tecla;
            tecla = event.getKeyName();
            //GWT.log("Tecla " + tecla + " KeyCod = " + event.getCharacterValue());
            //GWT.log("Objeto JavaScript "+ Info.FormataMoeda(itemValor.getValueAsString(), ".", ",", tecla));
            String aux = "";
            if (event.getCharacterValue() != null && event.getCharacterValue() >= 48
                    && event.getCharacterValue() <= 57) {
                aux = Info.FormataMoeda(
                        (itemValor.getValueAsString() != null) ? itemValor.getValueAsString() : "0", ".", ",",
                        tecla);
                flagItemValor = true;
            }
            //GWT.log("Aux=" + aux);
            //itemValor.setValue(aux);
            campo = aux;
            //Info.FormataMoeda(itemValor.getJsObj(), ".", ",", tecla);
        }
    });
    final TreeMap<String, String> faturaAux = new TreeMap<String, String>();

    itemValor.addChangedHandler(new ChangedHandler() {

        @Override
        public void onChanged(ChangedEvent event) {
            faturasSelecionadas.setData(new RecordList());
            //GWT.log("Entrou no changed: " + event.getValue());
            if (flagItemValor) {
                itemValor.setValue(campo);
            }
            flagItemValor = false;
            final String novoLancamento = campo;
            if ((event.getValue() != null && !novoLancamento.equalsIgnoreCase(""))) {
                double valorNovoApagar = 0;
                double valorNovoLancamento = 0;
                //GWT.log("valorNovoLancamento ReplaceAll: " + itemValor.getDisplayValue().replaceAll("\\.", "").replaceAll(",", "\\."));
                valorNovoLancamento = Double
                        .parseDouble(itemValor.getDisplayValue().replaceAll("\\.", "").replaceAll(",", "\\."));
                //GWT.log("valorNovoLancamento: " + valorNovoLancamento);
                valorNovoLancamento = Info.formataDecimal(valorNovoLancamento);
                fats = listaDeFaturas.getRecords();
                // GWT.log("fats.length: " + fats.length);
                for (int i = 0; i < fats.length; i++) {
                    double valorAtualFatura = Double
                            .parseDouble(arrayFaturasBD.get(i).get("valorApagar").replaceAll(",", "\\."));
                    if (valorAtualFatura <= valorNovoLancamento) {
                        fats[i].setAttribute("valorApagar", String.valueOf(Info.formataSaldo(0)));
                        faturasSelecionadas.addData(fats[i]);
                        valorNovoLancamento = valorNovoLancamento - valorAtualFatura;
                        valorNovoLancamento = Info.formataDecimal(valorNovoLancamento);
                        /*Linha 451*/
                        fats[i].setAttribute("valorPago", String.valueOf(Info.formataSaldo(valorAtualFatura)));
                    } else {
                        //GWT.log("valorNovoLancamento ELSE: " + valorNovoLancamento);
                        if (valorNovoLancamento > 0) {
                            //GWT.log("Valor a pagar ELSE: " + fats[i].getAttribute("valorApagar").replaceAll("\\.", "").replaceAll(",", "\\."));
                            valorNovoApagar = Double.parseDouble((arrayFaturasBD.get(i).get("valorApagar")
                                    .replaceAll("\\.", "").replaceAll(",", "\\."))) - valorNovoLancamento;
                            valorNovoApagar = Info.formataDecimal(valorNovoApagar);
                            fats[i].setAttribute("valorPago",
                                    String.valueOf(Info.formataSaldo(valorNovoLancamento)));
                            fats[i].setAttribute("valorApagar",
                                    String.valueOf(Info.formataSaldo(valorNovoApagar)));
                            faturasSelecionadas.addData(fats[i]);
                            valorNovoLancamento = 0;
                        }
                    }
                }
            } else {
                fatsAux = faturasSelecionadas.getRecords();
                faturaAux.clear();
                if (!faturasSelecionadas.getRecordList().isEmpty()) {
                    for (int i = 0; i < fatsAux.length; i++) {
                        faturasSelecionadas.removeData(fatsAux[i]);
                    }
                }
                fats = listaDeFaturas.getRecords();
                for (int i = 0; i < fats.length; i++) {
                    listaDeFaturas.removeData(fats[i]);
                }
                for (TreeMap<String, String> fats : arrayFaturasBD) {
                    Record fat = new Record();
                    fat.setAttribute("codigo", fats.get("codFatura"));
                    fat.setAttribute("codCliente", fats.get("codCliente"));
                    fat.setAttribute("dataFatura", DateTimeFormat.getShortDateFormat()
                            .format(new Date(Long.parseLong(fats.get("dataVencimento")))));
                    fat.setAttribute("valor", fats.get("valor"));
                    fat.setAttribute("estado",
                            (Boolean.parseBoolean(fats.get("estado")) == false)
                                    ? "<nbr class=\negativo\"> Em aberto</nbr>"
                                    : "<nbr class=\"positivo\">Quitada</nbr>");
                    fat.setAttribute("valorPago", fats.get("valorPago"));
                    fat.setAttribute("mesReferencia", fats.get("mesReferencia"));
                    fat.setAttribute("valorApagar", fats.get("valorApagar"));
                    fat.setAttribute("valorTotal", fats.get("valorTotal"));
                    fat.setAttribute("jurosEmulta", fats.get("jurosEmulta"));
                    fat.setAttribute("count", Integer.parseInt(fats.get("count")));
                    listaDeFaturas.addData(fat);

                }

            }
        }
    });
    //GWT.log("arrayFaturasBD: " + arrayFaturasBD);
    cadastrar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            if (formNovoLancamento.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 que vai para o banco como Novo lanamento*/
                                TreeMap<String, String> novoLancamento = new TreeMap<String, String>();
                                novoLancamento.put("codCliente", String.valueOf(codCliente));
                                Timestamp dataEhora = new Timestamp(itemDataEhora.getValueAsDate().getTime());
                                String valorFinalLanc = itemValor.getDisplayValue().replaceAll("\\.", "")
                                        .replaceAll(",", "\\.");
                                //GWT.log("Valor Sem virgula:" + valorFinalLanc);
                                novoLancamento.put("valor", valorFinalLanc);
                                /* TreeMap que vai para o banco como Novo lanamento*/

                                /* arrayList de TreeMap que vai para o banco como Novo fatura_has_lancamento*/
                                ArrayList<TreeMap<String, String>> arrayListFaturas = new ArrayList<TreeMap<String, String>>();
                                if (!faturasSelecionadas.getRecordList().isEmpty()) {
                                    ListGridRecord fats[] = faturasSelecionadas.getRecords();
                                    for (int i = 0; i < fats.length; i++) {
                                        //GWT.log("valorApagar: " + arrayFaturasBD.get(i).get("valorApagar"));
                                        TreeMap<String, String> treeMapFatura = new TreeMap<String, String>();
                                        treeMapFatura.put("codCliente", String.valueOf(codCliente));
                                        treeMapFatura.put("codFatura", fats[i].getAttribute("codigo"));
                                        treeMapFatura.put("valorTotal",
                                                Info.formataReaisFloat(fats[i].getAttribute("valorTotal")));
                                        treeMapFatura.put("valorApagar",
                                                Info.formataReaisFloat(fats[i].getAttribute("valorApagar")));
                                        treeMapFatura.put("valorPago",
                                                Info.formataReaisFloat(fats[i].getAttribute("valorPago")));
                                        arrayListFaturas.add(treeMapFatura);
                                    }
                                }

                                Info.dbService.cadastrarLancamento(novoLancamento, arrayListFaturas, dataEhora,
                                        new AsyncCallback<Void>() {

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

                                            @Override
                                            public void onSuccess(Void result) {
                                                listFaturas.setData(new RecordList());
                                                arrayFaturasBD.clear();
                                                //GWT.log("" + arrayFaturasBD);

                                                Info.dbService.buscarUltimoLancamento(
                                                        new AsyncCallback<TreeMap<String, String>>() {

                                                            @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, String> ultimoLancamento) {
                                                                if (ultimoLancamento != null) {
                                                                    Record regLancamento = new Record();
                                                                    //GWT.log("codUltimoLanc: " + ultimoLancamento.get("codLancamento"));
                                                                    regLancamento.setAttribute("codCliente",
                                                                            ultimoLancamento.get("codCliente"));
                                                                    regLancamento.setAttribute("codigo",
                                                                            ultimoLancamento
                                                                                    .get("codLancamento"));
                                                                    regLancamento.setAttribute("data",
                                                                            DateTimeFormat
                                                                                    .getShortDateTimeFormat()
                                                                                    .format(new Date(
                                                                                            Long.parseLong(
                                                                                                    ultimoLancamento
                                                                                                            .get("dataEhora")))));
                                                                    regLancamento.setAttribute("valor",
                                                                            "R$" + Info.formataValor(Float
                                                                                    .parseFloat(ultimoLancamento
                                                                                            .get("valor"))));
                                                                    listLancamentos.addData(regLancamento);
                                                                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                                                                    Info.dbService.buscarTodasTaxas(
                                                                            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                                                                                @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(
                                                                                        ArrayList<TreeMap<String, String>> taxas) {
                                                                                    if (taxas != null) {
                                                                                        for (TreeMap<String, String> txs : taxas) {
                                                                                            if (Integer
                                                                                                    .parseInt(
                                                                                                            txs.get("codTaxa")) == 1) {
                                                                                                multa = Double
                                                                                                        .parseDouble(
                                                                                                                txs.get("valor"));
                                                                                            } else if (Integer
                                                                                                    .parseInt(
                                                                                                            txs.get("codTaxa")) == 2) {
                                                                                                juros = Double
                                                                                                        .parseDouble(
                                                                                                                txs.get("valor"));
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                            });
                                                                    Info.dbService.buscarFaturaPorCliente(
                                                                            codCliente,
                                                                            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                                                                                @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(
                                                                                        ArrayList<TreeMap<String, String>> faturasCliente) {
                                                                                    Date dataAtual = new Date(
                                                                                            System.currentTimeMillis());
                                                                                    long diaAtual = dataAtual
                                                                                            .getTime();
                                                                                    long diferencaDeDatas = 0;
                                                                                    long diaVencimento = 0;
                                                                                    TreeMap<String, String> faturaAuxiliar = new TreeMap<String, String>();
                                                                                    if (faturasCliente != null) {
                                                                                        for (TreeMap<String, String> fats : faturasCliente) {
                                                                                            if (faturasCliente
                                                                                                    .get(0)
                                                                                                    .get("codFatura") != null
                                                                                                    && faturaAuxiliar
                                                                                                            .get(fats
                                                                                                                    .get("codFatura")) == null) {
                                                                                                Date dataDeVencimento = new Date(
                                                                                                        Long.parseLong(
                                                                                                                fats.get(
                                                                                                                        "dataVencimento")));
                                                                                                diaVencimento = dataDeVencimento
                                                                                                        .getTime();
                                                                                                diferencaDeDatas = diaAtual
                                                                                                        - diaVencimento;
                                                                                                TreeMap<String, String> faturaBD = new TreeMap<String, String>();
                                                                                                faturaBD.put(
                                                                                                        "codFatura",
                                                                                                        fats.get(
                                                                                                                "codFatura"));
                                                                                                faturaBD.put(
                                                                                                        "codCliente",
                                                                                                        fats.get(
                                                                                                                "codCliente"));
                                                                                                faturaBD.put(
                                                                                                        "dataVencimento",
                                                                                                        fats.get(
                                                                                                                "dataVencimento"));
                                                                                                faturaBD.put(
                                                                                                        "valor",
                                                                                                        String.valueOf(
                                                                                                                Info.formataSaldo(
                                                                                                                        Double.parseDouble(
                                                                                                                                fats.get(
                                                                                                                                        "valor")))));
                                                                                                faturaBD.put(
                                                                                                        "estado",
                                                                                                        fats.get(
                                                                                                                "estado"));
                                                                                                faturaBD.put(
                                                                                                        "valorPago",
                                                                                                        (fats.get(
                                                                                                                "totalLancamentos") == null)
                                                                                                                        ? String.valueOf(
                                                                                                                                Info.formataSaldo(
                                                                                                                                        0))
                                                                                                                        : String.valueOf(
                                                                                                                                Info.formataSaldo(
                                                                                                                                        Double.parseDouble(
                                                                                                                                                fats.get(
                                                                                                                                                        "totalLancamentos")))));
                                                                                                faturaBD.put(
                                                                                                        "mesReferencia",
                                                                                                        fats.get(
                                                                                                                "mes"));
                                                                                                faturaBD.put(
                                                                                                        "count",
                                                                                                        "0");
                                                                                                //GWT.log("" + fats.get("valorApagar"));
                                                                                                double totalPago = (fats
                                                                                                        .get("totalLancamentos") == null)
                                                                                                                ? 0
                                                                                                                : (Double
                                                                                                                        .parseDouble(
                                                                                                                                fats.get(
                                                                                                                                        "totalLancamentos")));
                                                                                                //GWT.log("Valor a pagar"+(Double.parseDouble(fats.get("valor")) - (totalPago)));
                                                                                                if (diferencaDeDatas <= 0) {
                                                                                                    double valor = Double
                                                                                                            .parseDouble(
                                                                                                                    fats.get(
                                                                                                                            "valor"));
                                                                                                    double valorAtualFatura = (totalPago == 0)
                                                                                                            ? Info.formataDecimal(
                                                                                                                    valor)
                                                                                                            : Info.formataDecimal(
                                                                                                                    Double.parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                            - (totalPago));
                                                                                                    faturaBD.put(
                                                                                                            "jurosEmulta",
                                                                                                            String.valueOf(
                                                                                                                    Info.formataSaldo(
                                                                                                                            Double.parseDouble(
                                                                                                                                    "0"))));
                                                                                                    faturaBD.put(
                                                                                                            "valorApagar",
                                                                                                            String.valueOf(
                                                                                                                    Info.formataSaldo(
                                                                                                                            Info.formataDecimal(
                                                                                                                                    (valorAtualFatura)))));
                                                                                                    faturaBD.put(
                                                                                                            "valorTotal",
                                                                                                            String.valueOf(
                                                                                                                    Info.formataSaldo(
                                                                                                                            Info.formataDecimal(
                                                                                                                                    Double.parseDouble(
                                                                                                                                            fats.get(
                                                                                                                                                    "valor"))))));
                                                                                                    diferencaDeDatas = 0;
                                                                                                } else if (diferencaDeDatas > 0
                                                                                                        && diferencaDeDatas < 86400000) {
                                                                                                    double valor = Double
                                                                                                            .parseDouble(
                                                                                                                    fats.get(
                                                                                                                            "valor"));
                                                                                                    double valorAtualFatura = (totalPago == 0)
                                                                                                            ? Info.formataDecimal(
                                                                                                                    valor)
                                                                                                                    + (valor * multa)
                                                                                                            : Info.formataDecimal(
                                                                                                                    Double.parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                            - (totalPago)
                                                                                                                            + (valor * multa));
                                                                                                    faturaBD.put(
                                                                                                            "jurosEmulta",
                                                                                                            String.valueOf(
                                                                                                                    Info.formataSaldo(
                                                                                                                            (Info.formataDecimal(
                                                                                                                                    valor * multa)))));
                                                                                                    faturaBD.put(
                                                                                                            "valorApagar",
                                                                                                            String.valueOf(
                                                                                                                    Info.formataSaldo(
                                                                                                                            valorAtualFatura)));
                                                                                                    faturaBD.put(
                                                                                                            "valorTotal",
                                                                                                            String.valueOf(
                                                                                                                    Info.formataSaldo(
                                                                                                                            Info.formataDecimal(
                                                                                                                                    Double.parseDouble(
                                                                                                                                            fats.get(
                                                                                                                                                    "valor"))
                                                                                                                                            + ((Double
                                                                                                                                                    .parseDouble(
                                                                                                                                                            fats.get(
                                                                                                                                                                    "valor"))
                                                                                                                                                    * multa))))));
                                                                                                    diferencaDeDatas = 0;
                                                                                                } else if (diferencaDeDatas > 86400000) {
                                                                                                    double valor = Double
                                                                                                            .parseDouble(
                                                                                                                    fats.get(
                                                                                                                            "valor"));
                                                                                                    double valorAtualFatura = (totalPago == 0)
                                                                                                            ? Info.formataDecimal(
                                                                                                                    valor)
                                                                                                                    + (valor * multa)
                                                                                                                    + ((diferencaDeDatas
                                                                                                                            / 86400000)
                                                                                                                            * (juros * valor))
                                                                                                            : Info.formataDecimal(
                                                                                                                    Double.parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                            - (totalPago)
                                                                                                                            + (valor * multa)
                                                                                                                            + ((diferencaDeDatas
                                                                                                                                    / 86400000)
                                                                                                                                    * (juros * valor)));
                                                                                                    faturaBD.put(
                                                                                                            "jurosEmulta",
                                                                                                            String.valueOf(
                                                                                                                    Info.formataSaldo(
                                                                                                                            Info.formataDecimal(
                                                                                                                                    (valor * multa)
                                                                                                                                            + ((diferencaDeDatas
                                                                                                                                                    / 86400000)
                                                                                                                                                    * (juros * valor))))));
                                                                                                    faturaBD.put(
                                                                                                            "valorApagar",
                                                                                                            String.valueOf(
                                                                                                                    Info.formataSaldo(
                                                                                                                            valorAtualFatura)));
                                                                                                    faturaBD.put(
                                                                                                            "valorTotal",
                                                                                                            String.valueOf(
                                                                                                                    Info.formataSaldo(
                                                                                                                            Info.formataDecimal(
                                                                                                                                    Double.parseDouble(
                                                                                                                                            fats.get(
                                                                                                                                                    "valor"))
                                                                                                                                            + ((Double
                                                                                                                                                    .parseDouble(
                                                                                                                                                            fats.get(
                                                                                                                                                                    "valor"))
                                                                                                                                                    * multa))
                                                                                                                                            + ((diferencaDeDatas
                                                                                                                                                    / 86400000)
                                                                                                                                                    * (juros * Double
                                                                                                                                                            .parseDouble(
                                                                                                                                                                    fats.get(
                                                                                                                                                                            "valor"))))))));
                                                                                                    diferencaDeDatas = 0;
                                                                                                }
                                                                                                arrayFaturasBD
                                                                                                        .add(faturaBD);
                                                                                                faturaAuxiliar
                                                                                                        .put(fats
                                                                                                                .get("codFatura"),
                                                                                                                fats.get(
                                                                                                                        "codFatura"));
                                                                                            }
                                                                                        }
                                                                                        objFaturaLancamento
                                                                                                .setTotalLancamentos(
                                                                                                        0);
                                                                                        objFaturaLancamento
                                                                                                .setTotalFaturas(
                                                                                                        0);
                                                                                        objFaturaLancamento
                                                                                                .setSaldo(0);
                                                                                        //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++////////////
                                                                                        for (TreeMap<String, String> fatsGrid : arrayFaturasBD) {
                                                                                            Record fat = new Record();
                                                                                            fat.setAttribute(
                                                                                                    "codigo",
                                                                                                    fatsGrid.get(
                                                                                                            "codFatura"));
                                                                                            fat.setAttribute(
                                                                                                    "codCliente",
                                                                                                    fatsGrid.get(
                                                                                                            "codCliente"));
                                                                                            fat.setAttribute(
                                                                                                    "dataFatura",
                                                                                                    DateTimeFormat
                                                                                                            .getShortDateFormat()
                                                                                                            .format(new Date(
                                                                                                                    Long.parseLong(
                                                                                                                            fatsGrid.get(
                                                                                                                                    "dataVencimento")))));
                                                                                            fat.setAttribute(
                                                                                                    "valor",
                                                                                                    fatsGrid.get(
                                                                                                            "valor"));
                                                                                            fat.setAttribute(
                                                                                                    "estado",
                                                                                                    (Boolean.parseBoolean(
                                                                                                            fatsGrid.get(
                                                                                                                    "estado")) == false)
                                                                                                                            ? "<nbr class=\negativo\"> Em aberto</nbr>"
                                                                                                                            : "<nbr class=\"positivo\">Quitada</nbr>");
                                                                                            fat.setAttribute(
                                                                                                    "valorPago",
                                                                                                    fatsGrid.get(
                                                                                                            "valorPago"));
                                                                                            fat.setAttribute(
                                                                                                    "mesReferencia",
                                                                                                    fatsGrid.get(
                                                                                                            "mesReferencia"));
                                                                                            fat.setAttribute(
                                                                                                    "valorApagar",
                                                                                                    (Boolean.parseBoolean(
                                                                                                            fatsGrid.get(
                                                                                                                    "estado")) == false)
                                                                                                                            ? fatsGrid
                                                                                                                                    .get("valorApagar")
                                                                                                                            : Info.formataSaldo(
                                                                                                                                    0));
                                                                                            fat.setAttribute(
                                                                                                    "valorTotal",
                                                                                                    fatsGrid.get(
                                                                                                            "valorTotal"));
                                                                                            fat.setAttribute(
                                                                                                    "jurosEmulta",
                                                                                                    (Boolean.parseBoolean(
                                                                                                            fatsGrid.get(
                                                                                                                    "estado")) == false)
                                                                                                                            ? fatsGrid
                                                                                                                                    .get("jurosEmulta")
                                                                                                                            : Info.formataSaldo(
                                                                                                                                    0));
                                                                                            fat.setAttribute(
                                                                                                    "count",
                                                                                                    Integer.parseInt(
                                                                                                            fatsGrid.get(
                                                                                                                    "count")));
                                                                                            listFaturas.addData(
                                                                                                    fat);
                                                                                            //GWT.log("fatsGrid.get(\"codFatura\"): "+fatsGrid.get("codFatura"));
                                                                                            //GWT.log("fatsGrid.get(\"estado\")): " + fatsGrid.get("estado"));
                                                                                            //GWT.log("fatsGrid.get(\"valorPago\"): " + fatsGrid.get("valorPago"));
                                                                                            objFaturaLancamento
                                                                                                    .setTotalFaturas(
                                                                                                            objFaturaLancamento
                                                                                                                    .getTotalFaturas()
                                                                                                                    + ((Double
                                                                                                                            .parseDouble(
                                                                                                                                    fat.getAttributeAsString(
                                                                                                                                            "valorPago")
                                                                                                                                            .replaceAll(
                                                                                                                                                    "\\.",
                                                                                                                                                    "")
                                                                                                                                            .replaceAll(
                                                                                                                                                    ",",
                                                                                                                                                    ".")) > 0
                                                                                                                            && Boolean
                                                                                                                                    .parseBoolean(
                                                                                                                                            fatsGrid.get(
                                                                                                                                                    "estado")) == true)
                                                                                                                                                            ? Double.parseDouble(
                                                                                                                                                                    fat.getAttributeAsString(
                                                                                                                                                                            "valorPago")
                                                                                                                                                                            .replaceAll(
                                                                                                                                                                                    "\\.",
                                                                                                                                                                                    "")
                                                                                                                                                                            .replaceAll(
                                                                                                                                                                                    ",",
                                                                                                                                                                                    "."))
                                                                                                                                                            : (Double
                                                                                                                                                                    .parseDouble(
                                                                                                                                                                            fat.getAttributeAsString(
                                                                                                                                                                                    "valorPago")
                                                                                                                                                                                    .replaceAll(
                                                                                                                                                                                            "\\.",
                                                                                                                                                                                            "")
                                                                                                                                                                                    .replaceAll(
                                                                                                                                                                                            ",",
                                                                                                                                                                                            "."))
                                                                                                                                                                    + Double.parseDouble(
                                                                                                                                                                            fat.getAttributeAsString(
                                                                                                                                                                                    "valorApagar")
                                                                                                                                                                                    .replaceAll(
                                                                                                                                                                                            "\\.",
                                                                                                                                                                                            "")
                                                                                                                                                                                    .replaceAll(
                                                                                                                                                                                            ",",
                                                                                                                                                                                            ".")))));
                                                                                        }
                                                                                        Info.dbService
                                                                                                .buscarTotalLancamentos(
                                                                                                        codCliente,
                                                                                                        new AsyncCallback<Double>() {

                                                                                                            @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(
                                                                                                                    Double totLanc) {
                                                                                                                labelLanc
                                                                                                                        .redraw();
                                                                                                                labelLanc
                                                                                                                        .setContents(
                                                                                                                                "<strong style=\"font-size:20px; \">Total de Lanamentos: R$"
                                                                                                                                        + Info.formataSaldo(
                                                                                                                                                totLanc)
                                                                                                                                        + "</strong>");
                                                                                                                objFaturaLancamento
                                                                                                                        .setTotalLancamentos(
                                                                                                                                totLanc);
                                                                                                                labelfaturas
                                                                                                                        .redraw();
                                                                                                                labelfaturas
                                                                                                                        .setContents(
                                                                                                                                "<strong style=\"font-size:20px; \">Total de Faturas: R$"
                                                                                                                                        + Info.formataSaldo(
                                                                                                                                                objFaturaLancamento
                                                                                                                                                        .getTotalFaturas())
                                                                                                                                        + "</strong>");
                                                                                                                objFaturaLancamento
                                                                                                                        .setSaldo(
                                                                                                                                objFaturaLancamento
                                                                                                                                        .getTotalLancamentos()
                                                                                                                                        - objFaturaLancamento
                                                                                                                                                .getTotalFaturas());
                                                                                                                if (objFaturaLancamento
                                                                                                                        .getSaldo() == 0) {
                                                                                                                    labelSaldo
                                                                                                                            .redraw();
                                                                                                                    labelSaldo
                                                                                                                            .setContents(
                                                                                                                                    "<strong style=\"font-size:25px; \">Saldo Atual: R$00,00\n</strong>");
                                                                                                                } else if (objFaturaLancamento
                                                                                                                        .getSaldo() > 0) {
                                                                                                                    labelSaldo
                                                                                                                            .redraw();
                                                                                                                    labelSaldo
                                                                                                                            .setContents(
                                                                                                                                    "<strong class=\"saldo-positivo\">Crdito Atual: R$"
                                                                                                                                            + Info.formataSaldo(
                                                                                                                                                    Info.formataDecimal(
                                                                                                                                                            objFaturaLancamento
                                                                                                                                                                    .getSaldo()))
                                                                                                                                            + "\n</strong>");
                                                                                                                } else {
                                                                                                                    labelSaldo
                                                                                                                            .redraw();
                                                                                                                    labelSaldo
                                                                                                                            .setContents(
                                                                                                                                    "<strong class=\"saldo-negativo\">Dbito Atual: R$"
                                                                                                                                            + Info.formataSaldo(
                                                                                                                                                    Info.formataDecimal(
                                                                                                                                                            objFaturaLancamento
                                                                                                                                                                    .getSaldo()))
                                                                                                                                            + "\n</strong>");
                                                                                                                }
                                                                                                            }
                                                                                                        });
                                                                                    } else {
                                                                                        Info.dbService
                                                                                                .buscarTotalLancamentos(
                                                                                                        codCliente,
                                                                                                        new AsyncCallback<Double>() {

                                                                                                            @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(
                                                                                                                    Double totLanc) {
                                                                                                                objFaturaLancamento
                                                                                                                        .setTotalLancamentos(
                                                                                                                                totLanc);
                                                                                                                labelLanc
                                                                                                                        .redraw();
                                                                                                                labelLanc
                                                                                                                        .setContents(
                                                                                                                                "<strong style=\"font-size:20px; \">Total de Lanamentos: R$"
                                                                                                                                        + Info.formataSaldo(
                                                                                                                                                Info.formataDecimal(
                                                                                                                                                        objFaturaLancamento
                                                                                                                                                                .getTotalLancamentos()))
                                                                                                                                        + "</strong>");
                                                                                                                labelfaturas
                                                                                                                        .redraw();
                                                                                                                //GWT.log("objFaturaLancamento.getTotalFaturas()): " + objFaturaLancamento.getTotalFaturas());
                                                                                                                labelfaturas
                                                                                                                        .setContents(
                                                                                                                                "<strong style=\"font-size:20px; \">Total de Faturas: R$"
                                                                                                                                        + Info.formataSaldo(
                                                                                                                                                Info.formataDecimal(
                                                                                                                                                        objFaturaLancamento
                                                                                                                                                                .getTotalFaturas()))
                                                                                                                                        + "</strong>");
                                                                                                                objFaturaLancamento
                                                                                                                        .setSaldo(
                                                                                                                                objFaturaLancamento
                                                                                                                                        .getTotalLancamentos()
                                                                                                                                        - objFaturaLancamento
                                                                                                                                                .getTotalFaturas());
                                                                                                                if (objFaturaLancamento
                                                                                                                        .getSaldo() == 0) {
                                                                                                                    labelSaldo
                                                                                                                            .redraw();
                                                                                                                    labelSaldo
                                                                                                                            .setContents(
                                                                                                                                    "<strong style=\"font-size:25px; \">Saldo Atual: R$00,00\n</strong>");
                                                                                                                } else if (objFaturaLancamento
                                                                                                                        .getSaldo() > 0) {
                                                                                                                    labelSaldo
                                                                                                                            .redraw();
                                                                                                                    labelSaldo
                                                                                                                            .setContents(
                                                                                                                                    "<strong class=\"saldo-positivo\">Crdito Atual: R$"
                                                                                                                                            + Info.formataSaldo(
                                                                                                                                                    Info.formataDecimal(
                                                                                                                                                            objFaturaLancamento
                                                                                                                                                                    .getSaldo()))
                                                                                                                                            + "\n</strong>");
                                                                                                                } else {
                                                                                                                    labelSaldo
                                                                                                                            .redraw();
                                                                                                                    labelSaldo
                                                                                                                            .setContents(
                                                                                                                                    "<strong class=\"saldo-negativo\">Dbito Atual: R$"
                                                                                                                                            + Info.formataSaldo(
                                                                                                                                                    Info.formataDecimal(
                                                                                                                                                            objFaturaLancamento
                                                                                                                                                                    .getSaldo()))
                                                                                                                                            + "\n</strong>");
                                                                                                                }
                                                                                                            }
                                                                                                        });
                                                                                    }

                                                                                }
                                                                            });
                                                                    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                                                        
                                                                }
                                                            }
                                                        });

                                            }
                                        });

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

                    }
                }.schedule(50);
            }
        }

    });
    limpar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            itemValor.setDefaultValue("");
            itemDataEhora.setValue(new Date(System.currentTimeMillis()));
            formNovoLancamento.focusInItem(itemValor);
        }
    });
    addItem(label);
    addItem(formNovoLancamento);
    addItem(labelListaFat);
    addItem(listaDeFaturas);
    addItem(saldoFaturasApagar);
    addItem(labelListaFatSelecionadas);
    addItem(faturasSelecionadas);
    addItem(hButoes);

}

From source file:com.axlight.gbrain.client.MainPane.java

License:Apache License

private void relocateCenter(int posX, int posY) {
    final Style glassStyle = Document.get().getElementById("gbrain-glass").getStyle();
    glassStyle.setWidth(viewWidth, Unit.PX);
    glassStyle.setHeight(viewHeight, Unit.PX);
    glassStyle.setVisibility(Visibility.VISIBLE);
    viewX = posX - viewWidth / 2;/*from ww w. j  a va  2s . c  o m*/
    viewY = posY - viewHeight / 2;
    nodeManager.updateView(viewX, viewY);
    coordinate.updateView(viewX, viewY);
    new Timer() {
        public void run() {
            int screenWidth = getWindowScreenWidth();
            int screenHeight = getWindowScreenHeight();
            int left = viewWidth / 2 - screenWidth / 2;
            int top = viewHeight / 2 - screenHeight / 2;
            Window.scrollTo(left, top);
            setWidgetPosition(buttonPanel, left, top + screenHeight - buttonPanel.getOffsetHeight());
            glassStyle.setVisibility(Visibility.HIDDEN);
        }
    }.schedule(500);
}

From source file:com.badlogic.gdx.backends.gwt.GwtApplicationCustom.java

License:Apache License

@Override
public void onModuleLoad() {
    this.agentInfo = computeAgentInfo();
    this.listener = getApplicationListener();
    this.config = getConfig();

    if (config.rootPanel != null) {
        this.root = config.rootPanel;
    } else {//w w w.ja  va  2 s  .co m
        Element element = Document.get().getElementById("embed-" + GWT.getModuleName());
        if (element == null) {
            VerticalPanel panel = new VerticalPanel();
            panel.setWidth("100%");
            panel.setHeight("100%");
            //            panel.setWidth("" + config.width + "px");
            //            panel.setHeight("" + config.height + "px");
            panel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
            panel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
            RootPanel.get().add(panel);
            //            RootPanel.get().setWidth("" + config.width + "px");
            //            RootPanel.get().setHeight("" + config.height + "px");
            RootPanel.get().setWidth("100%");
            RootPanel.get().setHeight("100%");
            this.root = panel;
        } else {
            VerticalPanel panel = new VerticalPanel();
            panel.setWidth("100%");
            panel.setHeight("100%");
            panel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
            panel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
            element.appendChild(panel.getElement());
            root = panel;
        }
    }

    // initialize SoundManager2
    SoundManager.init(GWT.getModuleBaseURL(), 9);

    // wait for soundmanager to load, this is fugly, but for
    // some reason the ontimeout and onerror callbacks are never
    // called (function instanceof Function fails, wtf JS?).
    new Timer() {
        @Override
        public void run() {
            if (SoundManager.swfLoaded()) {
                final PreloaderCallback callback = getPreloaderCallback();
                preloader = new Preloader();
                preloader.preload("assets.txt", new PreloaderCallback() {
                    @Override
                    public void loaded(String file, int loaded, int total) {
                        callback.loaded(file, loaded, total);
                    }

                    @Override
                    public void error(String file) {
                        callback.error(file);
                    }

                    @Override
                    public void done() {
                        callback.done();
                        root.clear();
                        setupLoop();
                    }
                });
                cancel();
            }
        }
    }.scheduleRepeating(100);
}

From source file:com.badlogic.gdx.backends.gwt.GwtApplicationCustom.java

License:Apache License

private void setupLoop() {
    // setup modules
    try {//from www . ja  v a  2  s  .c o  m
        graphics = new GwtGraphics(root, config);
        graphics.setDisplayMode(480, 320, true);
    } catch (Throwable e) {
        root.clear();
        root.add(new Label("Sorry, your browser doesn't seem to support WebGL"));
        return;
    }
    lastWidth = graphics.getWidth();
    lastHeight = graphics.getHeight();
    Gdx.app = this;
    Gdx.audio = new GwtAudio();
    Gdx.graphics = graphics;
    Gdx.gl20 = graphics.getGL20();
    Gdx.gl = graphics.getGLCommon();
    Gdx.files = new GwtFiles(preloader);
    this.input = new GwtInput(graphics.canvas);
    Gdx.input = this.input;
    this.net = new GwtNet();
    Gdx.net = this.net;

    // tell listener about app creation
    try {
        listener.create();
        listener.resize(graphics.getWidth(), graphics.getHeight());
    } catch (Throwable t) {
        error("GwtApplication", "exception: " + t.getMessage(), t);
        t.printStackTrace();
        throw new RuntimeException(t);
    }

    // setup rendering timer
    new Timer() {
        @Override
        public void run() {
            try {
                graphics.update();
                if (Gdx.graphics.getWidth() != lastWidth || Gdx.graphics.getHeight() != lastHeight) {
                    GwtApplicationCustom.this.listener.resize(Gdx.graphics.getWidth(),
                            Gdx.graphics.getHeight());
                    lastWidth = graphics.getWidth();
                    lastHeight = graphics.getHeight();
                    Gdx.gl.glViewport(0, 0, lastWidth, lastHeight);
                }
                runnablesHelper.addAll(runnables);
                runnables.clear();
                for (int i = 0; i < runnablesHelper.size; i++) {
                    runnablesHelper.get(i).run();
                }
                runnablesHelper.clear();
                listener.render();
                input.justTouched = false;
            } catch (Throwable t) {
                error("GwtApplication", "exception: " + t.getMessage(), t);
                throw new RuntimeException(t);
            }
        }
    }.scheduleRepeating((int) ((1f / config.fps) * 1000));
}