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.cadastro; import com.automaster.client.Info; import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.AnimationEffect; import com.smartgwt.client.types.CharacterCasing; import com.smartgwt.client.types.DateDisplayFormat; import com.smartgwt.client.types.FormLayoutType; import com.smartgwt.client.types.Overflow; import com.smartgwt.client.types.VisibilityMode; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.ImgButton; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.DateItem; import com.smartgwt.client.widgets.form.fields.FormItemIcon; import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.types.MultipleAppearance; import com.smartgwt.client.types.TitleOrientation; import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.Window; import com.smartgwt.client.widgets.events.CloseClickEvent; import com.smartgwt.client.widgets.events.CloseClickHandler; import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; import com.smartgwt.client.widgets.form.fields.events.ChangeHandler; import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler; import com.smartgwt.client.widgets.form.fields.events.FormItemIconClickEvent; 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 NovoVeiculo extends Window { private int contador; int codigoUnidade = Integer.parseInt( (Info.usuarioLogado.get("codUnidadeCliente") == null) ? Info.usuarioLogado.get("codUnidadeFuncionario") : Info.usuarioLogado.get("codUnidadeCliente")); private final SelectItem itemEstado = new SelectItem(); private final SelectItem itemCidade = new SelectItem("Cidade"); private final SelectItem numeroParcelas = new SelectItem(); private final ListGrid listPadLig = new ListGrid(); private final ListGrid listPesAut = new ListGrid(); public NovoVeiculo(int codigoCliente, String nomeCliente) { final Window windAux = this; setTitle("Novo Veculo"); setWidth(1200); setHeight100(); setShowMinimizeButton(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 formNovoVeiculo = new DynamicForm(); formNovoVeiculo.setMargin(30); formNovoVeiculo.setLayoutAlign(Alignment.CENTER); formNovoVeiculo.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); tipoPlano.setValue(result.get(0).get("codPlano")); } else { pl.put("0", "No H plano cadastrado"); tipoPlano.setValue("0"); } } }); 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.setDisabled(true); cliente.setValueMap(cl); cliente.setHint("<nbr>*</nbr>"); cliente.setRequired(true); cliente.setWidth(450); final SelectItem equipamento = new SelectItem(); equipamento.setTitle("Equipamento"); equipamento.setName("equipamento"); Info.dbService.buscarTodosDisponiveis(codigoUnidade, 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> equip = new LinkedHashMap<>(); if (result != null) { equip.put("0", "Sem equipamento"); for (TreeMap<String, String> equipDisponiveis : result) { equip.put(equipDisponiveis.get("codEquipamento"), equipDisponiveis.get("id")); } equipamento.setValueMap(equip); } else { equip.put("0", "no h equipamento disponvel para esta unidade"); equipamento.setValueMap(equip); } } }); equipamento.setDefaultToFirstOption(true); equipamento.setHint("<nbr>*</nbr>"); equipamento.setRequired(true); equipamento.setWidth(450); final SelectItem instalador = new SelectItem(); instalador.setTitle("Instalador"); instalador.setName("instalador"); Info.dbService.buscarFuncionarioPorCargoUnidade(1, codigoUnidade, 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> inst = new LinkedHashMap<>(); if (result != null) { for (TreeMap<String, String> funcionario : result) { inst.put(funcionario.get("codFuncionario"), funcionario.get("nome")); } instalador.setValueMap(inst); } else { inst.put("0", "no h instalador cadastrado"); instalador.setValueMap(inst); } } }); instalador.setDefaultToFirstOption(true); 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>(); valueMapVeic.put("0", "Sem indicao"); indicado.setValueMap(valueMapVeic); indicado.setDefaultToFirstOption(true); //ndicado.setRequired(true); indicado.setTooltip("Adicionar Veculo que Indicou"); FormItemIcon icon = new FormItemIcon(); icon.setSrc("[SKIN]actions/add.png"); icon.setName("adicionarIndicacao"); 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.setLength(8); placa.setRequired(true); LengthRangeValidator tamanhoPlaca = new LengthRangeValidator(); tamanhoPlaca.setMin(8); placa.setHint("<nbr>*</nbr>"); placa.setValidators(tamanhoPlaca); //placa.setCharacterCasing(CharacterCasing.UPPER); placa.setWidth(450); 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("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(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); 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); 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); 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); 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); 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.setDefaultValue(new Date(System.currentTimeMillis())); 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); 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("00.00"); 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); } 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); 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 cadastrar = new IButton("Cadastrar"); cadastrar.setLayoutAlign(Alignment.CENTER); IButton limpar = new IButton("Limpar"); cadastrar.setLayoutAlign(Alignment.CENTER); final Label valorMensalidade = new Label(); valorMensalidade.setContents("<strong><h3>Valor da Mensalidade: R$59,90 </h3></strong>"); valorMensalidade.setAlign(Alignment.CENTER); final SectionStackSection formSection = new SectionStackSection(); formSection.setTitle("Dados do Veculo"); formSection.setItems(formNovoVeiculo, valorMensalidade); formSection.setExpanded(true); //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.setContents("<strong><h3>Valor da Mensalidade: R$59,90</h3></strong>"); desconto.setDefaultValue("00.00"); } else { valorMensalidade.setContents("<strong><h3>Valor da Mensalidade: R$74,90</h3></strong>"); desconto.setDefaultValue("00.00"); } } }); //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 corFio = new ListGridField("corFio", "Cor do Fio"); corFio.setAlign(Alignment.CENTER); //Coluna sinal ListGridField sinal = new ListGridField("sinal", "Sinal"); sinal.setAlign(Alignment.CENTER); sinal.setHidden(true); ListGridField sinalMas = new ListGridField("sinalMas", "Sinal"); sinalMas.setAlign(Alignment.CENTER); //coluna Padro Veiculo ListGridField padrao = new ListGridField("padrao", "padro Veculo"); padrao.setAlign(Alignment.CENTER); padrao.setHidden(true); ListGridField padraoMas = new ListGridField("padraoMas", "padro Veculo"); padraoMas.setAlign(Alignment.CENTER); //coluna funo ListGridField funcao = new ListGridField("funcao", "Funo"); funcao.setAlign(Alignment.CENTER); funcao.setHidden(true); ListGridField funcaoMas = new ListGridField("funcaoMas", "Funo"); funcaoMas.setAlign(Alignment.CENTER); //coluna ativo ListGridField fieldAtivo = new ListGridField("fieldAtivo", "Ativo"); fieldAtivo.setAlign(Alignment.CENTER); fieldAtivo.setHidden(true); ListGridField fieldAtivoMas = new ListGridField("fieldAtivoMas", "Ativo"); fieldAtivoMas.setAlign(Alignment.CENTER); //coluna descricao ListGridField descricaoPl = new ListGridField("descricaoPl", "Descrio"); descricaoPl.setAlign(Alignment.CENTER); //cria grid Padro de Ligao listPadLig.setCanPickFields(false); listPadLig.setFields(corFio, sinalMas, sinal, padraoMas, padrao, funcaoMas, funcao, fieldAtivoMas, fieldAtivo, descricaoPl); listPadLig.setCanRemoveRecords(true); addpadLig.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { NovoPadraoLigacao novPadLig = new NovoPadraoLigacao(listPadLig); 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 nomePesAut = new ListGridField("nomePesAut", "Nome"); nomePesAut.setRequired(true); nomePesAut.setAlign(Alignment.CENTER); //pega o valor do nmero do telefone ListGridField telefonePesAutMas = new ListGridField("telefoneMas", "Telefone"); telefonePesAutMas.setAlign(Alignment.CENTER); ListGridField telefonePesAut = new ListGridField("telefone", "Telefone"); telefonePesAut.setAlign(Alignment.CENTER); telefonePesAut.setHidden(true); //pega o valor da descrio ListGridField descPesAut = new ListGridField("descricaoPesAut", "Descrio"); descPesAut.setAlign(Alignment.CENTER); //adicionando na lista grid de Pessoa Autorizada listPesAut.setFields(nomePesAut, telefonePesAutMas, telefonePesAut, descPesAut); //listTelefone.setCanPickFields(false); listPesAut.setCanRemoveRecords(true); //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) { NovaPessoaAutorizada novaPesAut = new NovaPessoaAutorizada(listPesAut); novaPesAut.setAnimateTime(1200); novaPesAut.animateShow(AnimationEffect.FADE); } }); //Desenha o formulrio com todos os itens na tab Novo Cliente. formNovoVeiculo.setItemLayout(FormLayoutType.TABLE); formNovoVeiculo.setTitleOrientation(TitleOrientation.TOP); formNovoVeiculo.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); //Evento Clique do boto Limpar limpar.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { formNovoVeiculo.markForRedraw(); indicado.clearValue(); LinkedHashMap<String, String> valueMapVeic = new LinkedHashMap<String, String>(); valueMapVeic.put("0", "Sem indicao"); indicado.setValueMap(valueMapVeic); placa.clearValue(); chassi.clearValue(); fabricante.clearValue(); modelo.clearValue(); cor.clearValue(); ano.clearValue(); dataAdesao.clearValue(); desconto.setValue("00.00"); tipoPlano.clearValue(); equipamento.clearValue(); instalador.clearValue(); ativo.clearValue(); listPadLig.selectAllRecords(); listPadLig.removeSelectedData(); listPesAut.selectAllRecords(); listPesAut.removeSelectedData(); } }); cadastrar.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (formNovoVeiculo.validate() && listPadLig.getRecordList().isEmpty() == false) { 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%"); janelaCarregando.addItem(mensagem); TreeMap<String, String> veiculo = new TreeMap<String, String>(); ArrayList<TreeMap<String, String>> padroesLigacao = new ArrayList<TreeMap<String, String>>(); ArrayList<TreeMap<String, String>> pesssoasAut = new ArrayList<TreeMap<String, String>>(); veiculo.put("codPlano", tipoPlano.getValueAsString()); veiculo.put("codCliente", cliente.getValueAsString()); veiculo.put("codEquipamento", equipamento.getValueAsString()); veiculo.put("codFuncionario", instalador.getValueAsString()); veiculo.put("codVeiculoIndicador", indicado.getValueAsString()); veiculo.put("placa", placa.getValueAsString()); veiculo.put("cidadeCodCidade", 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("ParcelaPagamentoCodParcela", numeroParcelas.getValueAsString()); if (!listPadLig.getRecordList().isEmpty()) { ListGridRecord padraos[] = listPadLig.getRecords(); for (int i = 0; i < padraos.length; i++) { TreeMap<String, String> treeMapPadLig = new TreeMap<String, String>(); treeMapPadLig.put("corFio", padraos[i].getAttribute("corFio")); treeMapPadLig.put("sinal", padraos[i].getAttribute("sinal")); treeMapPadLig.put("padrao", padraos[i].getAttribute("padrao")); treeMapPadLig.put("funcao", padraos[i].getAttribute("funcao")); treeMapPadLig.put("ativo", padraos[i].getAttribute("fieldAtivo")); treeMapPadLig.put("descricao", padraos[i].getAttribute("descricaoPl")); padroesLigacao.add(treeMapPadLig); } } if (!listPesAut.getRecordList().isEmpty()) { ListGridRecord pessoa[] = listPesAut.getRecords(); for (int i = 0; i < pessoa.length; i++) { TreeMap<String, String> treeMapPesAut = new TreeMap<String, String>(); treeMapPesAut.put("nome", pessoa[i].getAttribute("nomePesAut")); treeMapPesAut.put("telefone", pessoa[i].getAttribute("telefone")); treeMapPesAut.put("descricao", pessoa[i].getAttribute("descricaoPesAut")); pesssoasAut.add(treeMapPesAut); } } int codGrupo = Integer.parseInt(Info.usuarioLogado.get("codGrupo")); Info.dbService.cadastrarVeiculo(codGrupo, veiculo, datadeAdesao, padroesLigacao, pesssoasAut, new AsyncCallback<Void>() { @Override public void onFailure(Throwable caught) { throw new UnsupportedOperationException( "Not supported yet. Cadastrar Veculo"); //To change body of generated methods, choose Tools | Templates. } @Override public void onSuccess(Void result) { SC.say("Veiculo Cadastrado com Sucesso"); windAux.destroy(); } }); janelaCarregando.setAnimateTime(1200); janelaCarregando.animateHide(AnimationEffect.FADE); contador = 100; janelaCarregando.destroy(); } } else { contador = 0; } } }.schedule(50); } else { if (formNovoVeiculo.validate(false) && listPadLig.getRecordList().isEmpty() == true) { SC.say("Cadastre pelo menos um padro de Ligao"); addpadLig.focus(); } } } }); painelBotoesNovoVeiculo.addMember(cadastrar); painelBotoesNovoVeiculo.addMember(limpar); painelNovoVeiculo.addMember(novoVeiculo); painelNovoVeiculo.addMember(painelBotoesNovoVeiculo); //Desenhando o formulrio na Tab painelpagina.addMember(painelNovoVeiculo); addItem(painelpagina); } private void numeroDeParcelas(String numParc) { Info.dbService.buscarPorCodTipoPagamento(Integer.parseInt(numParc), 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.setValueMap(quantParcelas); numeroParcelas.setDefaultToFirstOption(true); } } }); } }