com.automaster.autoview.client.ui.paineis.tabs.monitoramento.TabLogUsuario.java Source code

Java tutorial

Introduction

Here is the source code for com.automaster.autoview.client.ui.paineis.tabs.monitoramento.TabLogUsuario.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.automaster.autoview.client.ui.paineis.tabs.monitoramento;

import com.automaster.autoview.client.Info;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.i18n.client.TimeZone;
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.data.SortSpecifier;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.DateDisplayFormat;
import com.smartgwt.client.types.Overflow;
import com.smartgwt.client.types.SelectionStyle;
import com.smartgwt.client.types.SortDirection;
import com.smartgwt.client.types.VerticalAlignment;
import com.smartgwt.client.types.VisibilityMode;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.IButton;
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.ComboBoxItem;
import com.smartgwt.client.widgets.form.fields.DateTimeItem;
import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
import com.smartgwt.client.widgets.form.fields.TextAreaItem;
import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
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 com.smartgwt.client.widgets.tab.Tab;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.TreeMap;

/**
 *
 * @author Adriano
 */
public class TabLogUsuario extends Tab {

    private final ListGrid registrosGrid;
    private final DynamicForm formBusca;
    private final RadioGroupItem tipoBusca;
    private final IButton btnParar;
    private final IButton btnIniciar;
    private boolean flagUltimosTrintaLogs = false;
    private boolean flagThreadNovosLogs = true;
    private boolean flagPararThreadNovosLogs = true;
    private int codMaiorLogSis = 0;
    private int codMaiorLogSisAux = 1;

    public TabLogUsuario() {

        this.btnIniciar = new IButton("Iniciar");
        this.btnIniciar.setTitle("Iniciar buscador de logs de usurio");
        this.btnIniciar.setDisabled(true);

        this.btnParar = new IButton("Parar");
        this.btnParar.setTitle("Parar buscardor de logs de usurio");

        this.setTitle("Logs do usurio");
        this.tipoBusca = new RadioGroupItem();
        tipoBusca.setTitle(Info.titulosMsg.get("tipoBusca"));
        LinkedHashMap<String, String> tp = new LinkedHashMap<>();
        tp.put("1", "Usurios");
        tp.put("2", "Parmetros");
        tipoBusca.setValueMap(tp);
        tipoBusca.setRequired(true);
        tipoBusca.setValue("1");
        //tipoBusca.setShowTitle(false);
        tipoBusca.setAlign(Alignment.CENTER);
        tipoBusca.setTooltip("Buscar log de usurios");
        tipoBusca.setWidth(350);
        tipoBusca.setVertical(false);

        this.registrosGrid = new ListGrid();
        this.registrosGrid.setCanPickFields(false);
        this.registrosGrid.setSelectionType(SelectionStyle.MULTIPLE);
        this.registrosGrid.setCanDragSelect(true);
        this.registrosGrid.setCanAutoFitFields(false);
        this.registrosGrid.setCanAutoFitFields(false);
        //this.registrosGrid.setCanSort(false);
        this.registrosGrid.setCanGroupBy(false);
        this.registrosGrid.setCanFreezeFields(false);
        //this.registrosGrid.setSortDirection(SortDirection.DESCENDING);
        SortSpecifier sortSpecifier = new SortSpecifier("dataHoraReal", SortDirection.DESCENDING);
        this.registrosGrid.setSort(sortSpecifier);
        this.registrosGrid.setProgressiveLoading(true);

        final ListGridField codAgente = new ListGridField("codAgente", "cod Agente");
        codAgente.setAlign(Alignment.CENTER);
        codAgente.setHidden(true);
        final ListGridField nomeAgente = new ListGridField("nomeAgente", "Cliente / Funcionrio");
        nomeAgente.setAlign(Alignment.CENTER);
        nomeAgente.setWidth(150);
        final ListGridField codUsuario = new ListGridField("codUsuario", "cod Usurio");
        codUsuario.setAlign(Alignment.CENTER);
        codUsuario.setHidden(true);
        final ListGridField nomeUsuario = new ListGridField("nomeUsuario", "Usurio");
        nomeUsuario.setAlign(Alignment.CENTER);
        nomeUsuario.setWidth(80);
        final ListGridField codOperacao = new ListGridField("codOperacao", "cod Operao");
        codOperacao.setAlign(Alignment.CENTER);
        codOperacao.setHidden(true);
        final ListGridField operacao = new ListGridField("operacao", "Operao");
        operacao.setAlign(Alignment.CENTER);
        operacao.setWidth(200);
        final ListGridField dataHoraReal = new ListGridField("dataHoraReal", "Data e Hora");
        dataHoraReal.setAlign(Alignment.CENTER);
        dataHoraReal.setHidden(true);
        final ListGridField dataHora = new ListGridField("dataHora", "Data e Hora");
        dataHora.setAlign(Alignment.CENTER);
        dataHora.setWidth(120);
        final ListGridField parametro = new ListGridField("parametro", "Parmetros");
        parametro.setAlign(Alignment.CENTER);
        final ListGridField acessos = new ListGridField("acessos", "Acessos");
        acessos.setWidth(30);
        parametro.setAlign(Alignment.CENTER);

        this.registrosGrid.setFields(codAgente, nomeAgente, codUsuario, nomeUsuario, codOperacao, operacao,
                dataHoraReal, dataHora, parametro, acessos);

        this.formBusca = new DynamicForm();
        this.formBusca.setLayoutAlign(VerticalAlignment.CENTER);
        this.formBusca.setLayoutAlign(Alignment.CENTER);
        this.formBusca.setAlign(Alignment.CENTER);
        this.formBusca.setWidth(600);

        final ComboBoxItem itemUsuario = new ComboBoxItem();
        itemUsuario.setAddUnknownValues(false);
        itemUsuario.setTitle("Usurios");
        itemUsuario.setName("itemUsuario");
        itemUsuario.setHint("<nbr>*</nbr>");
        itemUsuario.setRequired(true);
        itemUsuario.setWidth(450);
        Info.dbService
                .buscarUsuarioPorUsuarioLogadoLogUsuario(new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                    @Override
                    public void onSuccess(ArrayList<TreeMap<String, String>> result) {
                        //GWT.log("interface - size listaUsuarios : "+result);
                        LinkedHashMap<String, String> hasMap = new LinkedHashMap<>();
                        hasMap.put("0", "Todos");
                        if (result != null) {

                            for (TreeMap<String, String> g : result) {
                                //GWT.log("grupos - size listaUsuarios - linha 01 : "+g.get("nomeCliente"));
                                String nome = (g.get("nomeFuncionario") == null)
                                        ? "  / CLIENTE: " + g.get("nomeCliente")
                                        : "  / FUNCION?RIO: " + g.get("nomeFuncionario");
                                hasMap.put(g.get("codUsuario"), "USU?RIO: " + g.get("nomeUsuario") + nome);
                            }
                            itemUsuario.setValueMap(hasMap);
                            itemUsuario.setValue("0");

                        } else {
                            hasMap.put("0", "No h usurios disponveis");
                            itemUsuario.setValueMap(hasMap);
                            itemUsuario.setValue("0");
                        }

                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        Info.fecharJanelaCarrgando();
                        SC.warn("FALHA na conexo! [Erro ao buscar buscar Usuario Por Usuario Logado LogUsuario]");
                    }
                });

