Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.automaster.client.ui.paineis.dialogs.editar; import com.automaster.client.Info; import com.automaster.client.ui.paineis.dialogs.editar.cadastronovo.EditarNovoEmail; import com.automaster.client.ui.paineis.dialogs.editar.cadastronovo.EditarNovoEndereco; import com.automaster.client.ui.paineis.dialogs.editar.cadastronovo.EditarNovoTelefone; import com.automaster.client.ui.paineis.dialogs.editar.cadastronovo.EditarNovoUsuario; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.data.Record; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.AnimationEffect; import com.smartgwt.client.types.CharacterCasing; import com.smartgwt.client.types.DateDisplayFormat; import com.smartgwt.client.types.Overflow; import com.smartgwt.client.types.VisibilityMode; import com.smartgwt.client.util.BooleanCallback; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.ImgButton; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.Window; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.events.CloseClickEvent; import com.smartgwt.client.widgets.events.CloseClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.DateItem; import com.smartgwt.client.widgets.form.fields.RadioGroupItem; import com.smartgwt.client.widgets.form.fields.SectionItem; import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.validator.LengthRangeValidator; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.SectionStack; import com.smartgwt.client.widgets.layout.SectionStackSection; import com.smartgwt.client.widgets.layout.VLayout; import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashMap; import java.util.TreeMap; /** * * @author Adriano */ public class EditarCliente extends Window { private int contador = 0; // Pega o cdigo da Unidade do Usurio Logado Cliente ou Funiconrio private int codigoUnidade = Integer.parseInt( (Info.usuarioLogado.get("codUnidadeCliente") == null) ? Info.usuarioLogado.get("codUnidadeFuncionario") : Info.usuarioLogado.get("codUnidadeCliente")); private ArrayList<TreeMap<String, String>> clienteEdicaoAuxiliar = new ArrayList<TreeMap<String, String>>(); public EditarCliente(final TreeMap<String, ArrayList<TreeMap<String, String>>> clienteEdicao, final ListGrid enderecosTabBuscaCliente, final ListGrid telefonesTabBuscaCliente, final ListGrid emailsTabBuscaCliente, final ListGrid usuariosTabBuscaCliente, final ListGrid dadosClienteTabBuscaCliente) { //GWT.log(""+emailsTabBuscaCliente.getRecords().length); clienteEdicaoAuxiliar = clienteEdicao.get(clienteEdicao.firstKey()); //Setando itens de configurao da Window EditarCliente final Window windAux = this; setTitle("Editar Cliente"); setWidth(1200); setHeight100(); setShowMinimizeButton(false); setShowCloseButton(false); setIsModal(true); setShowModalMask(true); centerInPage(); setLayoutAlign(Alignment.CENTER); addCloseClickHandler(new CloseClickHandler() { @Override public void onCloseClick(CloseClickEvent event) { SC.warn("todas as alteraes j foram feitas!", new BooleanCallback() { @Override public void execute(Boolean value) { if (value) { windAux.destroy(); } } }); //GWT.log(""+clienteEdicao); } }); //criando o Vlayout que ir armazenar o painelNovoCliente HLayout painelPai = new HLayout(); painelPai.setWidth100(); painelPai.setHeight100(); painelPai.setAlign(Alignment.CENTER); //Criando o painel que ir armazenar to tab, sections e butoes VLayout painelNovoCliente = new VLayout(); painelNovoCliente.setMembersMargin(15); painelNovoCliente.setWidth(1000); painelNovoCliente.setDefaultLayoutAlign(Alignment.CENTER); //criando o painel que ir armazenar os botoes cadastrar e limpar HLayout painelBotoes = new HLayout(); painelBotoes.setMembersMargin(15); painelBotoes.setAlign(Alignment.CENTER); //criando o formulrio que armazena os itens de cadastro PF final DynamicForm formEditarCliente = new DynamicForm(); formEditarCliente.setWidth100(); formEditarCliente.setLayoutAlign(Alignment.CENTER); formEditarCliente.setAutoFocus(true); //criando radioGroup que o usurio escolhe o tipo de cliente a ser cadastrado final SelectItem unidade = new SelectItem(); unidade.setTitle("Unidade"); unidade.setName("unidade"); unidade.setHint("<nbr>*</nbr>"); Info.dbService.buscarTodasUnidades(codigoUnidade, new AsyncCallback<ArrayList<TreeMap<String, String>>>() { @Override public void onFailure(Throwable caught) { throw new UnsupportedOperationException( "Erro ao Listar as Unidades, entre em contato com Administrador!"); } @Override public void onSuccess(ArrayList<TreeMap<String, String>> result) { if (result != null) { LinkedHashMap<String, String> valueMapUnid = new LinkedHashMap<String, String>(); for (TreeMap<String, String> unid : result) { //valueMapUnid.put(unid.get("codUnidade"), unid.get("nome")); valueMapUnid.put(unid.get("codUnidade"), unid.get("nome")); } unidade.setValueMap(valueMapUnid); } } }); unidade.setDefaultValue(clienteEdicaoAuxiliar.get(0).get("codUnidade")); unidade.setRequired(true); unidade.setWidth(400); final DateItem datadeAdesao = new DateItem(); datadeAdesao.setTitle("Data de Adeso."); datadeAdesao.setName("dataAdesao"); datadeAdesao.setUseTextField(true); datadeAdesao.setHint("<nbr>*</nbr>"); datadeAdesao.setUseMask(true); datadeAdesao.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE); datadeAdesao.setRequired(true); datadeAdesao.setWidth(400); datadeAdesao.setValue(new Date(Long.parseLong(clienteEdicaoAuxiliar.get(0).get("dataAdesao")))); datadeAdesao.setDisabled(true); final RadioGroupItem tipoPessoa = new RadioGroupItem(); tipoPessoa.setTitle("Tipo de Pessoa"); LinkedHashMap<String, String> tp = new LinkedHashMap<>(); tp.put("1", "Pessoa Fsica"); tp.put("2", "Pessoa Jurdica"); tipoPessoa.setValueMap(tp); tipoPessoa.setRequired(true); tipoPessoa.setValue(clienteEdicaoAuxiliar.get(0).get("tipoCliente")); tipoPessoa.setAlign(Alignment.CENTER); tipoPessoa.setDisabled(true); //criando os itens que a seo dados pessoais do formulrio final TextItem nomeRazaoSocial = new TextItem(); nomeRazaoSocial.setName("nome"); nomeRazaoSocial.setTitle("Nome"); nomeRazaoSocial.setRequired(true); LengthRangeValidator tamanhoNome = new LengthRangeValidator(); tamanhoNome.setMin(3); nomeRazaoSocial.setValidators(tamanhoNome); nomeRazaoSocial.setHint("<nbr>*</nbr>"); nomeRazaoSocial.setKeyPressFilter("[a-zA-Z? ]"); nomeRazaoSocial.setCharacterCasing(CharacterCasing.UPPER); nomeRazaoSocial.setWidth(400); nomeRazaoSocial.setValue(clienteEdicaoAuxiliar.get(0).get("nomeCliente")); final TextItem cpfCnpj = new TextItem(); cpfCnpj.setName("cpf"); cpfCnpj.setTitle("CPF"); cpfCnpj.setMask("###.###.###-##"); cpfCnpj.setRequired(true); cpfCnpj.setHint("<nbr>*</nbr>"); //cpfCnpj.setHint("Somente Nmeros [0-9.]"); cpfCnpj.setKeyPressFilter("<nbr>*</nbr>"); cpfCnpj.setWidth(400); cpfCnpj.setValue((clienteEdicaoAuxiliar.get(0).get("tipoCliente").equalsIgnoreCase("1")) ? clienteEdicaoAuxiliar.get(0).get("cpf") : clienteEdicaoAuxiliar.get(0).get("cnpj")); final DateItem dataNascAbertura = new DateItem(); dataNascAbertura.setTitle("Data de Nasc."); dataNascAbertura.setName("dataNasc"); dataNascAbertura.setUseTextField(true); dataNascAbertura.setHint("<nbr>*</nbr>"); dataNascAbertura.setUseMask(true); dataNascAbertura.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE); dataNascAbertura.setRequired(true); dataNascAbertura.setWidth(400); Date dataFinal; if (clienteEdicaoAuxiliar.get(0).get("tipoCliente").equalsIgnoreCase("1")) { dataFinal = new Date(Long.parseLong(clienteEdicaoAuxiliar.get(0).get("dataNasc"))); } else { dataFinal = new Date(Long.parseLong(clienteEdicaoAuxiliar.get(0).get("dataAbertura"))); } dataNascAbertura.setValue(dataFinal); // final TextItem profissaoResponsavel = new TextItem(); profissaoResponsavel.setName("profissao"); profissaoResponsavel.setTitle("Profisso"); profissaoResponsavel.setHint("<nbr>*</nbr>"); profissaoResponsavel.setKeyPressFilter("[a-zA-Z? ]"); profissaoResponsavel.setRequired(true); profissaoResponsavel.setCharacterCasing(CharacterCasing.UPPER); profissaoResponsavel.setWidth(400); profissaoResponsavel.setValue((clienteEdicaoAuxiliar.get(0).get("tipoCliente").equalsIgnoreCase("1")) ? clienteEdicaoAuxiliar.get(0).get("profissao") : clienteEdicaoAuxiliar.get(0).get("responsavel")); final TextItem empresaCargo = new TextItem(); empresaCargo.setName("empresa"); empresaCargo.setTitle("Empresa"); empresaCargo.setHint("<nbr>*</nbr>"); empresaCargo.setKeyPressFilter("[a-zA-Z? ]"); empresaCargo.setRequired(true); empresaCargo.setCharacterCasing(CharacterCasing.UPPER); empresaCargo.setWidth(400); empresaCargo.setValue((clienteEdicaoAuxiliar.get(0).get("tipoCliente").equalsIgnoreCase("1")) ? clienteEdicaoAuxiliar.get(0).get("trabalhoPessoa") : clienteEdicaoAuxiliar.get(0).get("cargo")); //cria a seo para armazenar os dados pessoas de PF ou PJ final SectionItem dadosPessoais = new SectionItem(); //Componentes da Tab SectionStack novoCliente = new SectionStack(); //Botes final IButton salvar = new IButton("Salvar"); salvar.setLayoutAlign(Alignment.CENTER); final SectionStackSection formSection = new SectionStackSection(); formSection.setTitle("Cadastro de Clientes"); formSection.setItems(formEditarCliente); formSection.setExpanded(true); // Inicio dos Botes de Adicionar e Remover ImgButton addEmail = new ImgButton(); addEmail.setSrc("[SKIN]actions/add.png"); addEmail.setSize(16); addEmail.setShowFocused(false); addEmail.setShowRollOver(false); addEmail.setShowDown(false); addEmail.setTooltip("Adicionar Email"); ImgButton addTelefone = new ImgButton(); addTelefone.setSrc("[SKIN]actions/add.png"); addTelefone.setSize(16); addTelefone.setShowFocused(false); addTelefone.setShowRollOver(false); addTelefone.setShowDown(false); addTelefone.setTooltip("Adicionar Telefone"); ImgButton addEndereco = new ImgButton(); addEndereco.setSrc("[SKIN]actions/add.png"); addEndereco.setSize(16); addEndereco.setShowFocused(false); addEndereco.setShowRollOver(false); addEndereco.setShowDown(false); addEndereco.setTooltip("Adicionar Endereo"); ImgButton addUsuario = new ImgButton(); addUsuario.setSrc("[SKIN]actions/add.png"); addUsuario.setSize(16); addUsuario.setShowFocused(false); addUsuario.setShowRollOver(false); addUsuario.setShowDown(false); addUsuario.setTooltip("Adicionar Usurio"); // FIm dos Botes de Adicionar final ListGridField codigoEnd = new ListGridField("codigo", "Cdigo"); codigoEnd.setHidden(true); final ListGridField descricaoEndereco = new ListGridField("descricao", "Descrio"); descricaoEndereco.setWidth(150); final ListGridField logradouro = new ListGridField("logradouro", "Logradouro"); logradouro.setWidth(200); final ListGridField numero = new ListGridField("numero", "N"); numero.setWidth(50); final ListGridField bairro = new ListGridField("bairro", "Bairro"); final ListGridField cep = new ListGridField("cep", "CEP"); cep.setWidth(60); final ListGridField estado = new ListGridField("estado", "UF"); final ListGridField estadoCod = new ListGridField("estadoCod", "EstadoCod"); estadoCod.setHidden(true); final ListGridField cidade = new ListGridField("cidade", "Cidade"); final ListGridField cidadeCod = new ListGridField("cidadeCod", "CidadeCod"); cidadeCod.setHidden(true); final ListGridField referencia = new ListGridField("referencia", "Referncia"); referencia.setRequired(true); final ListGridField editarEnd = new ListGridField("editar", "Editar"); editarEnd.setWidth(35); final ListGridField excluirEnd = new ListGridField("excluir", "Excluir"); excluirEnd.setAlign(Alignment.CENTER); excluirEnd.setWidth(40); final ListGrid listEndereco = new ListGrid() { @Override protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) { String fieldName = this.getFieldName(colNum); final ListGrid listAux = this; //GWT.log("dentro da subinscrio"); if (fieldName.equals("editar")) { //GWT.log("dentro do IF"); HLayout recordCanvas = new HLayout(3); recordCanvas.setHeight(22); recordCanvas.setWidth100(); recordCanvas.setAlign(Alignment.CENTER); ImgButton editImg = new ImgButton(); editImg.setShowDown(false); editImg.setShowRollOver(false); editImg.setLayoutAlign(Alignment.CENTER); editImg.setSrc("[SKIN]actions/edit.png"); editImg.setPrompt("Editar endereo"); editImg.setHeight(16); editImg.setWidth(16); editImg.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { EditarEndereco editEnd = new EditarEndereco(clienteEdicao, record, listAux, enderecosTabBuscaCliente); editEnd.setAnimateTime(1200); editEnd.animateShow(AnimationEffect.FADE); } }); recordCanvas.addMember(editImg); return recordCanvas; } else if (fieldName.equals("excluir") && listAux.getRecordIndex(record) > 0) { HLayout recordCanvas = new HLayout(3); recordCanvas.setHeight(22); recordCanvas.setWidth100(); recordCanvas.setAlign(Alignment.CENTER); ImgButton excluirImg = new ImgButton(); excluirImg.setShowDown(false); excluirImg.setShowRollOver(false); excluirImg.setLayoutAlign(Alignment.CENTER); excluirImg.setSrc("[SKIN]actions/remove.png"); excluirImg.setPrompt("Excluir endereo"); excluirImg.setHeight(16); excluirImg.setWidth(16); excluirImg.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final Window janelaCarregando = new Window(); janelaCarregando.setShowTitle(false); janelaCarregando.setWidth(100); janelaCarregando.setHeight(50); janelaCarregando.setShowEdges(false); janelaCarregando.setShowCloseButton(false); janelaCarregando.setShowMinimizeButton(false); janelaCarregando.setIsModal(true); janelaCarregando.setShowModalMask(true); janelaCarregando.centerInPage(); janelaCarregando.setLayoutAlign(Alignment.CENTER); final Label mensagem = new Label("Carregando.."); mensagem.setHeight(16); new Timer() { public void run() { if (contador != 100) { //destroy(); contador += 1 + (int) (5 * Math.random()); schedule(1 + (int) (50 * Math.random())); mensagem.setContents("Carregando: " + contador + "%"); //GWT.log("!=100: "+contador); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateShow(AnimationEffect.FADE); if (contador >= 100) { mensagem.setContents("Carregando: 100%"); // GWT.log("" + clienteEdicaoAuxiliar.size()); //GWT.log(""+record.getAttribute("codigo")); int linhaClicada = listAux.getRecordIndex(record); listAux.selectRecord(linhaClicada); listAux.removeSelectedData(); int num = clienteEdicaoAuxiliar.size(); int removidos = 0; for (int i = 0; i < num; i++) { TreeMap<String, String> endEditado = clienteEdicaoAuxiliar .get(i - removidos); if (record.getAttribute("codigo") .equalsIgnoreCase(endEditado.get("codEndereco"))) { clienteEdicaoAuxiliar.remove(endEditado); removidos++; } } Info.dbService.deletarEndereco( Integer.parseInt(record.getAttribute("codigo")), 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 enderecoDeletado) { if (enderecoDeletado == true) { SC.say("Endereo excluido com sucesso!"); } else { SC.say("ERRO ao excluir endereo!"); } } }); clienteEdicao.put(clienteEdicaoAuxiliar.get(0).get("codCliente"), clienteEdicaoAuxiliar); //listEndBuscaCliente.refreshRow(linhaClicada); enderecosTabBuscaCliente.selectRecord(linhaClicada); enderecosTabBuscaCliente.removeSelectedData(); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateHide(AnimationEffect.FADE); contador = 100; janelaCarregando.destroy(); } } else { contador = 0; } } }.schedule(50); } }); recordCanvas.addMember(excluirImg); return recordCanvas; } else { return null; } } }; listEndereco.setCanPickFields(false); listEndereco.setFields(codigoEnd, descricaoEndereco, logradouro, numero, bairro, cep, cidade, cidadeCod, estado, estadoCod, referencia, editarEnd, excluirEnd); final SectionStackSection enderecoSection = new SectionStackSection(); enderecoSection.setTitle("Endereos"); enderecoSection.setItems(listEndereco); enderecoSection.setControls(addEndereco); enderecoSection.setExpanded(true); //Adicionando endereco na ListGrid ArrayList<TreeMap<String, String>> enderecos = clienteEdicao.get(clienteEdicao.firstKey()); TreeMap<String, String> endAuxiliar = new TreeMap<String, String>(); for (TreeMap<String, String> ende : enderecos) { if (enderecos.get(0).get("codEndereco") != null && endAuxiliar.get(ende.get("codEndereco")) == null) { Record novoEnd = new Record(); novoEnd.setAttribute("codigo", ende.get("codEndereco")); novoEnd.setAttribute("descricao", ende.get("descricaoEndereco")); novoEnd.setAttribute("logradouro", ende.get("logradouro")); novoEnd.setAttribute("numero", ende.get("numeroEndereco")); novoEnd.setAttribute("bairro", ende.get("bairro")); novoEnd.setAttribute("cep", ende.get("cep")); novoEnd.setAttribute("cidadeCod", ende.get("codCidade")); novoEnd.setAttribute("cidade", ende.get("nomeCidade")); novoEnd.setAttribute("estadoCod", ende.get("codEstado")); novoEnd.setAttribute("estado", ende.get("estadoUf")); novoEnd.setAttribute("referencia", ende.get("referenciaEndereco")); listEndereco.addData(novoEnd); endAuxiliar.put(ende.get("codEndereco"), ende.get("codEndereco")); } } listEndereco.setShowRecordComponents(true); listEndereco.setShowRecordComponentsByCell(true); listEndereco.setShowAllRecords(true); listEndereco.setCanResizeFields(true); //criando coluna para grid telefone ListGridField codigoTel = new ListGridField("codigo", "Cdigo"); codigoTel.setHidden(true); ListGridField descricaoTelefone = new ListGridField("descricao", "Descrio"); descricaoTelefone.setAlign(Alignment.CENTER); ListGridField telefone = new ListGridField("numero", "Nmero"); telefone.setAlign(Alignment.CENTER); ListGridField editarTel = new ListGridField("editar", "Editar"); editarTel.setAlign(Alignment.CENTER); editarTel.setWidth(35); final ListGridField excluirTel = new ListGridField("excluir", "Excluir"); excluirTel.setAlign(Alignment.CENTER); excluirTel.setWidth(40); //adicionando na lista grid de telefones final ListGrid listTelefone = new ListGrid() { @Override protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) { String fieldName = this.getFieldName(colNum); final ListGrid listAux = this; if (fieldName.equals("editar")) { HLayout recordCanvas = new HLayout(3); recordCanvas.setHeight(22); recordCanvas.setWidth100(); recordCanvas.setAlign(Alignment.CENTER); ImgButton editImg = new ImgButton(); editImg.setShowDown(false); editImg.setShowRollOver(false); editImg.setLayoutAlign(Alignment.CENTER); editImg.setSrc("[SKIN]actions/edit.png"); editImg.setPrompt("Editar telefone"); editImg.setHeight(16); editImg.setWidth(16); editImg.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { EditarTelefone editTel = new EditarTelefone(clienteEdicao, record, listAux, telefonesTabBuscaCliente); editTel.setAnimateTime(1200); editTel.animateShow(AnimationEffect.FADE); } }); recordCanvas.addMember(editImg); return recordCanvas; } else if (fieldName.equals("excluir") && listAux.getRecordIndex(record) > 0) { HLayout recordCanvas = new HLayout(3); recordCanvas.setHeight(22); recordCanvas.setWidth100(); recordCanvas.setAlign(Alignment.CENTER); ImgButton excluirImg = new ImgButton(); excluirImg.setShowDown(false); excluirImg.setShowRollOver(false); excluirImg.setLayoutAlign(Alignment.CENTER); excluirImg.setSrc("[SKIN]actions/remove.png"); excluirImg.setPrompt("Excluir telefone"); excluirImg.setHeight(16); excluirImg.setWidth(16); excluirImg.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final Window janelaCarregando = new Window(); janelaCarregando.setShowTitle(false); janelaCarregando.setWidth(100); janelaCarregando.setHeight(50); janelaCarregando.setShowEdges(false); janelaCarregando.setShowCloseButton(false); janelaCarregando.setShowMinimizeButton(false); janelaCarregando.setIsModal(true); janelaCarregando.setShowModalMask(true); janelaCarregando.centerInPage(); janelaCarregando.setLayoutAlign(Alignment.CENTER); final Label mensagem = new Label("Carregando.."); mensagem.setHeight(16); new Timer() { public void run() { if (contador != 100) { //destroy(); contador += 1 + (int) (5 * Math.random()); schedule(1 + (int) (50 * Math.random())); mensagem.setContents("Carregando: " + contador + "%"); //GWT.log("!=100: "+contador); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateShow(AnimationEffect.FADE); if (contador >= 100) { mensagem.setContents("Carregando: 100%"); // GWT.log("" + clienteEdicaoAuxiliar.size()); //(""+record.getAttribute("codigo")); int linhaClicada = listAux.getRecordIndex(record); listAux.selectRecord(linhaClicada); listAux.removeSelectedData(); //listAux.refreshRow(listAux.getRecordIndex(record)); int num = clienteEdicaoAuxiliar.size(); int removidos = 0; for (int i = 0; i < num; i++) { TreeMap<String, String> endEditado = clienteEdicaoAuxiliar .get(i - removidos); if (record.getAttribute("codigo") .equalsIgnoreCase(endEditado.get("codFone"))) { clienteEdicaoAuxiliar.remove(endEditado); removidos++; } } Info.dbService.deletarFone( Integer.parseInt(record.getAttribute("codigo")), 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 enderecoDeletado) { if (enderecoDeletado == true) { SC.say("Telefone excluido com sucesso!"); } else { SC.say("ERRO ao excluir telefone!"); } } }); clienteEdicao.put(clienteEdicaoAuxiliar.get(0).get("codCliente"), clienteEdicaoAuxiliar); //GWT.log("" + clienteEdicaoAuxiliar.size()); telefonesTabBuscaCliente.selectRecord(linhaClicada); telefonesTabBuscaCliente.removeSelectedData(); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateHide(AnimationEffect.FADE); contador = 100; janelaCarregando.destroy(); } } else { contador = 0; } } }.schedule(50); } }); recordCanvas.addMember(excluirImg); return recordCanvas; } else { return null; } } }; listTelefone.setFields(codigoTel, descricaoTelefone, telefone, editarTel, excluirTel); listTelefone.setCanPickFields(false); listTelefone.setShowRecordComponents(true); listTelefone.setShowRecordComponentsByCell(true); listTelefone.setShowAllRecords(true); listTelefone.setCanResizeFields(true); final SectionStackSection telefoneSection = new SectionStackSection(); telefoneSection.setTitle("Telefones"); telefoneSection.setItems(listTelefone); telefoneSection.setControls(addTelefone); telefoneSection.setExpanded(true); ArrayList<TreeMap<String, String>> telefones = clienteEdicao.get(clienteEdicao.firstKey()); TreeMap<String, String> telAuxiliar = new TreeMap<String, String>(); for (TreeMap<String, String> tels : telefones) { if (telefones.get(0).get("codFone") != null && telAuxiliar.get(tels.get("codFone")) == null) { Record novoTel = new Record(); novoTel.setAttribute("codigo", tels.get("codFone")); novoTel.setAttribute("descricao", tels.get("descricaoFone")); novoTel.setAttribute("numero", Info.formataTelefone(tels.get("numeroFone"))); listTelefone.addData(novoTel); telAuxiliar.put(tels.get("codFone"), tels.get("codFone")); } } ListGridField codEmail = new ListGridField("codigo", "Cdigo"); codEmail.setHidden(true); ListGridField descricaoEmail = new ListGridField("descricao", "Descrio"); descricaoEmail.setAlign(Alignment.CENTER); //Coluna Email ListGridField email = new ListGridField("email", "Email"); email.setAlign(Alignment.CENTER); ListGridField editarEmail = new ListGridField("editar", "Editar"); editarEmail.setAlign(Alignment.CENTER); editarEmail.setWidth(35); final ListGridField excluirEmail = new ListGridField("excluir", "Excluir"); excluirEmail.setAlign(Alignment.CENTER); excluirEmail.setWidth(40); //cria grid Emails final ListGrid listEmail = new ListGrid() { @Override protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) { String fieldName = this.getFieldName(colNum); final ListGrid listAux = this; if (fieldName.equals("editar")) { HLayout recordCanvas = new HLayout(3); recordCanvas.setHeight(22); recordCanvas.setWidth100(); recordCanvas.setAlign(Alignment.CENTER); ImgButton editImg = new ImgButton(); editImg.setShowDown(false); editImg.setShowRollOver(false); editImg.setLayoutAlign(Alignment.CENTER); editImg.setSrc("[SKIN]actions/edit.png"); editImg.setPrompt("Editar email"); editImg.setHeight(16); editImg.setWidth(16); editImg.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { EditarEmail editarEmail = new EditarEmail(clienteEdicao, record, listAux, emailsTabBuscaCliente); editarEmail.setAnimateTime(1200); editarEmail.animateShow(AnimationEffect.FADE); } }); recordCanvas.addMember(editImg); return recordCanvas; } else if (fieldName.equals("excluir")) { HLayout recordCanvas = new HLayout(3); recordCanvas.setHeight(22); recordCanvas.setWidth100(); recordCanvas.setAlign(Alignment.CENTER); ImgButton excluirImg = new ImgButton(); excluirImg.setShowDown(false); excluirImg.setShowRollOver(false); excluirImg.setLayoutAlign(Alignment.CENTER); excluirImg.setSrc("[SKIN]actions/remove.png"); excluirImg.setPrompt("Excluir email"); excluirImg.setHeight(16); excluirImg.setWidth(16); excluirImg.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { 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%"); //GWT.log("" + clienteEdicaoAuxiliar.size()); //GWT.log(""+record.getAttribute("codigo")); int linhaClicada = listAux.getRecordIndex(record); listAux.selectRecord(linhaClicada); listAux.removeSelectedData(); //listAux.refreshRow(listAux.getRecordIndex(record)); ArrayList<TreeMap<String, String>> editor = clienteEdicao .get(clienteEdicao.firstKey()); for (TreeMap<String, String> editado : editor) { if (record.getAttribute("codigo") .equalsIgnoreCase(editado.get("codEmail"))) { editado.put("codEmail", null); editado.put("descricaoEmail", null); editado.put("email", null); ; } } clienteEdicao.put(editor.get(0).get("codCliente"), editor); Info.dbService.deletarEmail( Integer.parseInt(record.getAttribute("codigo")), 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 enderecoDeletado) { if (enderecoDeletado == true) { SC.say("Email excluido com sucesso!"); } else { SC.say("ERRO ao excluir email!"); } } }); //clienteEdicao.put(clienteEdicaoAuxiliar.get(0).get("codCliente"), clienteEdicaoAuxiliar); //GWT.log("" + clienteEdicao); emailsTabBuscaCliente.selectRecord(linhaClicada); emailsTabBuscaCliente.removeSelectedData(); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateHide(AnimationEffect.FADE); contador = 100; janelaCarregando.destroy(); } } else { contador = 0; } } }.schedule(50); } }); recordCanvas.addMember(excluirImg); return recordCanvas; } else { return null; } } }; listEmail.setCanPickFields(false); listEmail.setFields(codEmail, descricaoEmail, email, editarEmail, excluirEmail); listEmail.setShowRecordComponents(true); listEmail.setShowRecordComponentsByCell(true); listEmail.setShowAllRecords(true); listEmail.setCanResizeFields(true); //cria a sections email que ir guardar a grid de emails final SectionStackSection emailSection = new SectionStackSection(); emailSection.setTitle("Emails"); emailSection.setItems(listEmail); emailSection.setControls(addEmail); emailSection.setExpanded(true); ArrayList<TreeMap<String, String>> emails = clienteEdicao.get(clienteEdicao.firstKey()); TreeMap<String, String> emailAuxiliar = new TreeMap<String, String>(); int i = 0; for (TreeMap<String, String> ems : emails) { if (emails.get(i).get("codEmail") != null) { if (emailAuxiliar.get(ems.get("codEmail")) == null) { Record novoEmail = new Record(); novoEmail.setAttribute("codigo", ems.get("codEmail")); novoEmail.setAttribute("descricao", ems.get("descricaoEmail")); novoEmail.setAttribute("email", ems.get("email")); listEmail.addData(novoEmail); emailAuxiliar.put(ems.get("codEmail"), ems.get("codEmail")); } i = i + 1; } else { i = i + 1; } } ListGridField codUsuario = new ListGridField("codigo", "Cdigo"); codUsuario.setHidden(true); ListGridField gridUsuario = new ListGridField("usuario", "Usurio"); gridUsuario.setAlign(Alignment.CENTER); ListGridField gridSenha = new ListGridField("senha", "Senha"); gridSenha.setAlign(Alignment.CENTER); final ListGridField statusCod = new ListGridField("statusCod", "Status"); statusCod.setHidden(true); final ListGridField status = new ListGridField("status", "Status"); final ListGridField codGrupo = new ListGridField("codGrupo", "cdigoGrupo"); codGrupo.setHidden(true); final ListGridField grupo = new ListGridField("grupo", "grupo"); final ListGridField reset = new ListGridField("resetUsuario", "Reset"); final ListGridField resetCod = new ListGridField("resetCod", "Reset"); resetCod.setHidden(true); ListGridField editarUsuario = new ListGridField("editar", "Editar"); editarUsuario.setAlign(Alignment.CENTER); editarUsuario.setWidth(35); final ListGridField excluirUsuario = new ListGridField("excluir", "Excluir"); excluirUsuario.setAlign(Alignment.CENTER); excluirUsuario.setWidth(40); final ListGrid listUsuario = new ListGrid() { @Override protected Canvas createRecordComponent(final ListGridRecord record, Integer colNum) { String fieldName = this.getFieldName(colNum); final ListGrid listAux = this; if (fieldName.equals("editar")) { HLayout recordCanvas = new HLayout(3); recordCanvas.setHeight(22); recordCanvas.setWidth100(); recordCanvas.setAlign(Alignment.CENTER); ImgButton editImg = new ImgButton(); editImg.setShowDown(false); editImg.setShowRollOver(false); editImg.setLayoutAlign(Alignment.CENTER); editImg.setSrc("[SKIN]actions/edit.png"); editImg.setPrompt("Editar usurio"); editImg.setHeight(16); editImg.setWidth(16); editImg.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { EditarUsuario editarUsuario = new EditarUsuario(clienteEdicao, record, listAux, usuariosTabBuscaCliente); editarUsuario.setAnimateTime(1200); editarUsuario.animateShow(AnimationEffect.FADE); } }); recordCanvas.addMember(editImg); return recordCanvas; } else if (fieldName.equals("excluir") && listAux.getRecordIndex(record) > 0) { HLayout recordCanvas = new HLayout(3); recordCanvas.setHeight(22); recordCanvas.setWidth100(); recordCanvas.setAlign(Alignment.CENTER); ImgButton excluirImg = new ImgButton(); excluirImg.setShowDown(false); excluirImg.setShowRollOver(false); excluirImg.setLayoutAlign(Alignment.CENTER); excluirImg.setSrc("[SKIN]actions/remove.png"); excluirImg.setPrompt("Excluir usurio"); excluirImg.setHeight(16); excluirImg.setWidth(16); excluirImg.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { final Window janelaCarregando = new Window(); janelaCarregando.setShowTitle(false); janelaCarregando.setWidth(100); janelaCarregando.setHeight(50); janelaCarregando.setShowEdges(false); janelaCarregando.setShowCloseButton(false); janelaCarregando.setShowMinimizeButton(false); janelaCarregando.setIsModal(true); janelaCarregando.setShowModalMask(true); janelaCarregando.centerInPage(); janelaCarregando.setLayoutAlign(Alignment.CENTER); final Label mensagem = new Label("Carregando.."); mensagem.setHeight(16); new Timer() { public void run() { if (contador != 100) { //destroy(); contador += 1 + (int) (5 * Math.random()); schedule(1 + (int) (50 * Math.random())); mensagem.setContents("Carregando: " + contador + "%"); //GWT.log("!=100: "+contador); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateShow(AnimationEffect.FADE); if (contador >= 100) { mensagem.setContents("Carregando: 100%"); //GWT.log("" + clienteEdicaoAuxiliar.size()); //GWT.log(""+record.getAttribute("codigo")); int linhaClicada = listAux.getRecordIndex(record); listAux.selectRecord(linhaClicada); listAux.removeSelectedData(); //listAux.refreshRow(listAux.getRecordIndex(record)); int num = clienteEdicaoAuxiliar.size(); int removidos = 0; if (num > 1) { for (int i = 0; i < num; i++) { TreeMap<String, String> endEditado = clienteEdicaoAuxiliar .get(i - removidos); if (record.getAttribute("codigo") .equalsIgnoreCase(endEditado.get("codUsuario"))) { clienteEdicaoAuxiliar.remove(endEditado); removidos++; } } } Info.dbService.deletarUsuario( Integer.parseInt(record.getAttribute("codigo")), 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 enderecoDeletado) { if (enderecoDeletado == true) { SC.say("Usurio excluido com sucesso!"); } else { SC.say("ERRO ao excluir usurio!"); } } }); clienteEdicao.put(clienteEdicaoAuxiliar.get(0).get("codCliente"), clienteEdicaoAuxiliar); usuariosTabBuscaCliente.selectRecord(linhaClicada); usuariosTabBuscaCliente.removeSelectedData(); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateHide(AnimationEffect.FADE); contador = 100; janelaCarregando.destroy(); } } else { contador = 0; } } }.schedule(50); } }); recordCanvas.addMember(excluirImg); return recordCanvas; } else { return null; } } }; listUsuario.setCanPickFields(false); listUsuario.setFields(codUsuario, gridUsuario, gridSenha, status, codGrupo, grupo, reset, resetCod, editarUsuario, excluirUsuario); listUsuario.setShowRecordComponents(true); listUsuario.setShowRecordComponentsByCell(true); listUsuario.setShowAllRecords(true); listUsuario.setCanResizeFields(true); final SectionStackSection usuarioSection = new SectionStackSection(); usuarioSection.setTitle("Usurios"); usuarioSection.setItems(listUsuario); usuarioSection.setControls(addUsuario); usuarioSection.setExpanded(true); ArrayList<TreeMap<String, String>> usuarios = clienteEdicao.get(clienteEdicao.firstKey()); TreeMap<String, String> usuarioAuxiliar = new TreeMap<String, String>(); if (usuarios.get(0).get("codUsuario") != null) { for (TreeMap<String, String> users : usuarios) { if (usuarioAuxiliar.get(users.get("codUsuario")) == null) { Record novoUser = new Record(); novoUser.setAttribute("codigo", users.get("codUsuario")); novoUser.setAttribute("usuario", users.get("usuario")); novoUser.setAttribute("senha", users.get("senha")); novoUser.setAttribute("statusCod", users.get("ativoUsuario")); novoUser.setAttribute("status", ((users.get("ativoUsuario").equalsIgnoreCase("t")) ? "Ativo" : "Bloqueado")); novoUser.setAttribute("codGrupo", users.get("codGrupo")); novoUser.setAttribute("grupo", users.get("nomeGrupo")); novoUser.setAttribute("resetUsuario", ((users.get("resetUsuario").equalsIgnoreCase("t")) ? "Resetado" : "Resetar")); novoUser.setAttribute("resetCod", users.get("resetUsuario")); listUsuario.addData(novoUser); //GWT.log("reset: "+users.get("resetUsuario")); usuarioAuxiliar.put(users.get("codUsuario"), users.get("codUsuario")); } } } if (tipoPessoa.getValue().equals("2")) { dadosPessoais.setDefaultValue("Dados da Empresa"); dadosPessoais.setSectionExpanded(true); nomeRazaoSocial.redraw(); nomeRazaoSocial.setName("razao"); nomeRazaoSocial.setTitle("Razo Social"); nomeRazaoSocial.setKeyPressFilter("[a-zA-Z? 0-9]"); cpfCnpj.redraw(); cpfCnpj.setName("cnpj"); cpfCnpj.setTitle("CNPJ"); cpfCnpj.setMask("##.###.###/####-##"); dataNascAbertura.redraw(); dataNascAbertura.setName("dataAbertura"); dataNascAbertura.setTitle("Data de Abertura."); profissaoResponsavel.redraw(); profissaoResponsavel.setName("responsavel"); profissaoResponsavel.setTitle("Responsvel"); empresaCargo.redraw(); empresaCargo.setName("cargo"); empresaCargo.setTitle("Cargo"); } else { dadosPessoais.setDefaultValue("Dados Pessoais"); dadosPessoais.setSectionExpanded(true); nomeRazaoSocial.redraw(); nomeRazaoSocial.setName("nome"); nomeRazaoSocial.setTitle("Nome"); nomeRazaoSocial.setKeyPressFilter("[a-zA-Z? ]"); cpfCnpj.redraw(); cpfCnpj.setTitle("CPF"); cpfCnpj.setName("cpf"); cpfCnpj.setMask("###.###.###-##"); dataNascAbertura.redraw(); dataNascAbertura.setTitle("Data de Nasc."); dataNascAbertura.setName("dataNasc"); profissaoResponsavel.redraw(); profissaoResponsavel.setName("profissao"); profissaoResponsavel.setTitle("Profisso"); empresaCargo.redraw(); empresaCargo.setName("empresa"); empresaCargo.setTitle("Empresa"); } //Desenha o formulrio com todos os itens na tab Novo Cliente. formEditarCliente.setFields(unidade, datadeAdesao, tipoPessoa, dadosPessoais, nomeRazaoSocial, cpfCnpj, dataNascAbertura, profissaoResponsavel, empresaCargo); //Ao do boto para adicionar nova linha na ListGrid Endereo addEndereco.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { EditarNovoEndereco dialogEndereco = new EditarNovoEndereco(clienteEdicao, listEndereco, enderecosTabBuscaCliente); dialogEndereco.setAnimateTime(1200); dialogEndereco.animateShow(AnimationEffect.FADE); } }); //Ao do boto para adicionar nova linha na ListGrid Telefone addTelefone.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { EditarNovoTelefone novoTel = new EditarNovoTelefone(clienteEdicao, listTelefone, telefonesTabBuscaCliente); novoTel.setAnimateTime(1200); novoTel.animateShow(AnimationEffect.FADE); } }); //Ao do boto para adicionar nova linha na ListGrid Email addEmail.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { EditarNovoEmail novoEmail = new EditarNovoEmail(clienteEdicao, listEmail, emailsTabBuscaCliente); novoEmail.setAnimateTime(1200); novoEmail.animateShow(AnimationEffect.FADE); } }); //Ao do boto para adicionar nova linha na ListGrid Usurio addUsuario.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { EditarNovoUsuario dialogNovoUser = new EditarNovoUsuario(clienteEdicao, listUsuario, usuariosTabBuscaCliente); dialogNovoUser.setAnimateTime(1200); dialogNovoUser.animateShow(AnimationEffect.FADE); } }); salvar.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (formEditarCliente.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) (5 * Math.random())); mensagem.setContents("Carregando: " + contador + "%"); //GWT.log("!=100: "+contador); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateShow(AnimationEffect.FADE); if (contador >= 100) { ArrayList<TreeMap<String, String>> editor = clienteEdicao .get(clienteEdicao.firstKey()); for (TreeMap<String, String> editado : editor) { if (editado.get("codCliente").equalsIgnoreCase(clienteEdicao.firstKey())) { editado.put("codCliente", clienteEdicao.firstKey()); editado.put("codUnidade", unidade.getValueAsString()); editado.put("nomeCliente", nomeRazaoSocial.getValueAsString()); editado.put("dataAdesao", String.valueOf(datadeAdesao.getValueAsDate().getTime())); editado.put("tipoCliente", tipoPessoa.getValueAsString()); } } clienteEdicao.put(editor.get(0).get("codCliente"), editor); //GWT.log("Cliente edit:" + clienteEdicao); TreeMap<String, String> clienteEditado = new TreeMap<String, String>(); clienteEditado.put("codCliente", clienteEdicao.firstKey()); clienteEditado.put("unidadeCodUnidade", unidade.getValueAsString()); clienteEditado.put("nome", nomeRazaoSocial.getValueAsString()); Date dataAdesao = datadeAdesao.getValueAsDate(); clienteEditado.put("tipo", tipoPessoa.getValueAsString()); Info.dbService.alterarCliente(clienteEditado, dataAdesao, 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 clienteEditadoBD) { //GWT.log("" + clienteEditadoBD); if (clienteEditadoBD == true) { if (clienteEdicao.get(clienteEdicao.firstKey()).get(0) .get("tipoCliente").equals("1")) { TreeMap<String, String> pessoaEditada = new TreeMap<String, String>(); pessoaEditada.put("codCliente", clienteEdicao.firstKey()); pessoaEditada.put("codPessoa", clienteEdicao.get(clienteEdicao.firstKey()) .get(0).get("codPessoa")); pessoaEditada.put("cpf", cpfCnpj.getValueAsString()); Date dataNascimento = dataNascAbertura.getValueAsDate(); pessoaEditada.put("profissao", profissaoResponsavel.getValueAsString()); pessoaEditada.put("empresa", empresaCargo.getValueAsString()); //GWT.log("antes do mtodo alterarPessoa"); Info.dbService.alterarPessoa(pessoaEditada, dataNascimento, 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 resultPessoaEditada) { if (resultPessoaEditada == true) { // GWT.log("Linha 1"); ArrayList<TreeMap<String, String>> editor = clienteEdicao .get(clienteEdicao .firstKey()); //GWT.log("Linha 2"); //GWT.log("" + clienteEdicao.firstKey()); for (TreeMap<String, String> editado : editor) { //GWT.log("Linha 3"); //GWT.log("codCliente: " + editado.get("codCliente")); if (editado.get("codCliente") .equalsIgnoreCase( clienteEdicao .firstKey())) { //GWT.log("Linha: " + clienteEdicao.get(clienteEdicao.firstKey()).get(0).get("codPessoa")); editado.put("codPessoa", clienteEdicao.get( clienteEdicao .firstKey()) .get(0) .get("codPessoa")); editado.put("cpf", cpfCnpj .getValueAsString()); editado.put("dataNasc", String.valueOf( dataNascAbertura .getValueAsDate() .getTime())); editado.put("profissao", profissaoResponsavel .getValueAsString()); editado.put( "trabalhoPessoa", empresaCargo .getValueAsString()); } } clienteEdicao.put( editor.get(0) .get("codCliente"), editor); //GWT.log("Cliente Pessoa: " + clienteEdicao); dadosClienteTabBuscaCliente .selectAllRecords(); dadosClienteTabBuscaCliente .removeSelectedData(); Record cliente = new Record(); cliente.setAttribute("codigo", clienteEdicao.firstKey()); cliente.setAttribute("nome", nomeRazaoSocial .getValueAsString()); cliente.setAttribute("cpf", Info.formataCPF(cpfCnpj .getValueAsString())); cliente.setAttribute("dataNasc", dataNascAbertura .getValueAsDate()); cliente.setAttribute("dataAdesao", datadeAdesao .getValueAsDate()); cliente.setAttribute("unidade", unidade.getDisplayValue()); dadosClienteTabBuscaCliente .addData(cliente); //SC.say("Cliente pessoa atualizado com sucesso"); } } }); } else { if (clienteEdicao.get(clienteEdicao.firstKey()).get(0) .get("tipoCliente").equals("2")) { TreeMap<String, String> pessoaEditada = new TreeMap<String, String>(); pessoaEditada.put("codCliente", clienteEdicao.firstKey()); pessoaEditada.put("codEmpresa", clienteEdicao.get(clienteEdicao.firstKey()) .get(0).get("codEmpresa")); pessoaEditada.put("cnpj", cpfCnpj.getValueAsString()); Date dataAbertura = dataNascAbertura .getValueAsDate(); pessoaEditada.put("responsavel", profissaoResponsavel.getValueAsString()); pessoaEditada.put("cargo", empresaCargo.getValueAsString()); //GWT.log("antes do mtodo alterar Empresa"); Info.dbService.alterarEmpresa(pessoaEditada, dataAbertura, 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 resultPessoaEditada) { if (resultPessoaEditada == true) { //GWT.log("Linha 1 Empresa"); ArrayList<TreeMap<String, String>> editor = clienteEdicao .get(clienteEdicao .firstKey()); //GWT.log("Linha 2 Empresa"); //GWT.log("" + clienteEdicao.firstKey()); for (TreeMap<String, String> editado : editor) { //GWT.log("Linha 3 Empresa"); //GWT.log("codCliente: " + editado.get("codCliente")); if (editado .get("codCliente") .equalsIgnoreCase( clienteEdicao .firstKey())) { // GWT.log("Linha: " + clienteEdicao.get(clienteEdicao.firstKey()).get(0).get("codEmpresa")); editado.put( "codEmpresa", clienteEdicao .get(clienteEdicao .firstKey()) .get(0) .get("codEmpresa")); editado.put("cnpj", cpfCnpj.getValueAsString()); editado.put( "dataAbertura", String.valueOf( dataNascAbertura .getValueAsDate() .getTime())); editado.put( "responsavel", profissaoResponsavel .getValueAsString()); editado.put("cargo", empresaCargo .getValueAsString()); } } clienteEdicao.put( editor.get(0).get( "codCliente"), editor); //GWT.log("Cliente Empresa: " + clienteEdicao); dadosClienteTabBuscaCliente .selectAllRecords(); dadosClienteTabBuscaCliente .removeSelectedData(); Record cliente = new Record(); cliente.setAttribute("codigo", clienteEdicao .firstKey()); cliente.setAttribute("nome", nomeRazaoSocial .getValueAsString()); cliente.setAttribute("cnpj", Info.formataCNPJ(cpfCnpj .getValueAsString())); cliente.setAttribute( "dataAbert", dataNascAbertura .getValueAsDate()); cliente.setAttribute( "dataAdesao", datadeAdesao .getValueAsDate()); cliente.setAttribute("unidade", unidade.getDisplayValue()); dadosClienteTabBuscaCliente .addData(cliente); } } }); } } } else { SC.say("Erro ao alterar os dados do cliente!"); } } }); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateHide(AnimationEffect.FADE); SC.say("Cliente atualizado com sucesso"); contador = 100; janelaCarregando.destroy(); windAux.destroy(); } } else { contador = 0; } } }.schedule(50); } } }); novoCliente.setSections(formSection, enderecoSection, telefoneSection, emailSection, usuarioSection); novoCliente.setVisibilityMode(VisibilityMode.MULTIPLE); novoCliente.setAnimateSections(true); novoCliente.setWidth100(); novoCliente.setHeight100(); novoCliente.setOverflow(Overflow.VISIBLE); painelBotoes.addMember(salvar); painelNovoCliente.addMember(novoCliente); painelNovoCliente.addMember(painelBotoes); //Desenhando o formulrio na Tela painelPai.addMember(painelNovoCliente); //GWT.log(""+clienteEdicao.size()); addItem(painelPai); } }