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.cadastronovo; import com.automaster.client.Info; import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.data.Record; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.AnimationEffect; import com.smartgwt.client.types.CharacterCasing; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.Window; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.events.CloseClickEvent; import com.smartgwt.client.widgets.events.CloseClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.form.fields.TextAreaItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; import com.smartgwt.client.widgets.form.fields.events.ChangeHandler; import com.smartgwt.client.widgets.form.validator.LengthRangeValidator; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.layout.HLayout; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.TreeMap; /** * * @author Adriano */ public class EditarNovoEndereco extends Window { private int contador; private final SelectItem itemEstado = new SelectItem(); private final SelectItem itemCidade = new SelectItem("Cidade"); public EditarNovoEndereco(final TreeMap<String, ArrayList<TreeMap<String, String>>> clienteEdicao, final ListGrid listEnderecoEditarCliente, final ListGrid enderecosTabBuscaCliente) { //GWT.log("Editar Novo Endereo"); setTitle("Novo Endereo"); setWidth(500); setHeight(500); setShowMinimizeButton(false); setIsModal(true); setShowModalMask(true); centerInPage(); //setMargin(5); setLayoutAlign(Alignment.CENTER); final DynamicForm formNovoEndereco = new DynamicForm(); formNovoEndereco.setAutoFocus(true); Label label = new Label("<h3>Cadastrar Novo Endereo</h3>"); label.setAlign(Alignment.CENTER); label.setStyleName(scClassName); //criando radioGroup que o usurio escolhe o tipo de cliente a ser cadastrado final TextItem itemDescricao = new TextItem(); itemDescricao.setTitle("Descrio"); itemDescricao.setName("descricao"); itemDescricao.setKeyPressFilter("[a-zA-Z?? [0-9]"); if (listEnderecoEditarCliente.getRecordList().isEmpty()) { itemDescricao.setValue("ENDEREO DE COBRANA"); itemDescricao.disable(); } itemDescricao.setRequired(true); itemDescricao.setCharacterCasing(CharacterCasing.UPPER); itemDescricao.setWidth(300); LengthRangeValidator tamanhoTextItem = new LengthRangeValidator(); tamanhoTextItem.setMin(3); final TextItem itemLogradouro = new TextItem("Logradouro"); //itemLogradouro.setTitleOrientation(TitleOrientation.TOP); itemLogradouro.setKeyPressFilter("[a-zA-Z?? [0-9]"); itemLogradouro.setCharacterCasing(CharacterCasing.UPPER); itemLogradouro.setRequired(true); itemLogradouro.setWidth(300); itemLogradouro.setValidators(tamanhoTextItem); final TextItem itemNumero = new TextItem("N"); itemNumero.setKeyPressFilter("[a-zA-Z[0-9]"); //itemNumero.setTitleOrientation(TitleOrientation.TOP); itemNumero.setCharacterCasing(CharacterCasing.UPPER); itemNumero.setRequired(true); itemNumero.setWidth(50); final TextItem itemBairro = new TextItem("Bairro"); itemBairro.setKeyPressFilter("[a-zA-Z?? [0-9]"); itemBairro.setCharacterCasing(CharacterCasing.UPPER); itemBairro.setRequired(true); itemBairro.setValidators(tamanhoTextItem); itemBairro.setWidth(300); itemEstado.setTitle("Estado"); itemEstado.setName("estado"); itemEstado.setWidth(300); 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.setDefaultValue(true); itemEstado.setValue("14"); 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("2418"); } }); itemCidade.setWidth(300); 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); LengthRangeValidator tamanhoCep = new LengthRangeValidator(); tamanhoCep.setMin(9); final TextItem itemCep = new TextItem("CEP"); itemCep.setMask("#####-###"); itemCep.setMaskSaveLiterals(true); itemCep.setCharacterCasing(CharacterCasing.UPPER); itemCep.setValidators(tamanhoCep); itemCep.setRequired(true); final TextAreaItem itemReferencia = new TextAreaItem(); itemReferencia.setTitle("Referncia"); itemReferencia.setValidators(tamanhoTextItem); itemReferencia.setWidth(300); itemReferencia.setHeight(100); itemReferencia.setValue(""); addCloseClickHandler(new CloseClickHandler() { @Override public void onCloseClick(CloseClickEvent event) { destroy(); } }); 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.addMember(cadastrar); hButoes.addMember(limpar); cadastrar.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (formNovoEndereco.validate()) { contador = 0; final Window janelaCarregando = new Window(); janelaCarregando.setShowTitle(false); janelaCarregando.setWidth(100); janelaCarregando.setHeight(50); janelaCarregando.setShowEdges(false); janelaCarregando.setShowCloseButton(false); janelaCarregando.setShowMinimizeButton(false); janelaCarregando.setIsModal(true); janelaCarregando.setShowModalMask(true); janelaCarregando.centerInPage(); janelaCarregando.setLayoutAlign(Alignment.CENTER); final Label mensagem = new Label("Carregando.."); mensagem.setHeight(16); new Timer() { public void run() { if (contador != 100) { //destroy(); contador += 1 + (int) (5 * Math.random()); schedule(1 + (int) (50 * Math.random())); mensagem.setContents("Carregando: " + contador + "%"); //GWT.log("!=100: "+contador); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateShow(AnimationEffect.FADE); if (contador >= 100) { mensagem.setContents("Carregando: 100%"); //GWT.log("chave C: "+clienteEdicao.firstKey()); TreeMap<String, String> editarNovoEndereco = new TreeMap<String, String>(); //editarNovoEndereco.put("codEndereco", ""); editarNovoEndereco.put("codCliente", clienteEdicao.firstKey()); editarNovoEndereco.put("descricaoEndereco", itemDescricao.getValueAsString()); editarNovoEndereco.put("logradouro", itemLogradouro.getValueAsString()); editarNovoEndereco.put("numeroEndereco", itemNumero.getValueAsString()); editarNovoEndereco.put("bairro", itemBairro.getValueAsString()); editarNovoEndereco.put("codCidade", itemCidade.getValueAsString()); editarNovoEndereco.put("nomeCidade", itemCidade.getDisplayValue()); editarNovoEndereco.put("codEstado", itemEstado.getValueAsString()); editarNovoEndereco.put("estadoUf", itemEstado.getDisplayValue()); editarNovoEndereco.put("cep", itemCep.getValueAsString()); editarNovoEndereco.put("referenciaEndereco", itemReferencia.getValueAsString()); Info.dbService.cadastrarNovoEndereco(editarNovoEndereco, new AsyncCallback<Boolean>() { @Override public void onFailure(Throwable caught) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public void onSuccess(Boolean enderecoAdicionado) { if (enderecoAdicionado == true) { Info.dbService .buscarUltimoEndereco(new AsyncCallback<Integer>() { @Override public void onFailure(Throwable caught) { throw new UnsupportedOperationException( "Not supported yet. Busca Ultimo End adicionado"); //To change body of generated methods, choose Tools | Templates. } @Override public void onSuccess( Integer codUltimoEndereco) { if (codUltimoEndereco != 0) { ArrayList<TreeMap<String, String>> clienteDadosAtualizados = clienteEdicao .get(clienteEdicao.firstKey()); TreeMap<String, String> editarNovoEndereco = new TreeMap<String, String>(); editarNovoEndereco.put("nomeCliente", clienteDadosAtualizados.get(0) .get("nomeCliente")); editarNovoEndereco.put("dataAdesao", clienteDadosAtualizados.get(0) .get("dataAdesao")); editarNovoEndereco.put("tipoCliente", clienteDadosAtualizados.get(0) .get("tipoCliente")); editarNovoEndereco.put("codUnidade", clienteDadosAtualizados.get(0) .get("codUnidade")); editarNovoEndereco.put("nomeUnidade", clienteDadosAtualizados.get(0) .get("nomeUnidade")); editarNovoEndereco.put("codEndereco", String.valueOf( codUltimoEndereco)); editarNovoEndereco.put("codCliente", clienteEdicao.firstKey()); editarNovoEndereco.put( "descricaoEndereco", itemDescricao .getValueAsString()); editarNovoEndereco.put("logradouro", itemLogradouro .getValueAsString()); editarNovoEndereco.put("numeroEndereco", itemNumero.getValueAsString()); editarNovoEndereco.put("bairro", itemBairro.getValueAsString()); editarNovoEndereco.put("codCidade", itemCidade.getValueAsString()); editarNovoEndereco.put("nomeCidade", itemCidade.getDisplayValue()); editarNovoEndereco.put("codEstado", itemEstado.getValueAsString()); editarNovoEndereco.put("estadoUf", itemEstado.getDisplayValue()); editarNovoEndereco.put("cep", itemCep.getValueAsString()); editarNovoEndereco.put( "referenciaEndereco", itemReferencia .getValueAsString()); editarNovoEndereco.put("codFone", clienteDadosAtualizados.get(0) .get("codFone")); editarNovoEndereco.put("descricaoFone", clienteDadosAtualizados.get(0) .get("descricaoFone")); editarNovoEndereco.put("numeroFone", clienteDadosAtualizados.get(0) .get("numeroFone")); editarNovoEndereco.put("descricaoEmail", null); editarNovoEndereco.put("codEmail", null); editarNovoEndereco.put("email", null); editarNovoEndereco.put("codUsuario", clienteDadosAtualizados.get(0) .get("codUsuario")); editarNovoEndereco.put("usuario", clienteDadosAtualizados.get(0) .get("usuario")); editarNovoEndereco.put("senha", clienteDadosAtualizados.get(0) .get("senha")); editarNovoEndereco.put("ativoUsuario", clienteDadosAtualizados.get(0) .get("ativoUuario")); editarNovoEndereco.put("codGrupo", clienteDadosAtualizados.get(0) .get("codGrupo")); editarNovoEndereco.put("nomeGrupo", clienteDadosAtualizados.get(0) .get("nomeGrupo")); editarNovoEndereco.put("codEmpresa", clienteDadosAtualizados.get(0) .get("codEmpresa")); editarNovoEndereco.put("cnpj", clienteDadosAtualizados.get(0) .get("cnpj")); editarNovoEndereco.put("dataAbertura", clienteDadosAtualizados.get(0) .get("dataAbertura")); editarNovoEndereco.put("responsavel", clienteDadosAtualizados.get(0) .get("responsavel")); editarNovoEndereco.put("cargo", clienteDadosAtualizados.get(0) .get("cargo")); editarNovoEndereco.put("codPessoa", clienteDadosAtualizados.get(0) .get("codPessoa")); editarNovoEndereco.put("cpf", clienteDadosAtualizados.get(0) .get("cpf")); editarNovoEndereco.put("dataNasc", clienteDadosAtualizados.get(0) .get("dataNasc")); editarNovoEndereco.put("profissao", clienteDadosAtualizados.get(0) .get("profissao")); editarNovoEndereco.put("trabalhoPessoa", clienteDadosAtualizados.get(0) .get("trabalhoPessoa")); clienteDadosAtualizados .add(editarNovoEndereco); clienteEdicao.put( clienteEdicao.firstKey(), clienteDadosAtualizados); //GWT.log(""+clienteEdicao); //GWT.log(""+codUltimoEndereco); Record novoEnd = new Record(); novoEnd.setAttribute("codigo", String .valueOf(codUltimoEndereco)); novoEnd.setAttribute("descricao", itemDescricao .getValueAsString()); novoEnd.setAttribute("logradouro", itemLogradouro .getValueAsString()); novoEnd.setAttribute("numero", itemNumero.getValueAsString()); novoEnd.setAttribute("bairro", itemBairro.getValueAsString()); novoEnd.setAttribute("cep", itemCep.getValueAsString()); novoEnd.setAttribute("cidadeCod", itemCidade.getValueAsString()); novoEnd.setAttribute("cidade", itemCidade.getDisplayValue()); novoEnd.setAttribute("estadoCod", itemEstado.getValueAsString()); novoEnd.setAttribute("estado", itemEstado.getDisplayValue()); novoEnd.setAttribute("referencia", itemReferencia .getValueAsString()); listEnderecoEditarCliente .addData(novoEnd); enderecosTabBuscaCliente .addData(novoEnd); SC.say("Novo endereo cadastrado com sucesso"); } else { SC.warn("Erro ao buscar ultimo endereo cadastrado"); } } }); } else { GWT.log("Erro ao inserir o novo endereo!"); } } }); janelaCarregando.addItem(mensagem); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateHide(AnimationEffect.FADE); contador = 100; janelaCarregando.destroy(); } } else { contador = 0; } } }.schedule(50); //GWT.log(novoEnd.getAttribute("cidade")); destroy(); } } }); limpar.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (!listEnderecoEditarCliente.getRecordList().isEmpty()) { itemDescricao.clearValue(); } itemLogradouro.clearValue(); itemNumero.clearValue(); itemBairro.clearValue(); itemCep.clearValue(); itemReferencia.clearValue(); formNovoEndereco.focusInItem(itemLogradouro); } }); formNovoEndereco.setFields(itemDescricao, itemLogradouro, itemNumero, itemBairro, itemEstado, itemCidade, itemCep, itemReferencia); addItem(label); addItem(formNovoEndereco); addItem(hButoes); } }