        final DateTimeItem itemDataEhoraInicio = new DateTimeItem("dataEhoraInicio", "Incio");
        itemDataEhoraInicio.setRequired(true);
        itemDataEhoraInicio.setHeight(18);
        itemDataEhoraInicio.setWidth(450);
        itemDataEhoraInicio.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATETIME);

        DateTimeFormat dateTimeFormat = DateTimeFormat.getFormat("dd/MM/yyyy HH:mm");
        TimeZone timeZone = TimeZone.createTimeZone(180);
        //itemDataEhora.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATETIME);        
        final Date dataManha = new Date(System.currentTimeMillis());
        //dateTimeFormat.format(dataOntem, timeZone);        
        itemDataEhoraInicio.setDefaultValue(dateTimeFormat.format(
                new Date(dataManha.getYear(), dataManha.getMonth(), dataManha.getDate(), 07, 45, 00), timeZone));
        itemDataEhoraInicio.setHint("<nbr>*</nbr>");
        itemDataEhoraInicio.setUseMask(true);

        final DateTimeItem itemDataEhoraFim = new DateTimeItem("dataEhoraFim", "Fim");
        itemDataEhoraFim.setRequired(true);
        itemDataEhoraFim.setHeight(18);
        itemDataEhoraFim.setWidth(450);
        itemDataEhoraFim.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATETIME);
        itemDataEhoraFim.setDefaultValue(dateTimeFormat.format(
                new Date(dataManha.getYear(), dataManha.getMonth(), dataManha.getDate(), 18, 15, 00), timeZone));
        itemDataEhoraFim.setHint("<nbr>*</nbr>");
        itemDataEhoraFim.setUseMask(true);

        final TextAreaItem itemParametros = new TextAreaItem("parametro", "Parmetros");
        itemParametros.setRequired(true);
        //itemParametros.setValidators(tamanhoTextItem);
        itemParametros.setHint("<nbr>*</nbr>");
        itemParametros.setWidth(450);
        itemParametros.setHeight(100);
        itemParametros.setLength(100);

        tipoBusca.addChangedHandler(new ChangedHandler() {

            @Override
            public void onChanged(ChangedEvent event) {
                String itemSelecionado = (String) event.getValue();
                if (itemSelecionado.equalsIgnoreCase("1")) {
                    formBusca.showItem("itemUsuario");
                    formBusca.showItem("dataEhoraInicio");
                    formBusca.showItem("dataEhoraFim");
                    formBusca.hideItem("parametro");
                } else {
                    formBusca.hideItem("itemUsuario");
                    formBusca.hideItem("dataEhoraInicio");
                    formBusca.hideItem("dataEhoraFim");
                    formBusca.showItem("parametro");
                }
            }
        });

        HLayout hButoes = new HLayout();
        hButoes.setWidth(200);
        hButoes.setHeight(20);
        //hButoes.setMembersMargin(3);
        hButoes.setLayoutAlign(Alignment.CENTER);
        hButoes.setAlign(Alignment.LEFT);
        final IButton pesquisar = new IButton("Pesquisar");
        pesquisar.setHeight(18);
        final IButton limpar = new IButton("Limpar");
        limpar.setHeight(18);
        hButoes.setMargin(5);
        hButoes.setMembersMargin(5);
        hButoes.addMember(pesquisar);
        hButoes.addMember(limpar);

        formBusca.setItems(tipoBusca, itemUsuario, itemDataEhoraInicio, itemDataEhoraFim, itemParametros);

        formBusca.showItem("itemUsuario");
        formBusca.showItem("dataEhoraInicio");
        formBusca.showItem("dataEhoraFim");
        formBusca.hideItem("parametro");

        pesquisar.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {

                if (flagPararThreadNovosLogs) {
                    flagPararThreadNovosLogs = false;
                    btnIniciar.setDisabled(false);
                    btnParar.setDisabled(true);
                }

                if (Integer.parseInt(tipoBusca.getValueAsString()) == 1) {

                    registrosGrid.setData(new Record[0]);
                    Timestamp dataIncio = new Timestamp(itemDataEhoraInicio.getValueAsDate().getTime());
                    Timestamp dataFim = new Timestamp(itemDataEhoraFim.getValueAsDate().getTime());
                    int codUsuario = Integer.parseInt(itemUsuario.getValueAsString());
                    buscarPorUsuario(codUsuario, dataIncio, dataFim, itemDataEhoraFim);

                } else {

                    registrosGrid.setData(new Record[0]);
                    String parametro = itemParametros.getValueAsString();
                    buscarPorParametro(parametro);

                }

            }
        });

        HLayout painelPai = new HLayout();
        painelPai.setWidth100();
        painelPai.setHeight100();
        painelPai.setAlign(Alignment.CENTER);
        painelPai.setLayoutAlign(Alignment.CENTER);

        VLayout painelBusca = new VLayout();
        //painelBusca.setMembersMargin(15);
        painelBusca.setWidth100();
        painelBusca.setAlign(Alignment.CENTER);
        painelBusca.setDefaultLayoutAlign(Alignment.CENTER);

        final SectionStackSection formSection = new SectionStackSection();
        formSection.setTitle("Buscar logs do usurio");
        formSection.setItems(formBusca, hButoes);
        formSection.setExpanded(true);
        //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);

        final SectionStackSection dadosSection = new SectionStackSection();
        dadosSection.setTitle("Informaes dos log's");
        dadosSection.setItems(registrosGrid);
        dadosSection.setExpanded(true);
        dadosSection.setControls(btnIniciar, btnParar);

        final SectionStack buscarClientes = new SectionStack();
        buscarClientes.setSections(formSection, dadosSection);
        buscarClientes.setVisibilityMode(VisibilityMode.MULTIPLE);
        buscarClientes.setAnimateSections(true);
        buscarClientes.setWidth("70%");
        buscarClientes.setHeight100();
        buscarClientes.setOverflow(Overflow.VISIBLE);

        painelBusca.addMember(buscarClientes);
        painelPai.addMember(painelBusca);
        setPane(painelPai);

        // iNICIA A GRID COM UMA LISTA VAZIA DE REGISTROS DE LOG
        //registrosGrid.setData(new Record[0]);
        btnParar.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                flagPararThreadNovosLogs = false;
                btnIniciar.setDisabled(false);
                btnParar.setDisabled(true);
            }
        });

        btnIniciar.addClickHandler(new ClickHandler() {

            @Override
            public void onClick(ClickEvent event) {
                flagPararThreadNovosLogs = true;
                btnIniciar.setDisabled(true);
                btnParar.setDisabled(false);
            }
        });

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

            @Override
            public void onFailure(Throwable caught) {
                Info.fecharJanelaCarrgando();
                SC.warn("FALHA na conexo! [Erro ao buscar ltimos Logs]");
            }

            @Override
            public void onSuccess(ArrayList<TreeMap<String, String>> result) {
                //SC.say("*");
                if (result != null) {
                    //GWT.log("buscarUltimosLogsDoSis");
                    for (TreeMap<String, String> log : result) {
                        Record registro = new Record();
                        registro.setAttribute("codAgente",
                                (log.get("nomeCliente") == null) ? log.get("codFunc") : log.get("codCliente"));
                        registro.setAttribute("nomeAgente",
                                (log.get("nomeCliente") == null) ? log.get("nomeFunc") : log.get("nomeCliente"));
                        registro.setAttribute("codUsuario", Integer.parseInt(log.get("codUsuario")));
                        registro.setAttribute("nomeUsuario", log.get("usuario"));
                        registro.setAttribute("codOperacao", Integer.parseInt(log.get("codOperacao")));
                        registro.setAttribute("operacao", log.get("operacao"));
                        registro.setAttribute("dataHoraReal", Long.parseLong(log.get("dataHora")));
                        registro.setAttribute("dataHora", log.get("dataHoraString"));
                        registro.setAttribute("parametro",
                                (log.get("parametro").equalsIgnoreCase("") || log.get("parametro") == null)
                                        ? "Sem informao"
                                        : log.get("parametro"));
                        registro.setAttribute("acessos", result.get(0).get("ACESSOS"));
                        registrosGrid.addData(registro);
                    }

                    // atualizada a flag dos ultimos 100 logs de usurio
                    flagUltimosTrintaLogs = true;
                    codMaiorLogSis = Integer.parseInt(result.get(0).get("MAXIMO"));

                } else {
                    GWT.log("Nenhum log de usurio foi retornado! LISTA VAZIA!");
                }
            }
        });

        Info.atualizaLogUsuario = new Timer() {

            @Override
            public void run() {
                //SC.say("++++");
                if (Info.validaConexao()) {
                    if (flagUltimosTrintaLogs && flagPararThreadNovosLogs && flagPararThreadNovosLogs
                            && codMaiorLogSis > codMaiorLogSisAux) {
                        flagThreadNovosLogs = false;
                        Info.dbService.buscarNovosLogSis(codMaiorLogSis,
                                new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                                    @Override
                                    public void onFailure(Throwable caught) {
                                        Info.fecharJanelaCarrgando();
                                        SC.warn("FALHA na conexo! [Erro ao atualizar log]");
                                    }

                                    @Override
                                    public void onSuccess(ArrayList<TreeMap<String, String>> result) {
                                        if (result != null) {
                                            //GWT.log("buscarNovosLogSis");
                                            flagThreadNovosLogs = true;
                                            codMaiorLogSisAux = codMaiorLogSis;
                                            codMaiorLogSis = Integer.parseInt(result.get(0).get("MAXIMO"));
                                            for (TreeMap<String, String> log : result) {
                                                Record registro = new Record();
                                                registro.setAttribute("codAgente",
                                                        (log.get("nomeCliente") == null) ? log.get("codFunc")
                                                                : log.get("codCliente"));
                                                registro.setAttribute("nomeAgente",
                                                        (log.get("nomeCliente") == null) ? log.get("nomeFunc")
                                                                : log.get("nomeCliente"));
                                                registro.setAttribute("codUsuario",
                                                        Integer.parseInt(log.get("codUsuario")));
                                                registro.setAttribute("nomeUsuario", log.get("usuario"));
                                                registro.setAttribute("codOperacao",
                                                        Integer.parseInt(log.get("codOperacao")));
                                                registro.setAttribute("operacao", log.get("operacao"));
                                                registro.setAttribute("dataHoraReal",
                                                        Long.parseLong(log.get("dataHora")));
                                                registro.setAttribute("dataHora", log.get("dataHoraString"));
                                                registro.setAttribute("parametro",
                                                        (log.get("parametro").equalsIgnoreCase("")
                                                                || log.get("parametro") == null)
                                                                        ? "Sem informao"
                                                                        : log.get("parametro"));
                                                registro.setAttribute("acessos", result.get(0).get("ACESSOS"));
                                                registrosGrid.addData(registro);
                                            }

                                        } else {
                                            flagThreadNovosLogs = true;
                                            //GWT.log("LISTA DE NOVOS LOGS EST? VAZIA!");
                                        }
                                    }
                                });
                    }
                }
            }
        };
        Info.atualizaLogUsuario.scheduleRepeating(10000);
    }

    public void buscarPorUsuario(int codUsuario, Timestamp dataIncio, Timestamp dataFim,
            final DateTimeItem itemDataEhoraFim) {

        if (formBusca.validate() && dataFim.getTime() > dataIncio.getTime()) {
            Info.abrirJanelaCarregando();
            Info.dbService.buscarLogDoSisPorUsuario(codUsuario, dataIncio, dataFim,
                    new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                        @Override
                        public void onFailure(Throwable caught) {
                            Info.fecharJanelaCarrgando();
                            SC.warn("FALHA na conexo! [Erro ao buscar Log por intervalo de Data]");
                        }

                        @Override
                        public void onSuccess(ArrayList<TreeMap<String, String>> result) {
                            if (result != null) {
                                Info.fecharJanelaCarrgando();
                                for (TreeMap<String, String> log : result) {
                                    Record registro = new Record();
                                    registro.setAttribute("codAgente",
                                            (log.get("nomeCliente") == null) ? log.get("codFunc")
                                                    : log.get("codCliente"));
                                    registro.setAttribute("nomeAgente",
                                            (log.get("nomeCliente") == null) ? log.get("nomeFunc")
                                                    : log.get("nomeCliente"));
                                    registro.setAttribute("codUsuario", Integer.parseInt(log.get("codUsuario")));
                                    registro.setAttribute("nomeUsuario", log.get("usuario"));
                                    registro.setAttribute("codOperacao", Integer.parseInt(log.get("codOperacao")));
                                    registro.setAttribute("operacao", log.get("operacao"));
                                    registro.setAttribute("dataHoraReal", Long.parseLong(log.get("dataHora")));
                                    registro.setAttribute("dataHora", log.get("dataHoraString"));
                                    registro.setAttribute("parametro",
                                            (log.get("parametro").equalsIgnoreCase("")
                                                    || log.get("parametro") == null) ? "Sem informao"
                                                            : log.get("parametro"));
                                    registro.setAttribute("acessos", result.get(0).get("ACESSOS"));
                                    registrosGrid.addData(registro);
                                }

                            } else {
                                SC.warn("No h registro para este intervalo!");
                                Info.fecharJanelaCarrgando();
                            }
                        }
                    });

        } else {
            SC.warn("A data inicial  maior que a data final");
            formBusca.focusInItem(itemDataEhoraFim);
            Info.fecharJanelaCarrgando();
        }

    }

    public void buscarPorParametro(String parametros) {

        if (formBusca.validate()) {
            Info.abrirJanelaCarregando();
            Info.dbService.buscarLogDoSisPorParametro(parametros,
                    new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                        @Override
                        public void onFailure(Throwable caught) {
                            Info.fecharJanelaCarrgando();
                            SC.warn("FALHA na conexo! [Erro ao buscar Log por parmetro]");
                        }

                        @Override
                        public void onSuccess(ArrayList<TreeMap<String, String>> result) {

                            if (result != null) {
                                Info.fecharJanelaCarrgando();
                                for (TreeMap<String, String> log : result) {
                                    Record registro = new Record();
                                    registro.setAttribute("codAgente",
                                            (log.get("nomeCliente") == null) ? log.get("codFunc")
                                                    : log.get("codCliente"));
                                    registro.setAttribute("nomeAgente",
                                            (log.get("nomeCliente") == null) ? log.get("nomeFunc")
                                                    : log.get("nomeCliente"));
                                    registro.setAttribute("codUsuario", Integer.parseInt(log.get("codUsuario")));
                                    registro.setAttribute("nomeUsuario", log.get("usuario"));
                                    registro.setAttribute("codOperacao", Integer.parseInt(log.get("codOperacao")));
                                    registro.setAttribute("operacao", log.get("operacao"));
                                    registro.setAttribute("dataHoraReal", Long.parseLong(log.get("dataHora")));
                                    registro.setAttribute("dataHora", log.get("dataHoraString"));
                                    registro.setAttribute("parametro",
                                            (log.get("parametro").equalsIgnoreCase("")
                                                    || log.get("parametro") == null) ? "Sem informao"
                                                            : log.get("parametro"));
                                    registro.setAttribute("acessos", result.get(0).get("ACESSOS"));
                                    registrosGrid.addData(registro);
                                }

                            } else {
                                SC.warn("No h registro com este parmetro!");
                                Info.fecharJanelaCarrgando();
                            }
                        }
                    });
        }
    }

}