Example usage for com.google.gwt.i18n.client TimeZone createTimeZone

List of usage examples for com.google.gwt.i18n.client TimeZone createTimeZone

Introduction

In this page you can find the example usage for com.google.gwt.i18n.client TimeZone createTimeZone.

Prototype

public static TimeZone createTimeZone(TimeZoneInfo timezoneData) 

Source Link

Usage

From source file:com.automaster.autoview.client.ui.paineis.tabs.monitoramento.TabHistorico.java

public TabHistorico() {

    //SC.say("Lagura da tela: "+Info.larguraTela());
    TabHistorico.codPlacasHistorico = new TreeMap<>();
    TabHistorico.TABELA_VEICULOS_HISTORICO_DESENHADA = false;
    //tabelaDesenhada = true;
    //this.timeZone = Info.timeZoneClient();
    /*if(timeZone.equalsIgnoreCase("0")){
     timeZone = "UTC";/*from  w  ww  . j  av a2s  .  c om*/
     } else {
     timeZone = String.valueOf((-1) * (Integer.parseInt(timeZone) / 60));
     }*/
    //DateUtil.setDefaultDisplayTimezone(timeZone);
    this.indexVeiculoPlaca = 0;
    TabHistorico.dataSoucePlacas = new DataSource();
    TabHistorico.dataSoucePlacas.setClientOnly(true);
    DataSourceTextField codigoVeiculo = new DataSourceTextField("codigo", Info.titulosMsg.get("tituloCodigo"));
    codigoVeiculo.setHidden(true);
    codigoVeiculo.setRequired(true);
    //codigoVeiculo.setPrimaryKey(true);
    DataSourceTextField placaVeiculo = new DataSourceTextField("placa", Info.titulosMsg.get("placa"));
    placaVeiculo.setRequired(true);
    //placaVeiculo.setPrimaryKey(true);
    DataSourceTextField fabricanteDs = new DataSourceTextField("fabricante", Info.titulosMsg.get("fabricante"));
    fabricanteDs.setHidden(true);
    DataSourceTextField modeloDs = new DataSourceTextField("modelo", Info.titulosMsg.get("modelo"));
    modeloDs.setHidden(true);
    DataSourceTextField corDs = new DataSourceTextField("cor", Info.titulosMsg.get("cor"));
    corDs.setHidden(true);
    DataSourceTextField anoDs = new DataSourceTextField("ano", Info.titulosMsg.get("ano"));
    anoDs.setHidden(true);
    DataSourceTextField iconeVeiculo = new DataSourceTextField("icone", "?cone de veculo");
    iconeVeiculo.setHidden(true);
    DataSourceTextField grupoVeiculo = new DataSourceTextField("grupo", "Grupo");
    grupoVeiculo.setHidden(true);
    DataSourceTextField clienteGrid = new DataSourceTextField("cliente", "Cliente");
    clienteGrid.setHidden(true);
    TabHistorico.dataSoucePlacas.setFields(iconeVeiculo, codigoVeiculo, placaVeiculo, grupoVeiculo,
            fabricanteDs, modeloDs, corDs, anoDs, clienteGrid);

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

    //this.verificaLimpar = true;
    //TabHistorico.endereco = null;
    //TabHistorico.latitude = null;
    //TabHistorico.longitude = null;
    //TabHistorico.codUltimaPosicao = null;
    TabHistorico.posicoesSemEndereco = new ArrayList<>();
    //this.vintePosicoes = new ArrayList<>();

    TabHistorico.veiculos = new ListGrid();
    TabHistorico.veiculos.setSortDirection(SortDirection.ASCENDING);
    TabHistorico.veiculos.setSortField("placa");
    TabHistorico.veiculos.setWidth("10%");
    TabHistorico.veiculos.setSelectionType(SelectionStyle.SINGLE);
    TabHistorico.veiculos.setCanPickFields(false);
    TabHistorico.veiculos.setGroupByMaxRecords(100000);
    TabHistorico.veiculos.setAlternateRecordStyles(true);
    TabHistorico.veiculos.setCanGroupBy(true);
    TabHistorico.veiculos.setShowFilterEditor(true);
    TabHistorico.veiculos.setTooltip(Info.titulosMsg.get("listaVeiculos"));
    TabHistorico.veiculos.setFilterOnKeypress(true);
    TabHistorico.veiculos.setCanSort(false);

    TabHistorico.posicoesVeiculos = new ListGrid();
    TabHistorico.posicoesVeiculos.setCanPickFields(false);
    TabHistorico.posicoesVeiculos.setSelectionType(SelectionStyle.MULTIPLE);
    TabHistorico.posicoesVeiculos.setCanDragSelect(true);
    TabHistorico.posicoesVeiculos.setCanAutoFitFields(false);
    TabHistorico.posicoesVeiculos.setCanAutoFitFields(false);
    TabHistorico.posicoesVeiculos.setCanSort(false);
    TabHistorico.posicoesVeiculos.setCanGroupBy(false);
    TabHistorico.posicoesVeiculos.setCanFreezeFields(false);
    SortSpecifier sortSpecifier = new SortSpecifier("dataEhoraReal", SortDirection.DESCENDING);
    TabHistorico.posicoesVeiculos.setSort(sortSpecifier);
    TabHistorico.posicoesVeiculos.setLoadingDataMessage("Carregando posies...");
    TabHistorico.posicoesVeiculos.setProgressiveLoading(true);

    final VLayout mapaHistorico = new VLayout();
    mapaHistoricoOpenLayer = new MapaHistoricoOpenLayer();

    //TabHistorico.veiculos.setDataSource(dataSoucePlacas);
    //TabHistorico.veiculos.fetchData();
    Info.dbService.buscarVeiculoPorUsuarioLogadoHistorico(
            Integer.parseInt(Info.usuarioLogado.get("codUsuario")),
            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                @Override
                public void onFailure(Throwable caught) {
                    SC.warn("Falha na conexo - VeiculoPorUsuarioLogadoHistorico");
                }

                @Override
                public void onSuccess(ArrayList<TreeMap<String, String>> result) {
                    if (result != null) {
                        tamanhoListaVeiculos = result.size();
                        for (TreeMap<String, String> result1 : result) {
                            final ListGridRecord recordVeiculos = new ListGridRecord();
                            recordVeiculos.setAttribute("codigo", result1.get("codVeiculo"));
                            recordVeiculos.setAttribute("placa", result1.get("placa"));
                            recordVeiculos.setAttribute("fabricante", result1.get("fabricante"));
                            recordVeiculos.setAttribute("modelo", result1.get("modelo"));
                            recordVeiculos.setAttribute("cor", result1.get("cor"));
                            recordVeiculos.setAttribute("ano", result1.get("ano"));
                            recordVeiculos.setAttribute("icone", result1.get("codIcone"));
                            recordVeiculos.setAttribute("grupo", result1.get("nomeGrupo"));
                            recordVeiculos.setAttribute("cliente", result1.get("nomeCliente"));
                            TabHistorico.dataSoucePlacas.addData(recordVeiculos);
                            TabHistorico.codPlacasHistorico.put(result1.get("codVeiculo"),
                                    result1.get("codVeiculo"));
                        }
                        //TabHistorico.veiculos.setDataSource(dataSoucePlacas);
                        //TabHistorico.veiculos.fetchData();

                    } else {
                        //TabHistorico.veiculos.setData(new Record[0]);
                        SC.warn("O usurio no possui veculo");
                        //GWT.log("Lista de veculos do usurio  vazia!!! + linha 117 - TabHistorico");
                    }
                }
            });
    //Setando itens de configurao da tab
    setTitle(Info.titulosMsg.get("historico"));

    final DynamicForm formHistorico = new DynamicForm();
    formHistorico.setAutoFocus(true);
    formHistorico.setMargin(8);
    //formHistorico.setWidth(220);

    final DateTimeItem itemDataEhora = new DateTimeItem("dataEhora", "Incio");
    itemDataEhora.setHeight(18);
    itemDataEhora.setRequired(true);
    //itemDataEhora.setWidth(150);
    //this.timeZone = Info.timeZoneClient();
    DateUtil.setDefaultDisplayTimezone("-03:00");
    DateTimeFormat dateTimeFormat = DateTimeFormat.getFormat("dd/MM/yyyy HH:mm");
    TimeZoneConstants t = (TimeZoneConstants) GWT.create(TimeZoneConstants.class);
    TimeZone timeZone = TimeZone.createTimeZone(180);
    //itemDataEhora.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATETIME);        
    final Date dataOntem = new Date(System.currentTimeMillis() - 21600000);
    dateTimeFormat.format(dataOntem, timeZone);
    final Date dataAtual = new Date(System.currentTimeMillis());
    dateTimeFormat.format(dataAtual, timeZone);
    itemDataEhora.setDefaultValue(dateTimeFormat.format(
            new Date(dataOntem.getYear(), dataOntem.getMonth(), dataOntem.getDate(), 0, 0, 0), timeZone));
    itemDataEhora.setHint("<nbr>*</nbr>");
    itemDataEhora.setUseMask(true);

    /*final DateItem itemData = new DateItem();
     itemData.setTitle("Data");
     itemData.setName("dataAdesao");
     itemData.setUseTextField(true);
     itemData.setHint("<nbr>*</nbr>");
     itemData.setUseMask(true);
     itemData.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);
     itemData.setRequired(true);
     itemData.setWidth(150);
     itemData.setValue(new Date(System.currentTimeMillis()));
            
     final TimeItem itemHora = new TimeItem("time", "Hora");  
     itemHora.setHint("<nbr>*</nbr>");  
     itemHora.setUseTextField(false);
     //itemHora.setWidth(100);
     itemHora.setValue(new Timestamp(Long.parseLong("-75600000")));*/
    formHistorico.setTitleWidth(300);
    formHistorico.setWidth("15%");
    formHistorico.setTitleOrientation(TitleOrientation.LEFT);
    formHistorico.setItems(itemDataEhora);

    final DynamicForm formHistoricoPara = new DynamicForm();
    formHistoricoPara.setMargin(8);
    formHistoricoPara.setWidth("15%");
    formHistoricoPara.setTitleWidth(300);
    formHistoricoPara.setTitleOrientation(TitleOrientation.LEFT);

    final DateTimeItem itemDataEhoraPara = new DateTimeItem("dataEhora", "Fim");
    itemDataEhoraPara.setRequired(true);
    itemDataEhoraPara.setHeight(18);
    //itemDataEhoraPara.setWidth(150);
    itemDataEhoraPara.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATETIME);
    itemDataEhoraPara.setDefaultValue(dateTimeFormat.format(
            new Date(dataAtual.getYear(), dataAtual.getMonth(), dataAtual.getDate(), 23, 59, 59), timeZone));
    itemDataEhoraPara.setHint("<nbr>*</nbr>");
    itemDataEhoraPara.setUseMask(true);
    /*final DateItem itemDataFim = new DateItem();
     itemDataFim.setTitle("Data");
     itemDataFim.setName("dataAdesao");
     itemDataFim.setUseTextField(true);
     itemDataFim.setHint("<nbr>*</nbr>");
     itemDataFim.setUseMask(true);
     itemDataFim.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);
     itemDataFim.setRequired(true);
     itemDataFim.setWidth(150);
     itemDataFim.setValue(new Date(System.currentTimeMillis()));
            
     final TimeItem itemHoraFim = new TimeItem("time", "Hora");  
     itemHoraFim.setHint("<nbr>*</nbr>");  
     itemHoraFim.setUseTextField(false);
     //itemHoraFim.setWidth(100);
     itemHoraFim.setValue(new Timestamp(Long.parseLong("10799000")));*/

    /*final SelectItem itemIgnicao = new SelectItem("ignicao", "Ignio");
            LinkedHashMap<String, String> sn = new LinkedHashMap<>();
            sn.put("0", "Ambos");
            sn.put("True", "Ligado");
            sn.put("False", "Desligado");
            itemIgnicao.setValueMap(sn);
            itemIgnicao.setHint("<nbr>*</nbr>");
            itemIgnicao.setRequired(true);
            itemIgnicao.setWidth(150);
            itemIgnicao.setValue("0");*/

    /*final SelectItem itemBloqueio = new SelectItem("ignicao", "Bloqueio");
            LinkedHashMap<String, String> bq = new LinkedHashMap<>();
            bq.put("0", "Ambos");
            bq.put("True", "Desbloqueado");
            bq.put("False", "Bloqueado");
            itemBloqueio.setValueMap(bq);
            itemBloqueio.setHint("<nbr>*</nbr>");
            itemBloqueio.setRequired(true);
            itemBloqueio.setWidth(150);
            itemBloqueio.setValue("0");*/
    formHistoricoPara.setItems(itemDataEhoraPara);

    final Label labelTitulo = new Label("<h3><center>Histrico de veculo</center></h3>");
    //labelTitulo.setWidth(200);
    labelTitulo.setHeight(5);
    final Label labelIncio = new Label("<h3><center>Incio</center></h3>");
    //labelIncio.setWidth(200);
    labelIncio.setHeight(5);
    final Label labelFim = new Label("<h3><center>Trmino</center></h3>");
    //labelFim.setWidth(200);
    labelFim.setHeight(5);

    HLayout hButoes = new HLayout();
    //hButoes.setWidth(200);
    //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(8);
    hButoes.setMembersMargin(5);
    hButoes.addMember(pesquisar);
    hButoes.addMember(limpar);

    infoVeiculo.setHeight(30);
    infoVeiculo.setWidth("80%");
    labelPosicoesSemEndereco.setHeight(30);
    labelPosicoesSemEndereco.setWidth("20%");
    final Label html = new Label();
    html.setContents("<a href=\"#\">"
            + "<img src=\"./imagens/excel.png\" title=\"Baixar histrico - Excel\" width=\"25\" height=\"25\" />"
            + "</a>" + "<a href=\"#\">"
            + "<img src=\"./imagens/pdf.png\" title=\"Baixar histrico - PDF\" width=\"25\" height=\"25\" />"
            + "</a>");
    html.setWidth(60);
    html.setAlign(Alignment.CENTER);

    mapaHistorico.addDrawHandler(new DrawHandler() {

        @Override
        public void onDraw(DrawEvent event) {

            //Info.atualizaPosicoesSemEnderecoHistorico.scheduleRepeating(5000);
            final String codVeiculoGrid = TabHistorico.veiculos.getSelectedRecord().getAttribute("codigo");
            Timestamp dataInicio = new Timestamp(itemDataEhora.getValueAsDate().getTime());
            Timestamp dataFim = new Timestamp(itemDataEhoraPara.getValueAsDate().getTime());
            infoVeiculo.redraw();
            infoVeiculo.setContents("<strong style=\"font-size:15px; \">" + Info.titulosMsg.get("placa") + ": "
                    + TabHistorico.veiculos.getSelectedRecord().getAttribute("placa") + " "
                    + Info.titulosMsg.get("fabricante") + ": "
                    + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("fabricante") + " "
                    + Info.titulosMsg.get("modelo") + ": "
                    + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("modelo") + " "
                    + Info.titulosMsg.get("cor") + ": "
                    + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("cor") + " "
                    + Info.titulosMsg.get("ano") + ": "
                    + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("ano")
                    + ".</strong>  Percorridos: 0 metros. Tempo : 0.");

            Info.abrirJanelaCarregando();

            Info.dbService.buscarPosicoesPorIntervaloData(codVeiculoGrid, dataInicio, dataFim,
                    new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                        @Override
                        public void onFailure(Throwable caught) {
                            Info.fecharJanelaCarrgando();
                            SC.warn("Falha na conexo - PosicoesPorIntervaloData");
                        }

                        @Override
                        public void onSuccess(ArrayList<TreeMap<String, String>> result) {
                            if (result != null) {

                                Info.fecharJanelaCarrgando();

                                verificaTeste = i = 1;
                                for (TreeMap<String, String> posicoes : result) {
                                    //if(posicoes.get("placa").equalsIgnoreCase(placaVeiculo)) {                       
                                    Record registro = new Record();
                                    registro.setAttribute("contador", i);
                                    registro.setAttribute("google",
                                            "<a  href=\"http://maps.google.com.br/maps?q=" + posicoes.get("lat")
                                                    + "," + posicoes.get("lon")
                                                    + "\" title=\"Google maps\" target=\"_blank\"><img src=\"./imagens/mapa.png\" alt=\"Google\" height =\"16px\" width=\"16px\"></a>");
                                    registro.setAttribute("codPosicao",
                                            Integer.parseInt(posicoes.get("codigo")));
                                    registro.setAttribute("lat", posicoes.get("lat"));
                                    registro.setAttribute("lon", posicoes.get("lon"));
                                    registro.setAttribute("dataEhoraReal",
                                            Long.parseLong(posicoes.get("dataHora")));
                                    //DateUtil.setDefaultDisplayTimezone("-03:00");
                                    //registro.setAttribute("dataEhora", DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM).format(new Timestamp(Long.parseLong(posicoes.get("dataHora"))), TimeZone.createTimeZone(120)));
                                    registro.setAttribute("dataEhora", posicoes.get("dataHoraString"));
                                    //registro.setAttribute("sat", posicoes.get("sat"));
                                    registro.setAttribute("sat", posicoes.get("sat")
                                            + " <img src=\"../imagens/satelite.png\" width=\"16\" height=\"16\" alt=\"Satlite\" title=\"Satlite\"/>");
                                    //registro.setAttribute("gps", posicoes.get("gps"));
                                    registro.setAttribute("gps",
                                            (posicoes.get("gps").equalsIgnoreCase("0"))
                                                    ? "<nbr class=\"positivo\">Atualizado</nbr>"
                                                    : "<nbr class=\"alerta\">Memria</nbr>");
                                    registro.setAttribute("vel", posicoes.get("vel"));
                                    registro.setAttribute("ignReal", Boolean.parseBoolean(posicoes.get("ign")));
                                    registro.setAttribute("ign", (Boolean.parseBoolean(posicoes.get("ign")))
                                            ? "<img src=\"../imagens/ignligada.png\" width=\"16\" height=\"16\" alt=\"Ligada\" title=\"Ligada\"/>"
                                            : "<img src=\"../imagens/igndesligada.png\" width=\"16\" height=\"16\" alt=\"desligada\"  title=\"Desligada\"/>");
                                    registro.setAttribute("entrada", posicoes.get("entrada"));
                                    registro.setAttribute("saida", posicoes.get("saida"));
                                    registro.setAttribute("evento", posicoes.get("evento"));
                                    registro.setAttribute("endereco",
                                            (posicoes.get("endereco") == null) ? "Sem endereo"
                                                    : posicoes.get("endereco"));
                                    registro.setAttribute("codDirecao", posicoes.get("codDirecao"));
                                    registro.setAttribute("direcao", posicoes.get("direcao"));
                                    TabHistorico.posicoesVeiculos.addData(registro);
                                    i++;
                                    if (posicoes.get("endereco") == null) {
                                        TabHistorico.posicoesSemEndereco.add(registro);
                                    }
                                }
                                //                            TabHistorico.posicoesVeiculos.selectRecord(0, true);
                                ListGridRecord marcadorInicio = posicoesVeiculos.getRecord(0);
                                //                            Info.mapaHistorico.setZoom(16);
                                //                            LatLng latLng = new LatLng(marcadorInicio.getAttributeAsDouble("lat"), marcadorInicio.getAttributeAsDouble("lon"));
                                //                            Info.mapaHistorico.panTo(latLng.value());
                                //                            //Info.polyHistorico.setMap(Info.mapaHistorico.value());
                                //                            nomeCliente = ((Info.usuarioLogado.get("codUnidadeCliente") == null) ? "</strong></br>Cliente: <strong>" + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("cliente") + "</strong>" : "");
                                //                            
                                if (marcadorInicio.getAttributeAsString("ignReal").equalsIgnoreCase("false")) {
                                    if (direcaoPosicao == 0) {
                                        icone = "./imagens/" + TabHistorico.veiculos.getSelectedRecord()
                                                .getAttribute("icone") + "/parado_desligado.png";
                                    } else if (direcaoPosicao == 1) {
                                        icone = "./imagens/" + TabHistorico.veiculos.getSelectedRecord()
                                                .getAttribute("icone") + "/norte_desligado.png";
                                    } else if (direcaoPosicao == 2) {
                                        icone = "./imagens/" + TabHistorico.veiculos.getSelectedRecord()
                                                .getAttribute("icone") + "/nordeste_desligado.png";
                                    } else if (direcaoPosicao == 3) {
                                        icone = "./imagens/" + TabHistorico.veiculos.getSelectedRecord()
                                                .getAttribute("icone") + "/leste_desligado.png";
                                    } else if (direcaoPosicao == 4) {
                                        icone = "./imagens/" + TabHistorico.veiculos.getSelectedRecord()
                                                .getAttribute("icone") + "/sudeste_desligado.png";
                                    } else if (direcaoPosicao == 5) {
                                        icone = "./imagens/" + TabHistorico.veiculos.getSelectedRecord()
                                                .getAttribute("icone") + "/sul_desligado.png";
                                    } else if (direcaoPosicao == 6) {
                                        icone = "./imagens/" + TabHistorico.veiculos.getSelectedRecord()
                                                .getAttribute("icone") + "/sudoeste_desligado.png";
                                    } else if (direcaoPosicao == 7) {
                                        icone = "./imagens/" + TabHistorico.veiculos.getSelectedRecord()
                                                .getAttribute("icone") + "/oeste_desligado.png";
                                    } else if (direcaoPosicao == 8) {
                                        icone = "./imagens/" + TabHistorico.veiculos.getSelectedRecord()
                                                .getAttribute("icone") + "/noroeste_desligado.png";
                                    }

                                } else if (direcaoPosicao == 0) {
                                    icone = "./imagens/"
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("icone")
                                            + "/parado_ligado.png";
                                } else if (direcaoPosicao == 1) {
                                    icone = "./imagens/"
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("icone")
                                            + "/norte_ligado.png";
                                } else if (direcaoPosicao == 2) {
                                    icone = "./imagens/"
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("icone")
                                            + "/nordeste_ligado.png";
                                } else if (direcaoPosicao == 3) {
                                    icone = "./imagens/"
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("icone")
                                            + "/leste_ligado.png";
                                } else if (direcaoPosicao == 4) {
                                    icone = "./imagens/"
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("icone")
                                            + "/sudeste_ligado.png";
                                } else if (direcaoPosicao == 5) {
                                    icone = "./imagens/"
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("icone")
                                            + "/sul_ligado.png";
                                } else if (direcaoPosicao == 6) {
                                    icone = "./imagens/"
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("icone")
                                            + "/sudoeste_ligado.png";
                                } else if (direcaoPosicao == 7) {
                                    icone = "./imagens/"
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("icone")
                                            + "/oeste_ligado.png";
                                } else if (direcaoPosicao == 8) {
                                    icone = "./imagens/"
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("icone")
                                            + "/noroeste_ligado.png";
                                }
                                //Marker marker = new Marker(marcadorInicio.getAttributeAsDouble("lat"), marcadorInicio.getAttributeAsDouble("lon"), Info.mapaHistorico, icone, TabHistorico.veiculos.getSelectedRecord().getAttribute("placa"), Info.polyHistorico.value(), Info.markersHistorico.markersValue(), 0);
                                //                            InfoWindow infoWindow = new InfoWindow();
                                //                            Info.mapaHistorico.addListenerInfoWindow(infoWindow.value());
                                String placa = TabHistorico.veiculos.getSelectedRecord().getAttribute("placa");
                                String data = marcadorInicio.getAttributeAsString("dataEhora");
                                String velocidade = marcadorInicio.getAttributeAsString("vel");
                                String ignicao = marcadorInicio.getAttributeAsString("ignReal")
                                        .equalsIgnoreCase("false") ? "Desligada" : "Ligada";
                                double latitudePosicao = marcadorInicio.getAttributeAsDouble("lat");
                                double longitudePosicao = marcadorInicio.getAttributeAsDouble("lon");
                                String enderecoPosicao = (marcadorInicio.getAttributeAsString("endereco")
                                        .equalsIgnoreCase("Sem endereo")
                                                ? "No h resoluo de endereo para este local"
                                                : marcadorInicio.getAttributeAsString("endereco"));
                                nomeCliente = ((Info.usuarioLogado.get("codUnidadeCliente") == null)
                                        ? "</br><strong> Cliente: </strong>" + TabHistorico.veiculos
                                                .getSelectedRecord().getAttributeAsString("cliente")
                                                + "</strong>"
                                        : "");
                                String direcao = "</br><strong>Direo: </strong> "
                                        + marcadorInicio.getAttributeAsString("direcao") + nomeCliente;
                                GWT.log("mapaHistoricoOpenLayer 01");
                                //mapaHistoricoOpenLayer.addMarker(longitudePosicao, latitudePosicao, placa, icone, 0, data, velocidade, ignicao, enderecoPosicao, direcao);
                                GWT.log("mapaHistoricoOpenLayer 02");
                                //                            String data = marcadorInicio.getAttributeAsString("dataEhora");
                                //                            String velocidade = marcadorInicio.getAttributeAsString("vel");
                                //                            String ignicao = marcadorInicio.getAttributeAsString("ignReal").equalsIgnoreCase("false") ? "Desligada" : "Ligada";
                                //                            String latitudeVeiculo = marcadorInicio.getAttributeAsString("lat");
                                //                            String longitudeVeiculo = marcadorInicio.getAttributeAsString("lon");
                                //                            String enderecoVeiculo = (marcadorInicio.getAttributeAsString("endereco").equalsIgnoreCase("Sem endereo")) ? "No h resoluo de endereo para este local" : marcadorInicio.getAttributeAsString("endereco");
                                //                            Marker marcadorStreet = new Marker(latLng.value(), placa, icone);
                                //Info.mapaHistorico.addListenerStreetView(Info.mapaHistorico.value(), marker.value(), marcadorStreet.value(), latLng.value(), infoWindow.value(), String.valueOf(i + "Hr"), placa, data, velocidade, ignicao, latitudeVeiculo, longitudeVeiculo, enderecoVeiculo, direcao);
                                infoVeiculo.redraw();
                                //GWT.log("TimeZone client - addDrawHandler: " + timeZone);
                                infoVeiculo.setContents("<strong style=\"font-size:15px; \">"
                                        + Info.titulosMsg.get("placa") + ": " + placa + " "
                                        + Info.titulosMsg.get("fabricante") + ": "
                                        + TabHistorico.veiculos.getSelectedRecord()
                                                .getAttributeAsString("fabricante")
                                        + " " + Info.titulosMsg.get("modelo") + ": "
                                        + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString(
                                                "modelo")
                                        + " " + Info.titulosMsg.get("cor") + ": "
                                        + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("cor")
                                        + " " + Info.titulosMsg.get("ano") + ": "
                                        + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("ano")
                                        + ".</strong>  Percorridos: 0 metros. Tempo : 0.");
                                html.redraw();
                                html.setContents("<a href=\"./ExcelServlet?placa="
                                        + TabHistorico.veiculos.getSelectedRecord().getAttribute("placa")
                                        + "&dataInicio=" + itemDataEhora.getValueAsDate().getTime() + ""
                                        + "&dataFim=" + itemDataEhoraPara.getValueAsDate().getTime() + "\">"
                                        + "<img src=\"./imagens/excel.png\" title=\"Baixar histrico - Excel\" width=\"25\" height=\"25\" />"
                                        + "</a>" + "<a href=\"./PdfServlet?cod="
                                        + TabHistorico.veiculos.getSelectedRecord().getAttribute("codigo")
                                        + "&placa="
                                        + TabHistorico.veiculos.getSelectedRecord().getAttribute("placa")
                                        + "&dataInicio=" + itemDataEhora.getValueAsDate().getTime() + ""
                                        + "&dataFim=" + itemDataEhoraPara.getValueAsDate().getTime() + "\">"
                                        + "<img src=\"./imagens/pdf.png\" title=\"Baixar histrico - PDF\" width=\"25\" height=\"25\" />"
                                        + "</a>");
                                //Info.atualizaEnderecosHistorico.scheduleRepeating(5000);
                            } else {
                                //posicoesVeiculos.setData(new Record[0]);
                                Info.fecharJanelaCarrgando();
                                SC.warn("Este intervalo de datas no possui posies!");
                                GWT.log("ERRO ao listar posicoes dos veculos! HistricoInicial");
                            }
                        }
                    });

        }
    });
    //GWT.log("Info.timeZoneClient() : " + timeZone);

    //        final HLayout janelaCarregando = new HLayout();
    //        janelaCarregando.setWidth100();
    //        janelaCarregando.setHeight100();
    //        janelaCarregando.setShowEdges(false);
    //        janelaCarregando.setLayoutAlign(Alignment.CENTER);
    //        janelaCarregando.setAlign(Alignment.CENTER);
    //        
    //        final VLayout janela = new VLayout();
    //        janela.setBackgroundColor("#1BAEAE");
    //        janela.setWidth(200);
    //        janela.setHeight(45);
    //        janela.setShowEdges(false);
    //        
    //        janela.setLayoutAlign(Alignment.CENTER);
    //        janelaCarregando.addMember(janela);
    pesquisar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {

            final Timestamp dataInicio = new Timestamp(itemDataEhora.getValueAsDate().getTime());
            final Timestamp dataFim = new Timestamp(itemDataEhoraPara.getValueAsDate().getTime());
            //GWT.log("dataInicio: "+dataInicio.getTime());
            //GWT.log("dataFim: "+dataFim.getTime());

            if (formHistorico.validate() && formHistoricoPara.validate()
                    && dataFim.getTime() > dataInicio.getTime()) {
                Info.abrirJanelaCarregando();
                final String codVeiculoGrid = TabHistorico.veiculos.getSelectedRecord().getAttribute("codigo");
                i = 1;
                TabHistorico.posicoesVeiculos.setData(new Record[0]);
                TabHistorico.posicoesSemEndereco.clear();

                Info.dbService.buscarPosicoesPorIntervaloData(codVeiculoGrid, dataInicio, dataFim,
                        new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                            @Override
                            public void onFailure(Throwable caught) {
                                Info.fecharJanelaCarrgando();
                                SC.warn("Falha na conexo - PosicoesPorIntervaloData");
                            }

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

                                if (result != null) {
                                    Info.fecharJanelaCarrgando();
                                    html.redraw();
                                    html.setContents("<a href=\"./ExcelServlet?placa="
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("placa")
                                            + "&dataInicio=" + itemDataEhora.getValueAsDate().getTime() + ""
                                            + "&dataFim=" + itemDataEhoraPara.getValueAsDate().getTime() + "\">"
                                            + "<img src=\"./imagens/excel.png\" title=\"Baixar histrico - Excel\" width=\"25\" height=\"25\" />"
                                            + "</a>" + "<a href=\"./PdfServlet?cod="
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("codigo")
                                            + "&placa="
                                            + TabHistorico.veiculos.getSelectedRecord().getAttribute("placa")
                                            + "&dataInicio=" + itemDataEhora.getValueAsDate().getTime() + ""
                                            + "&dataFim=" + itemDataEhoraPara.getValueAsDate().getTime() + "\">"
                                            + "<img src=\"./imagens/pdf.png\" title=\"Baixar histrico - PDF\" width=\"25\" height=\"25\" />"
                                            + "</a>");
                                    //setPosicoesVeiculo(result);
                                    for (TreeMap<String, String> posicoes : result) {
                                        //if(posicoes.get("placa").equalsIgnoreCase(placaVeiculo)) {                       
                                        Record registro = new Record();
                                        registro.setAttribute("contador", i);
                                        registro.setAttribute("google",
                                                "<a  href=\"http://maps.google.com.br/maps?q="
                                                        + posicoes.get("lat") + "," + posicoes.get("lon")
                                                        + "\" title=\"Google maps\" target=\"_blank\"><img src=\"./imagens/mapa.png\" alt=\"Google\" height =\"16px\" width=\"16px\"></a>");
                                        registro.setAttribute("codPosicao",
                                                Integer.parseInt(posicoes.get("codigo")));
                                        registro.setAttribute("lat", posicoes.get("lat"));
                                        registro.setAttribute("lon", posicoes.get("lon"));
                                        registro.setAttribute("dataEhoraReal",
                                                Long.parseLong(posicoes.get("dataHora")));
                                        //DateUtil.setDefaultDisplayTimezone("-03:00");
                                        //registro.setAttribute("dataEhora", DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM).format(new Timestamp(Long.parseLong(posicoes.get("dataHora"))), TimeZone.createTimeZone(120)));
                                        registro.setAttribute("dataEhora", posicoes.get("dataHoraString"));
                                        //registro.setAttribute("sat", posicoes.get("sat"));
                                        registro.setAttribute("sat", posicoes.get("sat")
                                                + " <img src=\"../imagens/satelite.png\" width=\"16\" height=\"16\" alt=\"Satlite\" title=\"Satlite\"/>");
                                        //registro.setAttribute("gps", posicoes.get("gps"));
                                        registro.setAttribute("gps",
                                                (posicoes.get("gps").equalsIgnoreCase("0"))
                                                        ? "<nbr class=\"positivo\">Atualizado</nbr>"
                                                        : "<nbr class=\"alerta\">Memria</nbr>");
                                        registro.setAttribute("vel", posicoes.get("vel"));
                                        registro.setAttribute("ignReal",
                                                Boolean.parseBoolean(posicoes.get("ign")));
                                        registro.setAttribute("ign", (Boolean.parseBoolean(posicoes.get("ign")))
                                                ? "<img src=\"../imagens/ignligada.png\" width=\"16\" height=\"16\" alt=\"Ligada\" title=\"Ligada\"/>"
                                                : "<img src=\"../imagens/igndesligada.png\" width=\"16\" height=\"16\" alt=\"desligada\"  title=\"Desligada\"/>");
                                        registro.setAttribute("entrada", posicoes.get("entrada"));
                                        registro.setAttribute("saida", posicoes.get("saida"));
                                        registro.setAttribute("evento", posicoes.get("evento"));
                                        registro.setAttribute("endereco",
                                                (posicoes.get("endereco") == null) ? "Sem endereo"
                                                        : posicoes.get("endereco"));
                                        registro.setAttribute("codDirecao", posicoes.get("codDirecao"));
                                        registro.setAttribute("direcao", posicoes.get("direcao"));
                                        TabHistorico.posicoesVeiculos.addData(registro);
                                        i++;
                                        if (posicoes.get("endereco") == null) {
                                            TabHistorico.posicoesSemEndereco.add(registro);
                                        }
                                    }
                                    TabHistorico.posicoesVeiculos.selectRecord(0, true);
                                    infoVeiculo.redraw();
                                    infoVeiculo
                                            .setContents("<strong style=\"font-size:15px; \">"
                                                    + Info.titulosMsg.get("placa") + ": "
                                                    + TabHistorico.veiculos.getSelectedRecord()
                                                            .getAttribute("placa")
                                                    + " " + Info.titulosMsg.get("fabricante") + ": "
                                                    + TabHistorico.veiculos.getSelectedRecord()
                                                            .getAttributeAsString("fabricante")
                                                    + " " + Info.titulosMsg.get("modelo") + ": "
                                                    + TabHistorico.veiculos.getSelectedRecord()
                                                            .getAttributeAsString("modelo")
                                                    + " " + Info.titulosMsg.get("cor") + ": "
                                                    + TabHistorico.veiculos.getSelectedRecord()
                                                            .getAttributeAsString("cor")
                                                    + " " + Info.titulosMsg.get("ano") + ": "
                                                    + TabHistorico.veiculos.getSelectedRecord()
                                                            .getAttributeAsString("ano")
                                                    + ".</strong>  Percorridos: 0 metros. Tempo : 0.");
                                } else {
                                    Info.fecharJanelaCarrgando();
                                    SC.warn("Este intervalo de datas no possui posies!");
                                    //GWT.log("ERRO ao listar posicoes dos veculos! Histrico");
                                }
                            }
                        });
            } else if (formHistorico.validate(false) && formHistoricoPara.validate(false)
                    && dataFim.getTime() < dataInicio.getTime()) {
                SC.warn("A data final  menor que a data inicial!");
                formHistoricoPara.focusInItem(itemDataEhoraPara);
            }

        }
    });

    limpar.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            itemDataEhora.redraw();
            itemDataEhora.setValue(
                    new Date(dataAtual.getYear(), dataAtual.getMonth(), dataAtual.getDate(), 0, 0, 0));
            itemDataEhoraPara.redraw();
            itemDataEhoraPara.setValue(
                    new Date(dataAtual.getYear(), dataAtual.getMonth(), dataAtual.getDate(), 23, 59, 59));
        }
    });

    final HLayout painelFormulario = new HLayout();
    painelFormulario.setWidth((Info.larguraTela() - (Info.larguraTela() / 2)));
    painelFormulario.setLayoutAlign(Alignment.CENTER);
    painelFormulario.setMembersMargin(3);
    painelFormulario.addMember(formHistorico);
    painelFormulario.addMember(formHistoricoPara);
    painelFormulario.addMember(hButoes);

    final VLayout painelFormularioMapa = new VLayout();

    painelFormularioMapa.addMember(mapaHistoricoOpenLayer);

    final ImgButton refreshMapa = new ImgButton();
    refreshMapa.setSrc("[SKIN]actions/refresh.png");
    refreshMapa.setTooltip("Atualizar mapa");
    refreshMapa.setSize(16);
    refreshMapa.setShowFocused(false);
    refreshMapa.setShowRollOver(false);
    refreshMapa.setShowDown(false);
    refreshMapa.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            mapaHistoricoOpenLayer.getOsm_1().redraw();
        }
    });

    final ImgButton addPlacas = new ImgButton();
    addPlacas.setSrc("[SKIN]actions/add.png");
    addPlacas.setTooltip("Maximizar lista de veculos");
    addPlacas.setSize(16);
    addPlacas.setShowFocused(false);
    addPlacas.setShowRollOver(false);
    addPlacas.setShowDown(false);
    addPlacas.setDisabled(true);

    final ImgButton removePlacas = new ImgButton();
    removePlacas.setSrc("[SKIN]actions/remove.png");
    removePlacas.setTooltip("Minimizar lista de veculos");
    removePlacas.setSize(16);
    removePlacas.setShowFocused(false);
    removePlacas.setShowRollOver(false);
    removePlacas.setShowDown(false);
    removePlacas.setDisabled(true);

    addPlacas.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            painelSectionPlacas.setAnimateTime(1200);
            painelSectionPlacas.animateShow(AnimationEffect.FADE);
            addPlacas.setDisabled(true);
            removePlacas.setDisabled(false);
        }
    });

    removePlacas.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {

            painelSectionPlacas.setAnimateTime(1200);
            painelSectionPlacas.animateHide(AnimationEffect.FADE);
            addPlacas.setDisabled(false);
            removePlacas.setDisabled(true);
            //painelFormulario.hide();
        }
    });

    final ImgButton telaCheia = new ImgButton();
    telaCheia.setSrc("../imagens/fullscreen.png");
    telaCheia.setTooltip("Tela Cheia");
    telaCheia.setSize(16);
    telaCheia.setShowFocused(false);
    telaCheia.setShowRollOver(false);
    telaCheia.setShowDown(false);
    //telaCheia.setDisabled(true);
    telaCheia.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            Info.telaCheia("map-historico");
        }
    });

    final SectionStackSection mapaSection = new SectionStackSection();
    mapaSection.setTitle(Info.titulosMsg.get("mapa"));//
    mapaSection.setExpanded(true);
    //        boolean internetExplore = false;
    //        internetExplore = Info.identificaNavegador();
    //        if (internetExplore) {
    mapaSection.setControls(painelFormulario, refreshMapa, addPlacas, removePlacas);
    //        } else {
    //            mapaSection.setControls(painelFormulario, telaCheia, refreshMapa, addPlacas, removePlacas);
    //        }      
    mapaSection.setResizeable(true);
    mapaSection.setItems(painelFormularioMapa);

    final HLayout painelLabelsInfomacoes = new HLayout();
    painelLabelsInfomacoes.setHeight(32);
    painelLabelsInfomacoes.addMember(infoVeiculo);
    painelLabelsInfomacoes.addMember(labelPosicoesSemEndereco);
    final VLayout painelGridVeiculos = new VLayout();
    //painelGridVeiculos.setMembersMargin(10);
    painelGridVeiculos.addMember(painelLabelsInfomacoes);
    painelGridVeiculos.addMember(TabHistorico.posicoesVeiculos);
    painelGridVeiculos.setHeight100();

    final HLayout painelGridInfoVeiculo = new HLayout();
    painelGridInfoVeiculo.setMembersMargin(5);
    painelGridInfoVeiculo.addMember(TabHistorico.veiculos);
    painelGridInfoVeiculo.addMember(painelGridVeiculos);
    painelGridInfoVeiculo.setHeight("28%");

    final SectionStackSection dadosSection = new SectionStackSection();
    dadosSection.setTitle(Info.titulosMsg.get("dadosVeiculo"));
    dadosSection.setItems(painelGridInfoVeiculo);
    dadosSection.setExpanded(true);
    dadosSection.setControls(html);

    final SectionStack buscarClientes = new SectionStack();
    buscarClientes.setSections(mapaSection, dadosSection);
    buscarClientes.setVisibilityMode(VisibilityMode.MULTIPLE);
    buscarClientes.setAnimateSections(true);
    buscarClientes.setWidth100();
    buscarClientes.setHeight100();
    buscarClientes.setOverflow(Overflow.VISIBLE);
    //excluir.setWidth(40);
    final ListGridField codigo = new ListGridField("codigo", Info.titulosMsg.get("tituloCodigo"));
    final ListGridField placaPosicao = new ListGridField("placa", Info.titulosMsg.get("lista"));
    codigo.setHidden(true);
    placaPosicao.setAlign(Alignment.CENTER);
    TabHistorico.veiculos.setDataSource(TabHistorico.dataSoucePlacas);

    final ListGridField quantidade = new ListGridField("contador", Info.titulosMsg.get("numeroEndereco"));
    final ListGridField googleMap = new ListGridField("google", "Mapa");
    final ListGridField codPosicao = new ListGridField("codPosicao", "codPosicao");
    final ListGridField lat = new ListGridField("lat", Info.titulosMsg.get("latitude"));
    final ListGridField lon = new ListGridField("lon", Info.titulosMsg.get("longitude"));
    final ListGridField dataEhoraReal = new ListGridField("dataEhoraReal", Info.titulosMsg.get("dataHora"));
    final ListGridField dataEhora = new ListGridField("dataEhora", Info.titulosMsg.get("dataHora"));
    final ListGridField sat = new ListGridField("sat", Info.titulosMsg.get("satelite"));
    final ListGridField gps = new ListGridField("gps", Info.titulosMsg.get("gps"));
    final ListGridField vel = new ListGridField("vel", Info.titulosMsg.get("velocidade"));
    final ListGridField ingReal = new ListGridField("ignReal", Info.titulosMsg.get("ignicao"));
    final ListGridField ing = new ListGridField("ign", Info.titulosMsg.get("ignicao"));
    final ListGridField entrada = new ListGridField("entrada", Info.titulosMsg.get("entrada"));
    final ListGridField saida = new ListGridField("saida", Info.titulosMsg.get("saida"));
    final ListGridField evento = new ListGridField("evento", Info.titulosMsg.get("evento"));
    final ListGridField enderecoPosicao = new ListGridField("endereco", Info.titulosMsg.get("endereco"));
    final ListGridField codDirecao = new ListGridField("codDirecao", Info.titulosMsg.get("direcao"));
    final ListGridField direcao = new ListGridField("direcao", Info.titulosMsg.get("direcao"));
    final ListGridField fabricante = new ListGridField("fabricante", Info.titulosMsg.get("fabricante"));
    final ListGridField modelo = new ListGridField("modelo", Info.titulosMsg.get("modelo"));
    final ListGridField cor = new ListGridField("cor", Info.titulosMsg.get("cor"));
    final ListGridField ano = new ListGridField("ano", Info.titulosMsg.get("ano"));

    quantidade.setWidth(40);
    quantidade.setAlign(Alignment.CENTER);
    googleMap.setAlign(Alignment.CENTER);
    googleMap.setWidth(60);
    //quantidade.setHidden(true);
    codPosicao.setHidden(true);
    fabricante.setHidden(true);
    modelo.setHidden(true);
    cor.setHidden(true);
    ano.setHidden(true);

    //codPosicao.setWidth(1);
    //codPosicao.setHidden(true);        
    lat.setAlign(Alignment.CENTER);
    lat.setWidth(80);
    lon.setAlign(Alignment.CENTER);
    lon.setWidth(80);
    dataEhora.setAlign(Alignment.CENTER);
    dataEhora.setWidth(115);
    sat.setAlign(Alignment.CENTER);
    sat.setWidth(80);
    gps.setAlign(Alignment.CENTER);
    gps.setWidth(65);
    vel.setAlign(Alignment.CENTER);
    vel.setWidth(80);
    ing.setAlign(Alignment.CENTER);
    ing.setWidth(70);
    ingReal.setAlign(Alignment.CENTER);
    ingReal.setHidden(true);
    entrada.setAlign(Alignment.CENTER);
    entrada.setWidth(80);
    saida.setAlign(Alignment.CENTER);
    saida.setWidth(80);
    evento.setAlign(Alignment.CENTER);
    evento.setWidth(80);
    enderecoPosicao.setAlign(Alignment.CENTER);
    //enderecoPosicao.setWidth(500);
    codDirecao.setAlign(Alignment.CENTER);
    codDirecao.setHidden(true);
    direcao.setAlign(Alignment.CENTER);
    direcao.setWidth(70);
    dataEhoraReal.setHidden(true);

    if (Info.usuarioLogado.get("codClienteCliente") != null) {
        lat.setHidden(true);
        lon.setHidden(true);
        //sat.setHidden(true);
        entrada.setHidden(true);
        saida.setHidden(true);
        evento.setHidden(true);
    }
    TabHistorico.posicoesVeiculos.setFields(quantidade, googleMap, codPosicao, dataEhoraReal, dataEhora, vel,
            ingReal, ing, lat, lon, sat, gps, entrada, saida, evento, enderecoPosicao, codDirecao, direcao,
            fabricante, modelo, cor, ano);

    //posicoesVeiculos.setSortField(0);
    //posicoesVeiculos.setSortDirection(SortDirection.DESCENDING);
    //painelPai.addMember(painelSectionPlacas);
    painelPai.addMember(buscarClientes);
    setPane(painelPai);

    TabHistorico.veiculos.addDrawHandler(new DrawHandler() {

        @Override
        public void onDraw(DrawEvent event) {

            //TabHistorico.veiculos.setDataSource(dataSoucePlacas);
            //TabHistorico.veiculos.fetchData();
            TabHistorico.TABELA_VEICULOS_HISTORICO_DESENHADA = true;
            TabHistorico.veiculos.selectRecord(veiculos.getRecord(indexVeiculoPlaca));
            TabHistorico.veiculos.groupBy("grupo");
            TabHistorico.veiculos.selectRecord(veiculos.getRecord(indexVeiculoPlaca));
            //TabHistorico.veiculos.selectRecord(indexVeiculoPlaca);
        }
    });
    TabHistorico.veiculos.setAutoFetchData(true);
    TabHistorico.veiculos.setDataSource(TabHistorico.dataSoucePlacas);
    TabHistorico.veiculos.fetchData();
    TabHistorico.veiculos.setGroupStartOpen(GroupStartOpen.ALL);
    TabHistorico.veiculos.setGroupByField("grupo");
    TabHistorico.veiculos.groupBy("grupo");

    TabHistorico.veiculos.addGroupByCompleteHandler(new GroupByCompleteHandler() {

        @Override
        public void onGroupByComplete(GroupByCompleteEvent event) {
            if (TabHistorico.veiculos.getTotalRows() > indexVeiculoPlaca) {
                //veiculos.selectRecord(indexVeiculoPlaca + 1);
                TabHistorico.veiculos.selectRecord(indexVeiculoPlaca);
                //GWT.log("addGroupByCompleteHandler: "+indexVeiculoPlaca);
            } else {
                TabHistorico.veiculos.selectRecord(0);
                //GWT.log("addGroupByCompleteHandler: "+indexVeiculoPlaca);
            }
        }
    });
    TabHistorico.veiculos.addGroupStateChangedHandler(new GroupStateChangedHandler() {

        @Override
        public void onGroupStateChanged(GroupStateChangedEvent event) {
            if (TabHistorico.TABELA_VEICULOS_HISTORICO_DESENHADA) {
                if (TabHistorico.veiculos.getTotalRows() > indexVeiculoPlaca) {
                    //veiculos.selectRecord(indexVeiculoPlaca + 1);
                    TabHistorico.veiculos.selectRecord(veiculos.getRecord(indexVeiculoPlaca));
                    //GWT.log("addGroupStateChangedHandler" + indexVeiculoPlaca);
                } else {
                    TabHistorico.veiculos.selectRecord(veiculos.getRecord(0));
                    //GWT.log("addGroupStateChangedHandler" + indexVeiculoPlaca);
                }
                //veiculos.focus();
            }
        }
    });

    TabHistorico.veiculos.addSelectionUpdatedHandler(new SelectionUpdatedHandler() {

        @Override
        public void onSelectionUpdated(SelectionUpdatedEvent event) {
            //Info.markersHistorico.markersClearAll(Info.polyHistorico, Info.markersHistorico.markersValue());
            String codVeiculoGrid = TabHistorico.veiculos.getSelectedRecord().getAttribute("codigo");
            GWT.log("Cdigo do veculo selecionado: " + codVeiculoGrid);
            TabHistorico.indexVeiculoPlaca = TabHistorico.veiculos
                    .getRecordIndex(TabHistorico.veiculos.getSelectedRecord());
            //Info.mapaHistorico.setZoom(16);
            html.redraw();
            //GWT.log("TimeZone client - addSelectionChangedHandler: " + timeZone);
            html.setContents("<a href=\"./ExcelServlet?placa="
                    + TabHistorico.veiculos.getSelectedRecord().getAttribute("placa") + "&dataInicio="
                    + itemDataEhora.getValueAsDate().getTime() + "" + "&dataFim="
                    + itemDataEhoraPara.getValueAsDate().getTime() + "\">"
                    + "<img src=\"./imagens/excel.png\" title=\"Baixar histrico - Excel\" width=\"25\" height=\"25\" />"
                    + "</a>" + "<a href=\"./PdfServlet?cod="
                    + TabHistorico.veiculos.getSelectedRecord().getAttribute("codigo") + "&placa="
                    + TabHistorico.veiculos.getSelectedRecord().getAttribute("placa") + "&dataInicio="
                    + itemDataEhora.getValueAsDate().getTime() + "" + "&dataFim="
                    + itemDataEhoraPara.getValueAsDate().getTime() + "\">"
                    + "<img src=\"./imagens/pdf.png\" title=\"Baixar histrico - PDF\" width=\"25\" height=\"25\" />"
                    + "</a>");
            infoVeiculo.redraw();
            infoVeiculo.setContents("<strong style=\"font-size:15px; \">" + Info.titulosMsg.get("placa") + ": "
                    + TabHistorico.veiculos.getSelectedRecord().getAttribute("placa") + " "
                    + Info.titulosMsg.get("fabricante") + ": "
                    + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("fabricante") + " "
                    + Info.titulosMsg.get("modelo") + ": "
                    + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("modelo") + " "
                    + Info.titulosMsg.get("cor") + ": "
                    + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("cor") + " "
                    + Info.titulosMsg.get("ano") + ": "
                    + TabHistorico.veiculos.getSelectedRecord().getAttributeAsString("ano")
                    + ".</strong>  Percorridos: 0 metros. Tempo : 0.");

            //GWT.log("Index Placa: "+indexVeiculoPlaca);
            TabHistorico.posicoesSemEndereco.clear();

            Timestamp dataInicio = new Timestamp(itemDataEhora.getValueAsDate().getTime());
            Timestamp dataFim = new Timestamp(itemDataEhoraPara.getValueAsDate().getTime());
            TabHistorico.posicoesVeiculos.setData(new Record[0]);
            i = 1;
            Info.abrirJanelaCarregando();

            Info.dbService.buscarPosicoesPorIntervaloData(codVeiculoGrid, dataInicio, dataFim,
                    new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

                        @Override
                        public void onFailure(Throwable caught) {
                            Info.fecharJanelaCarrgando();
                            SC.warn("Falha na conexo - PosicoesPorIntervaloData2");

                        }

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

                            TabHistorico.posicoesVeiculos.setData(new Record[0]);
                            i = 1;

                            if (result != null) {
                                Info.fecharJanelaCarrgando();
                                html.redraw();

                                for (TreeMap<String, String> posicoes : result) {
                                    Record registro = new Record();
                                    registro.setAttribute("contador", i);
                                    registro.setAttribute("google",
                                            "<a  href=\"http://maps.google.com.br/maps?q=" + posicoes.get("lat")
                                                    + "," + posicoes.get("lon")
                                                    + "\" title=\"Google maps\" target=\"_blank\"><img src=\"./imagens/mapa.png\" alt=\"Google\" height =\"16px\" width=\"16px\"></a>");
                                    registro.setAttribute("codPosicao",
                                            Integer.parseInt(posicoes.get("codigo")));
                                    registro.setAttribute("lat", posicoes.get("lat"));
                                    registro.setAttribute("lon", posicoes.get("lon"));
                                    registro.setAttribute("dataEhoraReal",
                                            Long.parseLong(posicoes.get("dataHora")));
                                    //DateUtil.setDefaultDisplayTimezone("-03:00");
                                    //registro.setAttribute("dataEhora", DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM).format(new Timestamp(Long.parseLong(posicoes.get("dataHora"))), TimeZone.createTimeZone(120)));
                                    registro.setAttribute("dataEhora", posicoes.get("dataHoraString"));
                                    //registro.setAttribute("sat", posicoes.get("sat"));
                                    registro.setAttribute("sat", posicoes.get("sat")
                                            + " <img src=\"../imagens/satelite.png\" width=\"16\" height=\"16\" alt=\"Satlite\" title=\"Satlite\"/>");
                                    //registro.setAttribute("gps", posicoes.get("gps"));
                                    registro.setAttribute("gps",
                                            (posicoes.get("gps").equalsIgnoreCase("0"))
                                                    ? "<nbr class=\"positivo\">Atualizado</nbr>"
                                                    : "<nbr class=\"alerta\">Memria</nbr>");
                                    registro.setAttribute("vel", posicoes.get("vel"));
                                    registro.setAttribute("ignReal", Boolean.parseBoolean(posicoes.get("ign")));
                                    registro.setAttribute("ign", (Boolean.parseBoolean(posicoes.get("ign")))
                                            ? "<img src=\"../imagens/ignligada.png\" width=\"16\" height=\"16\" alt=\"Ligada\" title=\"Ligada\"/>"
                                            : "<img src=\"../imagens/igndesligada.png\" width=\"16\" height=\"16\" alt=\"desligada\"  title=\"Desligada\"/>");
                                    registro.setAttribute("entrada", posicoes.get("entrada"));
                                    registro.setAttribute("saida", posicoes.get("saida"));
                                    registro.setAttribute("evento", posicoes.get("evento"));
                                    registro.setAttribute("endereco",
                                            (posicoes.get("endereco") == null) ? "Sem endereo"
                                                    : posicoes.get("endereco"));
                                    registro.setAttribute("codDirecao", posicoes.get("codDirecao"));
                                    registro.setAttribute("direcao", posicoes.get("direcao"));
                                    TabHistorico.posicoesVeiculos.addData(registro);
                                    i++;
                                    if (posicoes.get("endereco") == null) {
                                        TabHistorico.posicoesSemEndereco.add(registro);
                                    }
                                }

                                TabHistorico.posicoesVeiculos.selectRecord(0, true);
                                if (flagSemEndereco) {
                                    flagSemEndereco = false;
                                    Info.atualizaPosicoesSemEnderecoHistorico.scheduleRepeating(5000);
                                }

                            } else {
                                Info.fecharJanelaCarrgando();
                                html.redraw();
                                SC.warn("Este intervalo de datas no possui posies!");
                                //GWT.log("ERRO ao listar posicoes dos veculos! Histrico");
                            }
                        }
                    });
        }
    });

    TabHistorico.veiculos.addDataArrivedHandler(new DataArrivedHandler() {

        @Override
        public void onDataArrived(DataArrivedEvent event) {

            //GWT.log("LINHA addDataArrivedHandler ++++++++++++++++");
            if (tamanhoListaVeiculos > 0) {

                if (tamanhoListaVeiculos > 7 && verificaListaDeVeiculos) {
                    verificaListaDeVeiculos = false;
                    //GWT.log("Tamanho lista veculos : " + tamanhoListaVeiculos + " verficaLista : " + verificaListaDeVeiculos);
                    //painelPai.clear();
                    removePlacas.setDisabled(false);
                    painelPai.redraw();
                    final SectionStackSection placasSection = new SectionStackSection();
                    placasSection.setTitle("Placas");
                    TabHistorico.veiculos.markForRedraw();
                    TabHistorico.veiculos.setBorder("0px");
                    TabHistorico.veiculos.setWidth("100%");
                    placasSection.setItems(veiculos);
                    placasSection.setExpanded(true);
                    //placasSection.setControls(addPlacas, removePlacas);

                    final SectionStack listaDePlacasSectionStack = new SectionStack();
                    listaDePlacasSectionStack.setSections(placasSection);
                    listaDePlacasSectionStack.setVisibilityMode(VisibilityMode.MULTIPLE);
                    listaDePlacasSectionStack.setAnimateSections(true);
                    listaDePlacasSectionStack.setWidth100();
                    listaDePlacasSectionStack.setHeight100();
                    listaDePlacasSectionStack.setOverflow(Overflow.VISIBLE);
                    painelSectionPlacas.setMembersMargin(5);
                    painelSectionPlacas.setWidth("10%");
                    painelSectionPlacas.setHeight100();
                    painelSectionPlacas.addMember(listaDePlacasSectionStack);

                    painelGridVeiculos.markForRedraw();
                    painelGridVeiculos.addMember(TabHistorico.posicoesVeiculos);

                    painelPai.addMember(painelSectionPlacas, 0);
                    painelPai.addMember(buscarClientes, 1);
                }
            }
        }
    });

    TabHistorico.posicoesVeiculos.addSelectionUpdatedHandler(new SelectionUpdatedHandler() {

        @Override
        public void onSelectionUpdated(SelectionUpdatedEvent event) {

            ListGridRecord[] lista = new ListGridRecord[0];
            lista = TabHistorico.posicoesVeiculos.getSelectedRecords();
            //GWT.log("posicoesVeiculos.addSelectionUpdatedHandler");
            sortPosicoes(lista);
        }
    });

    Info.atualizaPosicoesSemEnderecoHistorico = new Timer() {

        @Override
        public void run() {

            if (Info.validaConexao()) {

                Record registro = new Record();
                registro.setAttribute("dataHoraReal", new Timestamp(System.currentTimeMillis()).getTime());
                registro.setAttribute("log",
                        "Linha da Thread atualiza Posicoes sem endereo: "
                                + DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM)
                                        .format(new Timestamp(System.currentTimeMillis())));
                TabLog.log.addData(registro);
                //GWT.log("HISTRICO - posicoesSemEndereco: "+TabHistorico.posicoesSemEndereco.size());
                final String placaSelecao = TabHistorico.veiculos.getSelectedRecord()
                        .getAttributeAsString("placa");
                //GWT.log("PLACA SELECIONADA H1 : "+placaSelecao);

                if (TabHistorico.posicoesSemEndereco.size() > 0) {

                    Timer avisoTimer = new Timer() {

                        @Override
                        public void run() {
                            labelPosicoesSemEndereco.redraw();
                            labelPosicoesSemEndereco.setContents(
                                    "<nbr>Aguarde... Restando : " + TabHistorico.posicoesSemEndereco.size()
                                            + " endereo(s) a ser processado(s)!</nbr>");
                        }
                    };
                    avisoTimer.schedule(3500);

                    for (final Record posicaoSemEndereco : TabHistorico.posicoesSemEndereco) {

                        final String lat = posicaoSemEndereco.getAttributeAsString("lat");
                        final String lon = posicaoSemEndereco.getAttributeAsString("lon");

                        String latLng = lat + ";" + lon;
                        //GWT.log("LatLng T1: "+latLng);
                        if (Info.enderecosResolvidos.containsKey(latLng)) {

                            int index = TabHistorico.posicoesVeiculos.getRecordIndex(posicaoSemEndereco);

                            if (index != -1) {

                                TabHistorico.posicoesVeiculos.getRecord(index).setAttribute("endereco",
                                        Info.enderecosResolvidos.get(latLng));
                                TabHistorico.posicoesVeiculos.markForRedraw();
                                TabHistorico.posicoesVeiculos.refreshRecordComponent(index, 13);

                                //GWT.log("HISTRICO - Resolvido VARI?VEL LOCAL!");
                                TreeMap<String, String> enderecoPosicao = new TreeMap<>();
                                enderecoPosicao.put("placa", placaSelecao);
                                //GWT.log("Placa selecionada HISTORICO 1 "+placaSelecao);
                                enderecoPosicao.put("lat", lat);
                                enderecoPosicao.put("lon", lon);

                                TabHistorico.posicoesSemEndereco.remove(posicaoSemEndereco);
                                //TabHistorico.semafaro = true;

                                Info.dbService.atualizarPosicaoEndereco(enderecoPosicao,
                                        new AsyncCallback<Boolean>() {

                                            @Override
                                            public void onFailure(Throwable caught) {
                                                Window.alert(
                                                        "atualizarPosicaoEnderecoHistorico - A remote interface failure !: "
                                                                + caught.getMessage());
                                            }

                                            @Override
                                            public void onSuccess(Boolean result) {
                                                //GWT.log("Endereco atualizado no BD : " + result);
                                            }
                                        });
                            }

                        } else {
                            for (int i = 0; i < 20; i++) {
                                if (i == 19) {
                                    //if(flagBuscaEndereco){
                                    flagBuscaEndereco = false;
                                    GWT.log("LINHA 01 HISTORICO");
                                    buscaEndereco(lat, lon, placaSelecao, posicaoSemEndereco);
                                    GWT.log("LINHA 02 HISTORICO");
                                    //}
                                }
                            }
                        }

                    }

                } else {
                    //TabHistorico.LIMIT_CONSULTA_ENDERECO_GOOGLE = 0;
                    Timer avisoTimer = new Timer() {

                        @Override
                        public void run() {
                            labelPosicoesSemEndereco.redraw();
                            labelPosicoesSemEndereco.setContents("");
                        }
                    };
                    avisoTimer.schedule(3500);
                }
            }
        }
    };
}

From source file:com.automaster.autoview.client.ui.paineis.tabs.monitoramento.TabLogUsuario.java

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);/*from  w ww .j a  va  2  s .  c  o m*/
    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);
}

From source file:com.automaster.autoview.client.ui.paineis.tabs.TabBuscarCliente.java

public void buscarPorCodCliente(int codCliente, final int codUnidCliente) {

    codUnidadeClienteSelecionado = codUnidCliente;
    dataSource = new DataSource();
    dataSource.setClientOnly(true);//from   ww w  .  j  a  v a 2s .  c o m
    DataSourceTextField codigoDataSource = new DataSourceTextField("codigo",
            Info.titulosMsg.get("tituloCodigo"));
    codigoDataSource.setHidden(true);
    codigoDataSource.setRequired(true);
    codigoDataSource.setPrimaryKey(true);
    DataSourceTextField placaVeiculoDataSoruce = new DataSourceTextField("placa", Info.titulosMsg.get("lista"));
    placaVeiculoDataSoruce.setRequired(true);
    dataSource.setFields(codigoDataSource, placaVeiculoDataSoruce);

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

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

                @Override
                public void onSuccess(TreeMap<String, ArrayList<TreeMap<String, String>>> cliente) {
                    GWT.log("Linha buscarPorCodCliente 01");
                    if (cliente != null) {
                        //editCliente.setDisabled(false);
                        if (codigoUnidade == 1 || codUnidCliente == codigoUnidade) {
                            editCliente.setDisabled(false);
                            //editVeiculo.setDisabled(false);
                        } else {
                            editCliente.setDisabled(true);
                            //editVeiculo.setDisabled(true);
                        }
                        senhaCliente.setDisabled(false);
                        if (Info.usuarioLogado.containsKey("4")) {
                            totalDividaCliente.setDisabled(false);
                        }
                        //Fazendo Cpia do Cliente Retornado
                        setClienteEdicao(cliente);
                        //final ArrayList<TreeMap<String, String>> clienteAuxiliar = cliente.pollFirstEntry().getValue();
                        clienteAuxiliar = getClienteEdicao().get(getClienteEdicao().firstKey());
                        if (!dadosCliente.getRecordList().isEmpty()) {
                            dadosCliente.setData(new RecordList());
                        }
                        codigoCliente = Integer.parseInt(clienteAuxiliar.get(0).get("codCliente"));
                        nomeCliente = clienteAuxiliar.get(0).get("nomeCliente");
                        tipoCliente = Integer.parseInt(clienteAuxiliar.get(0).get("tipoCliente"));
                        codUnidadeCliente = Integer.parseInt(clienteAuxiliar.get(0).get("codUnidade"));
                        Record regCliente = new Record();
                        regCliente.setAttribute("codigo", codigoCliente);
                        regCliente.setAttribute("nome", clienteAuxiliar.get(0).get("nomeCliente"));
                        //DateUtil.setDefaultDisplayTimezone("-03:00");
                        //regCliente.setAttribute("dataAdesao", DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(new Date(Long.parseLong(clienteAuxiliar.get(0).get("dataAdesao"))), TimeZone.createTimeZone(120)));
                        regCliente.setAttribute("dataAdesao", clienteAuxiliar.get(0).get("dataAdesaoString"));
                        regCliente.setAttribute("unidade", clienteAuxiliar.get(0).get("nomeUnidade"));
                        regCliente.setAttribute("codEnvio", clienteAuxiliar.get(0).get("codEnvio"));
                        regCliente.setAttribute("modoEnvio", clienteAuxiliar.get(0).get("nomeCobranca"));
                        /* GWT.log("CPF: "+clienteAuxiliar.get(0).get("cpf"));
                         GWT.log("CNPJ: "+clienteAuxiliar.get(0).get("cnpj"));*/
                        dadosCliente.markForRedraw();

                        if (clienteAuxiliar.get(0).get("cpf") == null) {
                            cpfCnpj = Info.formataCNPJ(clienteAuxiliar.get(0).get("cnpj"));
                            regCliente.setAttribute("cnpj",
                                    Info.formataCNPJ(clienteAuxiliar.get(0).get("cnpj")));
                            //DateUtil.setDefaultDisplayTimezone("-03:00");
                            //regCliente.setAttribute("dataAbert", DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(new Date(Long.parseLong(clienteAuxiliar.get(0).get("dataAbertura"))), TimeZone.createTimeZone(120)));
                            regCliente.setAttribute("dataAbert",
                                    clienteAuxiliar.get(0).get("dataAberturaString"));
                            dadosCliente.setFields(nome, cnpj, dataAbert, dataAdesao, unidade, codigo, codEnvio,
                                    modoEnvio);
                            cnpj.setAlign(Alignment.CENTER);
                            dataAbert.setAlign(Alignment.CENTER);
                            dataAdesao.setAlign(Alignment.CENTER);

                        } else {
                            cpfCnpj = Info.formataCPF(clienteAuxiliar.get(0).get("cpf"));
                            regCliente.setAttribute("cpf", Info.formataCPF(clienteAuxiliar.get(0).get("cpf")));
                            //DateUtil.setDefaultDisplayTimezone("-03:00");
                            //regCliente.setAttribute("dataNasc", DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(new Date(Long.parseLong(clienteAuxiliar.get(0).get("dataNasc"))), TimeZone.createTimeZone(120)));
                            regCliente.setAttribute("dataNasc", clienteAuxiliar.get(0).get("dataNascString"));
                            dadosCliente.setFields(nome, cpf, dataNasc, dataAdesao, unidade, codigo, codEnvio,
                                    modoEnvio);
                            cpf.setAlign(Alignment.CENTER);
                            dataNasc.setAlign(Alignment.CENTER);
                            dataAdesao.setAlign(Alignment.CENTER);
                        }
                        dadosCliente.addData(regCliente);
                        if (!enderecos.getRecordList().isEmpty()) {
                            enderecos.setData(new RecordList());
                        }
                        TreeMap<String, String> endAuxiliar = new TreeMap<>();
                        for (TreeMap<String, String> ends : clienteAuxiliar) {
                            if (clienteAuxiliar.get(0).get("codEndereco") != null
                                    && endAuxiliar.get(ends.get("codEndereco")) == null) {
                                Record regEnd = new Record();
                                regEnd.setAttribute("codigo", Integer.parseInt(ends.get("codEndereco")));
                                regEnd.setAttribute("descricao", ends.get("descricaoEndereco"));
                                regEnd.setAttribute("logradouro", ends.get("logradouro"));
                                regEnd.setAttribute("numero", ends.get("numeroEndereco"));
                                regEnd.setAttribute("bairro", ends.get("bairro"));
                                regEnd.setAttribute("cep", ends.get("cep"));
                                regEnd.setAttribute("cidade", ends.get("nomeCidade"));
                                regEnd.setAttribute("cidadeCod", ends.get("codCidade"));
                                regEnd.setAttribute("estado", ends.get("estadoUf"));
                                regEnd.setAttribute("estadoCod", ends.get("codEstado"));
                                regEnd.setAttribute("referencia",
                                        (ends.get("referenciaEndereco") == null
                                                || ends.get("referenciaEndereco").equalsIgnoreCase("")
                                                        ? "Sem informao"
                                                        : ends.get("referenciaEndereco")));
                                enderecos.addData(regEnd);
                                endAuxiliar.put(ends.get("codEndereco"), ends.get("codEndereco"));
                            }
                        }
                        if (!telefones.getRecordList().isEmpty()) {
                            telefones.setData(new RecordList());
                        }
                        TreeMap<String, String> foneAuxiliar = new TreeMap<>();
                        for (TreeMap<String, String> tels : clienteAuxiliar) {
                            if (clienteAuxiliar.get(0).get("codFone") != null
                                    && foneAuxiliar.get(tels.get("codFone")) == null) {
                                Record regTel = new Record();
                                regTel.setAttribute("codigo", Integer.parseInt(tels.get("codFone")));
                                regTel.setAttribute("descricao", tels.get("descricaoFone"));
                                regTel.setAttribute("numero", Info.formataTelefone(tels.get("numeroFone")));
                                telefones.addData(regTel);
                                foneAuxiliar.put(tels.get("codFone"), tels.get("codFone"));
                            }
                        }
                        if (!emails.getRecordList().isEmpty()) {
                            emails.setData(new RecordList());
                        }

                        TreeMap<String, String> emailAuxiliar = new TreeMap<>();
                        for (TreeMap<String, String> ems : clienteAuxiliar) {
                            if (clienteAuxiliar.get(0).get("codEmail") != null
                                    && emailAuxiliar.get(ems.get("codEmail")) == null) {
                                Record regEmails = new Record();
                                regEmails.setAttribute("codigo", Integer.parseInt(ems.get("codEmail")));
                                regEmails.setAttribute("descricao", ems.get("descricaoEmail"));
                                regEmails.setAttribute("email", ems.get("email"));
                                emails.addData(regEmails);
                                emailAuxiliar.put(ems.get("codEmail"), ems.get("codEmail"));
                            }
                        }
                        if (!logins.getRecordList().isEmpty()) {
                            logins.setData(new RecordList());
                        }
                        TreeMap<String, String> usuarioAuxiliar = new TreeMap<>();
                        for (TreeMap<String, String> user : clienteAuxiliar) {
                            if (clienteAuxiliar.get(0).get("codUsuario") != null
                                    && usuarioAuxiliar.get(user.get("codUsuario")) == null) {
                                Record regUsers = new Record();
                                regUsers.setAttribute("codigo", Integer.parseInt(user.get("codUsuario")));
                                regUsers.setAttribute("usuario", user.get("usuario"));
                                regUsers.setAttribute("senha",
                                        (user.get("resetUsuario").equalsIgnoreCase("t")) ? "Alterada"
                                                : "Padro");
                                regUsers.setAttribute("statusCod", user.get("ativoUsuario"));
                                regUsers.setAttribute("status",
                                        ((user.get("ativoUsuario").equalsIgnoreCase("t")) ? "Ativo"
                                                : "Bloqueado"));
                                regUsers.setAttribute("codGrupo", user.get("codGrupo"));
                                regUsers.setAttribute("grupo", user.get("nomeGrupo"));
                                regUsers.setAttribute("resetUsuario",
                                        ((user.get("resetUsuario").equalsIgnoreCase("t")) ? "Resetado"
                                                : "Resetar"));
                                logins.addData(regUsers);
                                usuarioAuxiliar.put(user.get("codUsuario"), user.get("codUsuario"));
                            }
                        }
                        if (!lancamento.getRecordList().isEmpty()) {
                            lancamento.setData(new RecordList());
                        }
                        TreeMap<String, String> lancamentoAuxiliar = new TreeMap<>();
                        for (TreeMap<String, String> lanc : clienteAuxiliar) {
                            if (clienteAuxiliar.get(0).get("codLancamento") != null
                                    && lancamentoAuxiliar.get(lanc.get("codLancamento")) == null) {
                                Record regLanc = new Record();
                                regLanc.setAttribute("codigo", Integer.parseInt(lanc.get("codLancamento")));
                                //DateUtil.setDefaultDisplayTimezone("-03:00");
                                regLanc.setAttribute("data",
                                        DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_SHORT).format(
                                                new Date(Long.parseLong(lanc.get("dataLancamento"))),
                                                TimeZone.createTimeZone(120)));
                                regLanc.setAttribute("valor", "R$"
                                        + Info.formataSaldo(Double.parseDouble(lanc.get("valorLancamento"))));
                                lancamento.addData(regLanc);
                                lancamentoAuxiliar.put(lanc.get("codLancamento"), lanc.get("codLancamento"));
                            }
                        }
                        //editCliente.setDisabled(false);
                        addVeiculo.setDisabled(false);
                        //rastrearVeiculo.setDisabled(false);
                        //gerarContrato.redraw();
                        //download=\"Contrato.pdf\"
                        //gerarContrato.setContents("<a href=\"#\" onclick=\"window.open('./ContratoPfServlet', '_blank','menubar=no'><input type=\"button\" value=\"Gerar contrato\" disabled=\"disabled\"></a>");
                        Info.dbService.buscarVeiculoPorCliente(
                                Integer.parseInt(clienteAuxiliar.get(0).get("codCliente")),
                                new AsyncCallback<TreeMap<String, ArrayList<TreeMap<String, String>>>>() {

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

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

                                        //GWT.log("");
                                        GWT.log("Linha buscarVeiculoPorCliente 01");
                                        TabBuscarCliente.totalMensalidadesVeiculos = 0;
                                        veiculos = new TreeMap<>();
                                        if (dadosVeic != null) {
                                            if (!veicPlacas.getRecordList().isEmpty()) {
                                                veicPlacas.setData(new Record[0]);
                                                flagDrawGrid = false;
                                                veicPlacas.markForRedraw();
                                                tabelaVeiculos.setContents(tabelaVazia);
                                                tabelaVeiculos.redraw();
                                                indexVeiculoPlaca = 0;
                                            }
                                            //GWT.log("Linha buscarVeiculoPorCliente 02");
                                            veiculos = new TreeMap<>(dadosVeic);

                                            TreeMap<String, String> placasVeciuloAux = new TreeMap<>();
                                            for (Map.Entry<String, ArrayList<TreeMap<String, String>>> entrySet : dadosVeic
                                                    .entrySet()) {
                                                String key = entrySet.getKey();
                                                GWT.log("PLACA FRANGO: " + key);
                                                ArrayList<TreeMap<String, String>> value = entrySet.getValue();
                                                if (!placasVeciuloAux
                                                        .containsKey(value.get(0).get("placaVeiculo"))) {
                                                    Record recordVeiculos = new Record();
                                                    recordVeiculos.setAttribute("placa",
                                                            value.get(0).get("placaVeiculo"));
                                                    recordVeiculos.setAttribute("codigo",
                                                            value.get(0).get("codVeiculo"));
                                                    //                                        recordVeiculos.setAttribute("icone", value.get(0).get("codIcone"));
                                                    //                                        recordVeiculos.setAttribute("grupo", value.get(0).get("nomeGrupo"));
                                                    //                                        recordVeiculos.setAttribute("fabricante", value.get(0).get("fabricante"));
                                                    //                                        recordVeiculos.setAttribute("modelo", value.get(0).get("modelo"));
                                                    //                                        recordVeiculos.setAttribute("cor", value.get(0).get("cor"));
                                                    //                                        recordVeiculos.setAttribute("ano", value.get(0).get("ano"));
                                                    //dataSource.setCacheAllData(true);
                                                    //dataSource.setCacheData(recordVeiculos);
                                                    dataSource.addData(recordVeiculos);
                                                    //veicPlacas.setDataSource(dataSource);
                                                    //veicPlacas.fetchRelatedData(recordVeiculos, dataSource);
                                                    placasVeciuloAux.put(value.get(0).get("placaVeiculo"),
                                                            value.get(0).get("placaVeiculo"));
                                                    if (value.get(0).get("ativoVeic").equalsIgnoreCase("t")) {
                                                        if (Integer
                                                                .parseInt(value.get(0).get("codPlano")) == 1) {
                                                            double desconto = Double
                                                                    .parseDouble(value.get(0).get("desconto"));
                                                            double numeroIndicicoes = Double.parseDouble(
                                                                    value.get(0).get("numeroIndicacoes"));
                                                            double valorPlano = Double.parseDouble(
                                                                    value.get(0).get("valorPlano"));
                                                            double dezPorCentoPlano = Double.parseDouble(
                                                                    value.get(0).get("valorPlano")) * 0.1;
                                                            double descontoIndicacao = Info.formataDecimal(
                                                                    numeroIndicicoes * dezPorCentoPlano);
                                                            double valorMensalidade = Info
                                                                    .formataDecimal(valorPlano
                                                                            - (desconto + descontoIndicacao));
                                                            TabBuscarCliente.totalMensalidadesVeiculos = Info
                                                                    .formataDecimal(
                                                                            TabBuscarCliente.totalMensalidadesVeiculos
                                                                                    + valorMensalidade);
                                                        } else {
                                                            double desconto = Double
                                                                    .parseDouble(value.get(0).get("desconto"));
                                                            double valorPlano = Double.parseDouble(
                                                                    value.get(0).get("valorPlano"));
                                                            double valorMensalidade = Info
                                                                    .formataDecimal(valorPlano - desconto);
                                                            TabBuscarCliente.totalMensalidadesVeiculos = Info
                                                                    .formataDecimal(
                                                                            TabBuscarCliente.totalMensalidadesVeiculos
                                                                                    + valorMensalidade);
                                                        }
                                                    }

                                                }
                                            }

                                            veicPlacas.setDataSource(dataSource);
                                            flagDrawGrid = true;
                                            if (veiculos.size() < 50) {
                                                if (flagDrawGrid) {
                                                    GWT.log("flagDrawGrid");
                                                    //veicPlacas.setDataSource(dataSource);
                                                    veicPlacas.fetchData();
                                                    veicPlacas.focus();
                                                    GWT.log("flagDrawGrid");
                                                }
                                            } else {
                                                new Timer() {
                                                    @Override
                                                    public void run() {
                                                        if (flagDrawGrid) {
                                                            GWT.log("flagDrawGrid");
                                                            //veicPlacas.setDataSource(dataSource);
                                                            veicPlacas.fetchData();
                                                            veicPlacas.focus();
                                                            GWT.log("flagDrawGrid");
                                                        }
                                                    }
                                                }.schedule(1000);
                                            }
                                            ///////////////////////////////////////////////////////////////////////////////////////
                                            Info.dbService.buscarTodasTaxas(
                                                    new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

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

                                                        @Override
                                                        public void onSuccess(
                                                                ArrayList<TreeMap<String, String>> taxas) {
                                                            GWT.log("buscarTodasTaxas - Linha 01");
                                                            if (taxas != null) {
                                                                multa = 0;
                                                                juros = 0;
                                                                for (TreeMap<String, String> txs : taxas) {
                                                                    if (Integer.parseInt(
                                                                            txs.get("codTaxa")) == 1) {
                                                                        multa = Double
                                                                                .parseDouble(txs.get("valor"));
                                                                    } else if (Integer.parseInt(
                                                                            txs.get("codTaxa")) == 2) {
                                                                        juros = Double
                                                                                .parseDouble(txs.get("valor"));
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    });
                                            ///************************************************************************************************************************************************************////

                                            Info.dbService.buscarFaturaPorCliente(
                                                    Integer.parseInt(clienteAuxiliar.get(0).get("codCliente")),
                                                    new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

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

                                                        @Override
                                                        public void onSuccess(
                                                                ArrayList<TreeMap<String, String>> faturasCliente) {
                                                            GWT.log("buscarFaturaPorCliente - Linha 01");
                                                            //////////////////////////////////////////////////////////////////****************************************\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                                                            Date dataAtual = new Date(
                                                                    System.currentTimeMillis());
                                                            long diaAtual = dataAtual.getTime();
                                                            long diferencaDeDatas = 0;
                                                            long diaVencimento = 0;
                                                            arrayFaturasBD.clear();
                                                            setTotalLancamentos(0);
                                                            setSaldo(0);
                                                            setTotalFaturas(0);
                                                            labelSaldoCliente.redraw();
                                                            labelSaldoCliente.setContents(
                                                                    "<strong style=\"font-size:15px; \">Saldo Atual: R$00,00\n</strong>");

                                                            TreeMap<String, String> faturaAuxiliar = new TreeMap<>();
                                                            if (faturasCliente != null) {
                                                                for (TreeMap<String, String> fats : faturasCliente) {
                                                                    if (faturasCliente.get(0)
                                                                            .get("codFatura") != null
                                                                            && faturaAuxiliar.get(fats.get(
                                                                                    "codFatura")) == null) {
                                                                        Date dataDeVencimento = new Date(
                                                                                Long.parseLong(fats.get(
                                                                                        "dataVencimento")));
                                                                        diaVencimento = dataDeVencimento
                                                                                .getTime();
                                                                        diferencaDeDatas = diaAtual
                                                                                - diaVencimento;
                                                                        TreeMap<String, String> faturaBD = new TreeMap<>();
                                                                        faturaBD.put("codFatura",
                                                                                fats.get("codFatura"));
                                                                        faturaBD.put("codCliente",
                                                                                fats.get("codCliente"));
                                                                        faturaBD.put("dataVencimento",
                                                                                fats.get("dataVencimento"));
                                                                        faturaBD.put("valor", String.valueOf(
                                                                                Info.formataSaldo(Double
                                                                                        .parseDouble(fats.get(
                                                                                                "valor")))));
                                                                        faturaBD.put("estado",
                                                                                fats.get("estado"));
                                                                        faturaBD.put("valorPago", (fats.get(
                                                                                "totalLancamentos") == null)
                                                                                        ? String.valueOf(Info
                                                                                                .formataSaldo(
                                                                                                        0))
                                                                                        : String.valueOf(Info
                                                                                                .formataSaldo(
                                                                                                        Double.parseDouble(
                                                                                                                fats.get(
                                                                                                                        "totalLancamentos")))));
                                                                        faturaBD.put("mesReferencia",
                                                                                fats.get("mes"));
                                                                        faturaBD.put("count", "0");
                                                                        double totalPago = (fats.get(
                                                                                "totalLancamentos") == null)
                                                                                        ? 0
                                                                                        : (Double.parseDouble(
                                                                                                fats.get(
                                                                                                        "totalLancamentos")));
                                                                        if (diferencaDeDatas <= 0) {
                                                                            double valor = Double.parseDouble(
                                                                                    fats.get("valor"));
                                                                            double valorAtualFatura = (totalPago == 0)
                                                                                    ? Info.formataDecimal(valor)
                                                                                    : Info.formataDecimal(Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"))
                                                                                            - (totalPago));
                                                                            faturaBD.put("jurosEmulta", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Double.parseDouble(
                                                                                                    "0"))));
                                                                            faturaBD.put("valorApagar", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    (valorAtualFatura)))));
                                                                            faturaBD.put("valorTotal", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))))));
                                                                            diferencaDeDatas = 0;
                                                                        } else if (diferencaDeDatas > 0
                                                                                && diferencaDeDatas < 86400000) {
                                                                            double valor = Double.parseDouble(
                                                                                    fats.get("valor"));
                                                                            double valorAtualFatura = (totalPago == 0)
                                                                                    ? Info.formataDecimal(valor)
                                                                                            + (valor * multa)
                                                                                    : Info.formataDecimal(Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"))
                                                                                            - (totalPago)
                                                                                            + (valor * multa));
                                                                            faturaBD.put("jurosEmulta", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            (Info.formataDecimal(
                                                                                                    valor * multa)))));
                                                                            faturaBD.put("valorApagar", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    valorAtualFatura))));
                                                                            faturaBD.put("valorTotal", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))
                                                                                                            + ((Double
                                                                                                                    .parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                    * multa))))));
                                                                            diferencaDeDatas = 0;
                                                                        } else if (diferencaDeDatas > 86400000) {
                                                                            double valor = Double.parseDouble(
                                                                                    fats.get("valor"));
                                                                            double valorAtualFatura = (totalPago == 0)
                                                                                    ? Info.formataDecimal(valor)
                                                                                            + (valor * multa)
                                                                                            + ((diferencaDeDatas
                                                                                                    / 86400000)
                                                                                                    * (juros * valor))
                                                                                    : Info.formataDecimal(Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"))
                                                                                            - (totalPago)
                                                                                            + (valor * multa)
                                                                                            + ((diferencaDeDatas
                                                                                                    / 86400000)
                                                                                                    * (juros * valor)));
                                                                            faturaBD.put("jurosEmulta", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    (valor * multa)
                                                                                                            + ((diferencaDeDatas
                                                                                                                    / 86400000)
                                                                                                                    * (juros * valor))))));
                                                                            faturaBD.put("valorApagar", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    valorAtualFatura))));
                                                                            faturaBD.put("valorTotal", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))
                                                                                                            + ((Double
                                                                                                                    .parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                    * multa))
                                                                                                            + ((diferencaDeDatas
                                                                                                                    / 86400000)
                                                                                                                    * (juros * Double
                                                                                                                            .parseDouble(
                                                                                                                                    fats.get(
                                                                                                                                            "valor"))))))));
                                                                            diferencaDeDatas = 0;
                                                                        }
                                                                        arrayFaturasBD.add(faturaBD);
                                                                        faturaAuxiliar.put(
                                                                                fats.get("codFatura"),
                                                                                fats.get("codFatura"));
                                                                    }
                                                                }
                                                            }
                                                            //////////////////////////////////////////////////*******************************************\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\            
                                                            for (TreeMap<String, String> fats : arrayFaturasBD) {
                                                                setTotalFaturas(getTotalFaturas() + ((Double
                                                                        .parseDouble(fats.get("valorPago")
                                                                                .replaceAll("\\.", "")
                                                                                .replaceAll(",", ".")) > 0
                                                                        && Boolean.parseBoolean(fats.get(
                                                                                "estado")) == true) ? Double
                                                                                        .parseDouble(fats.get(
                                                                                                "valorPago")
                                                                                                .replaceAll(
                                                                                                        "\\.",
                                                                                                        "")
                                                                                                .replaceAll(",",
                                                                                                        "."))
                                                                                        : (Double.parseDouble(
                                                                                                fats.get(
                                                                                                        "valorPago")
                                                                                                        .replaceAll(
                                                                                                                "\\.",
                                                                                                                "")
                                                                                                        .replaceAll(
                                                                                                                ",",
                                                                                                                "."))
                                                                                                + Double.parseDouble(
                                                                                                        fats.get(
                                                                                                                "valorApagar")
                                                                                                                .replaceAll(
                                                                                                                        "\\.",
                                                                                                                        "")
                                                                                                                .replaceAll(
                                                                                                                        ",",
                                                                                                                        ".")))));

                                                            }
                                                            ////////////////////////////////////////////////////////****************************************************////////////////////////////////////
                                                            Info.dbService.buscarTotalLancamentos(
                                                                    Integer.parseInt(clienteAuxiliar.get(0)
                                                                            .get("codCliente")),
                                                                    new AsyncCallback<Double>() {

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

                                                                        @Override
                                                                        public void onSuccess(Double totLanc) {

                                                                            GWT.log("buscarTotalLancamentos - Linha 01");

                                                                            setTotalLancamentos(totLanc);
                                                                            setSaldo(getTotalLancamentos()
                                                                                    - getTotalFaturas());

                                                                            if (getSaldo() == 0) {
                                                                                labelSaldoCliente.redraw();
                                                                                labelSaldoCliente.setContents(
                                                                                        "<strong style=\"font-size:15px; \">"
                                                                                                + Info.titulosMsg
                                                                                                        .get("saldoAtual")
                                                                                                + "00,00\n</strong>");
                                                                            } else if (getSaldo() > 0) {
                                                                                labelSaldoCliente.redraw();
                                                                                labelSaldoCliente.setContents(
                                                                                        "<strong style=\"font-size:15px; color:green; \">"
                                                                                                + Info.titulosMsg
                                                                                                        .get("creditoAtual")
                                                                                                + Info.formataSaldo(
                                                                                                        Info.formataDecimal(
                                                                                                                getSaldo()))
                                                                                                + "\n</strong>");
                                                                            } else {
                                                                                labelSaldoCliente.redraw();
                                                                                labelSaldoCliente.setContents(
                                                                                        "<strong style=\"font-size:15px; color:red; \">"
                                                                                                + Info.titulosMsg
                                                                                                        .get("debitoAtual")
                                                                                                + Info.formataSaldo(
                                                                                                        Info.formataDecimal(
                                                                                                                getSaldo()))
                                                                                                + "\n</strong>");
                                                                            }

                                                                        }
                                                                    });
                                                        }
                                                    });
                                            ///////////////////////////////////////////////////////////////////////////////////////
                                        } else {
                                            //rastrearVeiculo.setDisabled(true);
                                            //editVeiculo.setDisabled(true);
                                            //addComando.setDisabled(true);
                                            historicoVeiculo.setDisabled(true);
                                            rastrearVeiculo.setDisabled(true);
                                            gerarContrato.setDisabled(true);
                                            editVeiculo.setDisabled(true);
                                            addComando.setDisabled(true);
                                            veicPlacas.setData(new Record[0]);
                                            flagDrawGrid = false;
                                            veicPlacas.markForRedraw();
                                            tabelaVeiculos.setContents(tabelaVazia);
                                            tabelaVeiculos.redraw();
                                            indexVeiculoPlaca = 0;
                                            //GWT.log("Linha buscarVeiculoPorCliente 03");
                                            ///////////////////////////////////////////////////////////////////////////////////////                                
                                            Info.dbService.buscarTodasTaxas(
                                                    new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

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

                                                        @Override
                                                        public void onSuccess(
                                                                ArrayList<TreeMap<String, String>> taxas) {
                                                            if (taxas != null) {
                                                                multa = 0;
                                                                juros = 0;
                                                                for (TreeMap<String, String> txs : taxas) {
                                                                    if (Integer.parseInt(
                                                                            txs.get("codTaxa")) == 1) {
                                                                        multa = Double
                                                                                .parseDouble(txs.get("valor"));
                                                                    } else if (Integer.parseInt(
                                                                            txs.get("codTaxa")) == 2) {
                                                                        juros = Double
                                                                                .parseDouble(txs.get("valor"));
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    });
                                            ///************************************************************************************************************************************************************////

                                            Info.dbService.buscarFaturaPorCliente(
                                                    Integer.parseInt(clienteAuxiliar.get(0).get("codCliente")),
                                                    new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

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

                                                        @Override
                                                        public void onSuccess(
                                                                ArrayList<TreeMap<String, String>> faturasCliente) {
                                                            //////////////////////////////////////////////////////////////////****************************************\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
                                                            Date dataAtual = new Date(
                                                                    System.currentTimeMillis());
                                                            long diaAtual = dataAtual.getTime();
                                                            long diferencaDeDatas = 0;
                                                            long diaVencimento = 0;
                                                            arrayFaturasBD.clear();
                                                            setTotalLancamentos(0);
                                                            setSaldo(0);
                                                            setTotalFaturas(0);
                                                            labelSaldoCliente.redraw();
                                                            labelSaldoCliente.setContents(
                                                                    "<strong style=\"font-size:15px; \">Saldo Atual: R$00,00\n</strong>");

                                                            TreeMap<String, String> faturaAuxiliar = new TreeMap<>();
                                                            if (faturasCliente != null) {
                                                                for (TreeMap<String, String> fats : faturasCliente) {
                                                                    if (faturasCliente.get(0)
                                                                            .get("codFatura") != null
                                                                            && faturaAuxiliar.get(fats.get(
                                                                                    "codFatura")) == null) {
                                                                        Date dataDeVencimento = new Date(
                                                                                Long.parseLong(fats.get(
                                                                                        "dataVencimento")));
                                                                        diaVencimento = dataDeVencimento
                                                                                .getTime();
                                                                        diferencaDeDatas = diaAtual
                                                                                - diaVencimento;
                                                                        TreeMap<String, String> faturaBD = new TreeMap<>();
                                                                        faturaBD.put("codFatura",
                                                                                fats.get("codFatura"));
                                                                        faturaBD.put("codCliente",
                                                                                fats.get("codCliente"));
                                                                        faturaBD.put("dataVencimento",
                                                                                fats.get("dataVencimento"));
                                                                        faturaBD.put("valor", String.valueOf(
                                                                                Info.formataSaldo(Double
                                                                                        .parseDouble(fats.get(
                                                                                                "valor")))));
                                                                        faturaBD.put("estado",
                                                                                fats.get("estado"));
                                                                        faturaBD.put("valorPago", (fats.get(
                                                                                "totalLancamentos") == null)
                                                                                        ? String.valueOf(Info
                                                                                                .formataSaldo(
                                                                                                        0))
                                                                                        : String.valueOf(Info
                                                                                                .formataSaldo(
                                                                                                        Double.parseDouble(
                                                                                                                fats.get(
                                                                                                                        "totalLancamentos")))));
                                                                        faturaBD.put("mesReferencia",
                                                                                fats.get("mes"));
                                                                        faturaBD.put("count", "0");
                                                                        double totalPago = (fats.get(
                                                                                "totalLancamentos") == null)
                                                                                        ? 0
                                                                                        : (Double.parseDouble(
                                                                                                fats.get(
                                                                                                        "totalLancamentos")));
                                                                        if (diferencaDeDatas <= 0) {
                                                                            double valor = Double.parseDouble(
                                                                                    fats.get("valor"));
                                                                            double valorAtualFatura = (totalPago == 0)
                                                                                    ? Info.formataDecimal(valor)
                                                                                    : Info.formataDecimal(Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"))
                                                                                            - (totalPago));
                                                                            faturaBD.put("jurosEmulta", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Double.parseDouble(
                                                                                                    "0"))));
                                                                            faturaBD.put("valorApagar", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    (valorAtualFatura)))));
                                                                            faturaBD.put("valorTotal", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))))));
                                                                            diferencaDeDatas = 0;
                                                                        } else if (diferencaDeDatas > 0
                                                                                && diferencaDeDatas < 86400000) {
                                                                            double valor = Double.parseDouble(
                                                                                    fats.get("valor"));
                                                                            double valorAtualFatura = (totalPago == 0)
                                                                                    ? Info.formataDecimal(valor)
                                                                                            + (valor * multa)
                                                                                    : Info.formataDecimal(Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"))
                                                                                            - (totalPago)
                                                                                            + (valor * multa));
                                                                            faturaBD.put("jurosEmulta", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            (Info.formataDecimal(
                                                                                                    valor * multa)))));
                                                                            faturaBD.put("valorApagar", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    valorAtualFatura))));
                                                                            faturaBD.put("valorTotal", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))
                                                                                                            + ((Double
                                                                                                                    .parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                    * multa))))));
                                                                            diferencaDeDatas = 0;
                                                                        } else if (diferencaDeDatas > 86400000) {
                                                                            double valor = Double.parseDouble(
                                                                                    fats.get("valor"));
                                                                            double valorAtualFatura = (totalPago == 0)
                                                                                    ? Info.formataDecimal(valor)
                                                                                            + (valor * multa)
                                                                                            + ((diferencaDeDatas
                                                                                                    / 86400000)
                                                                                                    * (juros * valor))
                                                                                    : Info.formataDecimal(Double
                                                                                            .parseDouble(fats
                                                                                                    .get("valor"))
                                                                                            - (totalPago)
                                                                                            + (valor * multa)
                                                                                            + ((diferencaDeDatas
                                                                                                    / 86400000)
                                                                                                    * (juros * valor)));
                                                                            faturaBD.put("jurosEmulta", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    (valor * multa)
                                                                                                            + ((diferencaDeDatas
                                                                                                                    / 86400000)
                                                                                                                    * (juros * valor))))));
                                                                            faturaBD.put("valorApagar", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    valorAtualFatura))));
                                                                            faturaBD.put("valorTotal", String
                                                                                    .valueOf(Info.formataSaldo(
                                                                                            Info.formataDecimal(
                                                                                                    Double.parseDouble(
                                                                                                            fats.get(
                                                                                                                    "valor"))
                                                                                                            + ((Double
                                                                                                                    .parseDouble(
                                                                                                                            fats.get(
                                                                                                                                    "valor"))
                                                                                                                    * multa))
                                                                                                            + ((diferencaDeDatas
                                                                                                                    / 86400000)
                                                                                                                    * (juros * Double
                                                                                                                            .parseDouble(
                                                                                                                                    fats.get(
                                                                                                                                            "valor"))))))));
                                                                            diferencaDeDatas = 0;
                                                                        }
                                                                        arrayFaturasBD.add(faturaBD);
                                                                        faturaAuxiliar.put(
                                                                                fats.get("codFatura"),
                                                                                fats.get("codFatura"));
                                                                    }
                                                                }
                                                            }
                                                            //////////////////////////////////////////////////*******************************************\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\            
                                                            for (TreeMap<String, String> fats : arrayFaturasBD) {
                                                                setTotalFaturas(getTotalFaturas() + ((Double
                                                                        .parseDouble(fats.get("valorPago")
                                                                                .replaceAll("\\.", "")
                                                                                .replaceAll(",", ".")) > 0
                                                                        && Boolean.parseBoolean(fats.get(
                                                                                "estado")) == true) ? Double
                                                                                        .parseDouble(fats.get(
                                                                                                "valorPago")
                                                                                                .replaceAll(
                                                                                                        "\\.",
                                                                                                        "")
                                                                                                .replaceAll(",",
                                                                                                        "."))
                                                                                        : (Double.parseDouble(
                                                                                                fats.get(
                                                                                                        "valorPago")
                                                                                                        .replaceAll(
                                                                                                                "\\.",
                                                                                                                "")
                                                                                                        .replaceAll(
                                                                                                                ",",
                                                                                                                "."))
                                                                                                + Double.parseDouble(
                                                                                                        fats.get(
                                                                                                                "valorApagar")
                                                                                                                .replaceAll(
                                                                                                                        "\\.",
                                                                                                                        "")
                                                                                                                .replaceAll(
                                                                                                                        ",",
                                                                                                                        ".")))));

                                                            }
                                                            ////////////////////////////////////////////////////////****************************************************////////////////////////////////////
                                                            Info.dbService.buscarTotalLancamentos(
                                                                    Integer.parseInt(clienteAuxiliar.get(0)
                                                                            .get("codCliente")),
                                                                    new AsyncCallback<Double>() {

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

                                                                        @Override
                                                                        public void onSuccess(Double totLanc) {

                                                                            setTotalLancamentos(totLanc);
                                                                            setSaldo(getTotalLancamentos()
                                                                                    - getTotalFaturas());

                                                                            if (getSaldo() == 0) {
                                                                                labelSaldoCliente.redraw();
                                                                                labelSaldoCliente.setContents(
                                                                                        "<strong style=\"font-size:15px; \">"
                                                                                                + Info.titulosMsg
                                                                                                        .get("saldoAtual")
                                                                                                + "00,00\n</strong>");
                                                                            } else if (getSaldo() > 0) {
                                                                                labelSaldoCliente.redraw();
                                                                                labelSaldoCliente.setContents(
                                                                                        "<strong style=\"font-size:15px; color:green; \">"
                                                                                                + Info.titulosMsg
                                                                                                        .get("creditoAtual")
                                                                                                + Info.formataSaldo(
                                                                                                        Info.formataDecimal(
                                                                                                                getSaldo()))
                                                                                                + "\n</strong>");
                                                                            } else {
                                                                                labelSaldoCliente.redraw();
                                                                                labelSaldoCliente.setContents(
                                                                                        "<strong style=\"font-size:15px; color:red; \">"
                                                                                                + Info.titulosMsg
                                                                                                        .get("debitoAtual")
                                                                                                + Info.formataSaldo(
                                                                                                        Info.formataDecimal(
                                                                                                                getSaldo()))
                                                                                                + "\n</strong>");
                                                                            }

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

                    } else {
                        // errro ao consultar os veiculos do cliente //
                        editCliente.setDisabled(true);
                        //rastrearVeiculo.setDisabled(true);
                        Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 282,
                                new Timestamp(System.currentTimeMillis()),
                                "cliente: " + buscaCliente.getValueAsString());
                        SC.warn(Info.titulosMsg.get("erroConsultaCliente"));
                    }

                }
            });

}

From source file:com.automaster.autoview.client.ui.paineis.tabs.TabBuscaVeiculo.java

public void consultaVeiculo() {

    if (formBusca.validate() && tipoBusca.getValueAsString().equalsIgnoreCase("1")) {

        Info.abrirJanelaCarregando();//from  w  w w.j av  a 2  s  .  c  om

        String placaVeiculo = (buscaVeiculo.getValueAsString().length() > 3)
                ? buscaVeiculo.getDisplayValue().replaceAll("_", "")
                : buscaVeiculo.getValueAsString();

        Info.dbService.buscarSimplificadaVeiculoPorPlaca(placaVeiculo, codigoUnidade,
                new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

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

                    @Override
                    public void onSuccess(ArrayList<TreeMap<String, String>> result) {
                        if (result != null) {
                            Info.fecharJanelaCarrgando();
                            veiculos.setData(new RecordList());
                            i = 1;
                            for (TreeMap<String, String> veic : result) {
                                GWT.log("Data de Adeso Placa : " + veic.get("dataAdesao"));
                                Record registros = new Record();
                                registros.setAttribute("contador", "<strong>" + i + "</strong>");
                                registros.setAttribute("codigo", veic.get("codVeiculo"));
                                registros.setAttribute("codEquipVeiculo",
                                        (veic.get("codEquipVeiculo") == null) ? "Sem informao"
                                                : veic.get("codEquipVeiculo"));
                                registros.setAttribute("codVeiculoVeiculo",
                                        (veic.get("codVeiculoVeiculo") == null) ? "Sem informao"
                                                : veic.get("codVeiculoVeiculo"));
                                registros.setAttribute("placa", veic.get("placa"));
                                registros.setAttribute("fabricante", veic.get("fabricante"));
                                registros.setAttribute("modelo", veic.get("modelo"));
                                registros.setAttribute("cor", veic.get("cor"));
                                registros.setAttribute("ano", veic.get("ano"));
                                registros.setAttribute("dataAdesao",
                                        DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(
                                                new Date(Long.parseLong(veic.get("dataAdesao"))),
                                                TimeZone.createTimeZone(0)));
                                registros.setAttribute("codCidade",
                                        (veic.get("codCidade") == null) ? "Sem informao"
                                                : veic.get("codCidade"));
                                registros.setAttribute("nomeCidade",
                                        (veic.get("nomeCidade") == null) ? "Sem informao"
                                                : veic.get("nomeCidade"));
                                registros.setAttribute("codEstado",
                                        (veic.get("codEstado") == null) ? "Sem informao"
                                                : veic.get("codEstado"));
                                registros.setAttribute("uf",
                                        (veic.get("uf") == null) ? "Sem informao" : veic.get("uf"));
                                registros.setAttribute("codCliente",
                                        (veic.get("codCliente") == null) ? "Sem informao"
                                                : veic.get("codCliente"));
                                registros.setAttribute("nomeCliente",
                                        (veic.get("nomeCliente") == null) ? "Sem informao"
                                                : veic.get("nomeCliente"));
                                registros.setAttribute("codUnidadeCliente",
                                        (veic.get("codUnidade") == null) ? "Sem informao"
                                                : veic.get("codUnidade"));
                                registros.setAttribute("nomeUnidade",
                                        (veic.get("nomeUnidade") == null) ? "Sem informao"
                                                : veic.get("nomeUnidade"));
                                registros.setAttribute("equipamento",
                                        (veic.get("idEquip") == null) ? "Sem informao"
                                                : veic.get("idEquip") + " / " + veic.get("descricaoMe"));
                                veiculos.addData(registros);
                                i++;
                            }
                            // busca veiculo por placa//
                            Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 21,
                                    new Timestamp(System.currentTimeMillis()),
                                    "Cod da unidade: " + String.valueOf(codigoUnidade) + " Placa: "
                                            + buscaVeiculo.getDisplayValue());
                        } else {
                            Info.fecharJanelaCarrgando();
                            // no h veculo com esta placa nesta unidade //
                            Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 180,
                                    new Timestamp(System.currentTimeMillis()),
                                    "Cod da unidade: " + String.valueOf(codigoUnidade) + " Placa: "
                                            + buscaVeiculo.getDisplayValue());
                            SC.warn(Info.titulosMsg.get("veiculoNaoCadastrado"));
                            formBusca.focusInItem(buscaVeiculo);
                        }
                    }
                });

    } else if (formBusca.validate() && tipoBusca.getValueAsString().equalsIgnoreCase("2")) {
        Info.abrirJanelaCarregando();
        Info.dbService.buscarSimplificadaVeiculoPorChassi(buscaVeiculo.getValueAsString(), codigoUnidade,
                new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

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

                    @Override
                    public void onSuccess(ArrayList<TreeMap<String, String>> result) {
                        if (result != null) {
                            Info.fecharJanelaCarrgando();
                            veiculos.setData(new RecordList());
                            i = 1;
                            for (TreeMap<String, String> veic : result) {
                                GWT.log("Data de Adeso Chassi : " + veic.get("dataAdesao"));
                                Record registros = new Record();
                                registros.setAttribute("contador", "<strong>" + i + "</strong>");
                                registros.setAttribute("codigo", veic.get("codVeiculo"));
                                registros.setAttribute("codEquipVeiculo",
                                        (veic.get("codEquipVeiculo") == null) ? "Sem informao"
                                                : veic.get("codEquipVeiculo"));
                                registros.setAttribute("codVeiculoVeiculo",
                                        (veic.get("codVeiculoVeiculo") == null) ? "Sem informao"
                                                : veic.get("codVeiculoVeiculo"));
                                registros.setAttribute("placa", veic.get("placa"));
                                registros.setAttribute("fabricante", veic.get("fabricante"));
                                registros.setAttribute("modelo", veic.get("modelo"));
                                registros.setAttribute("cor", veic.get("cor"));
                                registros.setAttribute("ano", veic.get("ano"));
                                registros.setAttribute("dataAdesao",
                                        DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(
                                                new Date(Long.parseLong(veic.get("dataAdesao"))),
                                                TimeZone.createTimeZone(0)));
                                registros.setAttribute("codCidade",
                                        (veic.get("codCidade") == null) ? "Sem informao"
                                                : veic.get("codCidade"));
                                registros.setAttribute("nomeCidade",
                                        (veic.get("nomeCidade") == null) ? "Sem informao"
                                                : veic.get("nomeCidade"));
                                registros.setAttribute("codEstado",
                                        (veic.get("codEstado") == null) ? "Sem informao"
                                                : veic.get("codEstado"));
                                registros.setAttribute("uf",
                                        (veic.get("uf") == null) ? "Sem informao" : veic.get("uf"));
                                registros.setAttribute("codCliente",
                                        (veic.get("codCliente") == null) ? "Sem informao"
                                                : veic.get("codCliente"));
                                registros.setAttribute("nomeCliente",
                                        (veic.get("nomeCliente") == null) ? "Sem informao"
                                                : veic.get("nomeCliente"));
                                registros.setAttribute("codUnidadeCliente",
                                        (veic.get("codUnidade") == null) ? "Sem informao"
                                                : veic.get("codUnidade"));
                                registros.setAttribute("nomeUnidade",
                                        (veic.get("nomeUnidade") == null) ? "Sem informao"
                                                : veic.get("nomeUnidade"));
                                registros.setAttribute("equipamento",
                                        (veic.get("idEquip") == null) ? "Sem informao"
                                                : veic.get("idEquip") + " / " + veic.get("descricaoMe"));
                                veiculos.addData(registros);
                                i++;
                            }
                            // busca veiculo por chassi//
                            Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 22,
                                    new Timestamp(System.currentTimeMillis()),
                                    "Cod da unidade: " + String.valueOf(codigoUnidade) + " Chassi: "
                                            + buscaVeiculo.getDisplayValue());
                        } else {
                            Info.fecharJanelaCarrgando();
                            // no h veiculo com este chassi nesta unidade //
                            Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 181,
                                    new Timestamp(System.currentTimeMillis()),
                                    "Cod da unidade: " + String.valueOf(codigoUnidade) + " Chassi: "
                                            + buscaVeiculo.getDisplayValue());
                            SC.warn(Info.titulosMsg.get("veiculoNaoCadastrado"));
                            formBusca.focusInItem(buscaVeiculo);
                        }
                    }
                });
    } else if (formBusca.validate() && tipoBusca.getValueAsString().equalsIgnoreCase("3")) {
        Info.abrirJanelaCarregando();
        Info.dbService.buscarSimplificadaVeiculoPorIdEquipamento(buscaVeiculo.getValueAsString(), codigoUnidade,
                new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

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

                    @Override
                    public void onSuccess(ArrayList<TreeMap<String, String>> result) {
                        if (result != null) {
                            Info.fecharJanelaCarrgando();
                            veiculos.setData(new RecordList());
                            i = 1;
                            for (TreeMap<String, String> veic : result) {
                                GWT.log("Data de Adeso ID : " + veic.get("dataAdesao"));
                                Record registros = new Record();
                                registros.setAttribute("contador", "<strong>" + i + "</strong>");
                                registros.setAttribute("codigo", veic.get("codVeiculo"));
                                registros.setAttribute("codEquipVeiculo",
                                        (veic.get("codEquipVeiculo") == null) ? "Sem informao"
                                                : veic.get("codEquipVeiculo"));
                                registros.setAttribute("codVeiculoVeiculo",
                                        (veic.get("codVeiculoVeiculo") == null) ? "Sem informao"
                                                : veic.get("codVeiculoVeiculo"));
                                registros.setAttribute("placa", veic.get("placa"));
                                registros.setAttribute("fabricante", veic.get("fabricante"));
                                registros.setAttribute("modelo", veic.get("modelo"));
                                registros.setAttribute("cor", veic.get("cor"));
                                registros.setAttribute("ano", veic.get("ano"));
                                registros.setAttribute("dataAdesao",
                                        DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(
                                                new Date(Long.parseLong(veic.get("dataAdesao"))),
                                                TimeZone.createTimeZone(0)));
                                registros.setAttribute("codCidade",
                                        (veic.get("codCidade") == null) ? "Sem informao"
                                                : veic.get("codCidade"));
                                registros.setAttribute("nomeCidade",
                                        (veic.get("nomeCidade") == null) ? "Sem informao"
                                                : veic.get("nomeCidade"));
                                registros.setAttribute("codEstado",
                                        (veic.get("codEstado") == null) ? "Sem informao"
                                                : veic.get("codEstado"));
                                registros.setAttribute("uf",
                                        (veic.get("uf") == null) ? "Sem informao" : veic.get("uf"));
                                registros.setAttribute("codCliente",
                                        (veic.get("codCliente") == null) ? "Sem informao"
                                                : veic.get("codCliente"));
                                registros.setAttribute("nomeCliente",
                                        (veic.get("nomeCliente") == null) ? "Sem informao"
                                                : veic.get("nomeCliente"));
                                registros.setAttribute("codUnidadeCliente",
                                        (veic.get("codUnidade") == null) ? "Sem informao"
                                                : veic.get("codUnidade"));
                                registros.setAttribute("nomeUnidade",
                                        (veic.get("nomeUnidade") == null) ? "Sem informao"
                                                : veic.get("nomeUnidade"));
                                registros.setAttribute("equipamento",
                                        (veic.get("idEquip") == null) ? "Sem informao"
                                                : veic.get("idEquip") + " / " + veic.get("descricaoMe"));
                                veiculos.addData(registros);
                                i++;
                            }
                            // busca veiculo por chassi//
                            Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 358,
                                    new Timestamp(System.currentTimeMillis()),
                                    "Cod da unidade: " + String.valueOf(codigoUnidade) + " Equipamento: "
                                            + buscaVeiculo.getDisplayValue());
                        } else {
                            Info.fecharJanelaCarrgando();
                            // no h veiculo com este chassi nesta unidade //
                            Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 359,
                                    new Timestamp(System.currentTimeMillis()),
                                    "Cod da unidade: " + String.valueOf(codigoUnidade) + " Equipamento: "
                                            + buscaVeiculo.getDisplayValue());
                            SC.warn(Info.titulosMsg.get("veiculoNaoCadastrado"));
                            formBusca.focusInItem(buscaVeiculo);
                        }
                    }
                });
    }
}

From source file:com.automaster.autoview.client.ui.paineis.tabs.TabBuscaVeiculo.java

public void consultaTodosVeiculos() {
    Info.abrirJanelaCarregando();/*from   w  ww . j  a v  a 2s . c  om*/
    Info.dbService.buscarSimplificadaTodosVeiculos(codigoUnidade,
            new AsyncCallback<ArrayList<TreeMap<String, String>>>() {

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

                @Override
                public void onSuccess(ArrayList<TreeMap<String, String>> result) {
                    if (result != null) {
                        Info.fecharJanelaCarrgando();
                        veiculos.setData(new RecordList());
                        i = 1;
                        for (TreeMap<String, String> veic : result) {
                            GWT.log("Data de Adeso todos : " + veic.get("dataAdesao"));
                            Record registros = new Record();
                            registros.setAttribute("contador", "<strong>" + i + "</strong>");
                            registros.setAttribute("codigo", veic.get("codVeiculo"));
                            registros.setAttribute("codEquipVeiculo",
                                    (veic.get("codEquipVeiculo") == null) ? "Sem informao"
                                            : veic.get("codEquipVeiculo"));
                            registros.setAttribute("codVeiculoVeiculo",
                                    (veic.get("codVeiculoVeiculo") == null) ? "Sem informao"
                                            : veic.get("codVeiculoVeiculo"));
                            registros.setAttribute("placa", veic.get("placa"));
                            registros.setAttribute("fabricante", veic.get("fabricante"));
                            registros.setAttribute("modelo", veic.get("modelo"));
                            registros.setAttribute("cor", veic.get("cor"));
                            registros.setAttribute("ano", veic.get("ano"));
                            registros.setAttribute("dataAdesao",
                                    DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(
                                            new Date(Long.parseLong(veic.get("dataAdesao"))),
                                            TimeZone.createTimeZone(0)));
                            registros.setAttribute("codCidade",
                                    (veic.get("codCidade") == null) ? "Sem informao"
                                            : veic.get("codCidade"));
                            registros.setAttribute("nomeCidade",
                                    (veic.get("nomeCidade") == null) ? "Sem informao"
                                            : veic.get("nomeCidade"));
                            registros.setAttribute("codEstado",
                                    (veic.get("codEstado") == null) ? "Sem informao"
                                            : veic.get("codEstado"));
                            registros.setAttribute("uf",
                                    (veic.get("uf") == null) ? "Sem informao" : veic.get("uf"));
                            registros.setAttribute("codCliente",
                                    (veic.get("codCliente") == null) ? "Sem informao"
                                            : veic.get("codCliente"));
                            registros.setAttribute("nomeCliente",
                                    (veic.get("nomeCliente") == null) ? "Sem informao"
                                            : veic.get("nomeCliente"));
                            registros.setAttribute("codUnidadeCliente",
                                    (veic.get("codUnidade") == null) ? "Sem informao"
                                            : veic.get("codUnidade"));
                            registros.setAttribute("nomeUnidade",
                                    (veic.get("nomeUnidade") == null) ? "Sem informao"
                                            : veic.get("nomeUnidade"));
                            registros.setAttribute("equipamento",
                                    (veic.get("idEquip") == null) ? "Sem informao"
                                            : veic.get("idEquip") + " / " + veic.get("descricaoMe"));
                            veiculos.addData(registros);
                            i++;
                        }
                        // busca todos os veiculos//
                        Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 80,
                                new Timestamp(System.currentTimeMillis()), "");
                    } else {
                        Info.fecharJanelaCarrgando();
                        // no h veculo cadastrado para esta unidade //
                        Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 182,
                                new Timestamp(System.currentTimeMillis()), "");
                        SC.warn(Info.titulosMsg.get("veiculoNaoCadastrado"));
                        formBusca.focusInItem(buscaVeiculo);
                    }
                }
            });
}

From source file:com.automaster.autoview.client.ui.paineis.Topo.java

public Topo() {

    this.setWidth100();
    this.setHeight(67);
    this.setBackgroundImage("../imagens/backgroundCinza.png");
    this.setBackgroundRepeat(BackgroundRepeat.REPEAT_X);
    //setAlign(Alignment.CENTER);
    //final HLayout topoAux = this; 
    final Image logo = new Image("imagens/autoView.png");
    logo.setTitle("autoView");
    logo.setAltText("AutoView Web");
    logo.addClickHandler(new com.google.gwt.event.dom.client.ClickHandler() {

        @Override// w w  w. j a va 2  s  . com
        public void onClick(ClickEvent event) {
            SC.say("Verso 1.31. Todos os direitos reservados AutoMaster 2016 &copy;. Develop tool: [Adriano Vale].");
        }
    });
    HLayout painelLogo = new HLayout();
    painelLogo.setMargin(5);
    painelLogo.setHeight(60);
    painelLogo.setWidth("80%");
    painelLogo.setLayoutAlign(Alignment.LEFT);
    painelLogo.addMember(logo);

    final Image logoAuto = new Image("imagens/autoMaster.png");
    logo.setTitle("autoView");
    logoAuto.setAltText("AutoMaster");
    logoAuto.addClickHandler(new com.google.gwt.event.dom.client.ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            SC.say("Verso 1.31. Todos os direitos reservados AutoMaster 2016 &copy;. Develop tool: [Adriano Vale].");
        }
    });
    HLayout painelLogoAuto = new HLayout();
    painelLogoAuto.setMargin(5);
    //painelLogoAuto.setWidth(210);
    painelLogoAuto.setHeight(60);
    painelLogoAuto.setWidth("70%");
    painelLogoAuto.setLayoutAlign(Alignment.CENTER);
    painelLogoAuto.addMember(logoAuto);
    /*Label label = new Label("<strong><h3>AutoView Web</h3></strong>");
     label.setAlign(Alignment.CENTER);
     label.setWidth100();*/

    final Label labelDataHora = new Label();
    labelDataHora.setAlign(Alignment.CENTER);
    labelDataHora.setWidth(180);
    labelDataHora.setHeight(30);

    Info.relogio = new Timer() {
        @Override
        public void run() {
            if (Info.validaConexao()) {
                final String dataAtual = DateTimeFormat.getFormat(PredefinedFormat.DATE_LONG)
                        .format(new Timestamp(System.currentTimeMillis()), TimeZone.createTimeZone(180));
                final String hora = DateTimeFormat.getFormat(PredefinedFormat.TIME_MEDIUM)
                        .format(new Timestamp(System.currentTimeMillis()), TimeZone.createTimeZone(180));
                labelDataHora.setContents("<strong> " + dataAtual + " " + hora + "</strong>");
            }
            //GWT.log(""+new Timestamp(System.currentTimeMillis()));
        }
    };
    Info.relogio.scheduleRepeating(1000);

    Menu menuUsuario = new Menu();
    menuUsuario.setShowShadow(true);
    menuUsuario.setShadowDepth(10);
    menuUsuario.setWidth(180);
    final MenuItemSeparator separator = new MenuItemSeparator();

    //        MenuItem menuItemNovoUsuario = new MenuItem("Adicionar usurio de cliente", "../imagens/add.png");
    //        menuItemNovoUsuario.addClickHandler(new ClickHandler() {
    //
    //            @Override
    //            public void onClick(MenuItemClickEvent event) {
    //                NovoUsuarioCliente novoUsuarioCliente = new NovoUsuarioCliente();
    //                novoUsuarioCliente.setAnimateTime(1200);
    //                novoUsuarioCliente.animateShow(AnimationEffect.FADE);
    //            }
    //        });
    MenuItem menuItemEditarSenha = new MenuItem("Editar minha senha", "../imagens/edit.png");
    menuItemEditarSenha.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            EditarSenha editarSenha = new EditarSenha();
            editarSenha.setAnimateTime(1200);
            editarSenha.animateShow(AnimationEffect.FADE);
        }
    });
    MenuItem menuItemSair = new MenuItem("Sair", "../imagens/exit.png");
    menuItemSair.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(MenuItemClickEvent event) {
            SC.ask("Sair", Info.usuarioLogado.get("nomeUsuario") + " voc deseja realmente sair?",
                    new BooleanCallback() {

                        @Override
                        public void execute(Boolean value) {
                            if (value != null && value) {
                                // usurio saiu do sistema //
                                Cookies.removeCookie("usuario");
                                Cookies.removeCookie("senha");
                                Info.registrarLog(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), 47,
                                        new Timestamp(System.currentTimeMillis()),
                                        "Usurio: " + Info.usuarioLogado.get("nomeUsuario"));
                                Info.usuarioLogado.clear();
                                Info.enderecosResolvidos.clear();
                                Info.relogio.cancel();
                                TabFrota.atualizaFrota.cancel();
                                Info.atualizaVeiculosTodos.cancel();
                                Info.atualizaVeiculosNovasPosicoes.cancel();
                                Info.atualizaPosicoesSemEndereco.cancel();
                                Info.atualizaPosicoesSemEnderecoHistorico.cancel();
                                if (Info.atualizaVeiculosTodos.isRunning()) {
                                    GWT.log("CANCELOU: Info.atualizaVeiculosTodos.cancel();");
                                    Info.atualizaVeiculosTodos.cancel();
                                    GWT.log("CANCELOU: Info.atualizaVeiculosTodos.cancel();");
                                }
                                Info.atualizaLogUsuario.cancel();
                                Info.painelPrincipal.trocarPainel(new Login());
                            }
                        }
                    });
        }
    });
    menuUsuario.setItems(menuItemEditarSenha, separator, menuItemSair);

    MenuButton menuButton = new MenuButton("<strong>" + Info.usuarioLogado.get("nomeUsuario") + "</strong>",
            menuUsuario);
    menuButton.setWidth(180);
    menuButton.setHeight(30);
    menuButton.setAlign(Alignment.CENTER);

    //painelLogo.addMember(menuButton);
    VLayout painelInformacoes = new VLayout();
    painelInformacoes.setHeight(60);
    //painelInformacoes.setWidth(200);
    painelInformacoes.setAlign(Alignment.RIGHT);
    painelInformacoes.addMember(labelDataHora);
    painelInformacoes.addMember(menuButton);

    this.addMember(painelLogoAuto);
    this.addMember(painelLogo);
    this.addMember(painelInformacoes);

}

From source file:com.cubusmail.client.util.GWTUtil.java

License:Open Source License

public static String formatDate(Date date, int timeZoneOffset) {

    TimeZone zone = TimeZone.createTimeZone(timeZoneOffset);
    return DATE_FORMAT.format(date, zone);
}

From source file:com.imaginedreal.mgwt.trafficflow.client.util.ParserUtils.java

License:Apache License

/**
 * //from   w w w  .  j  a va  2 s  .  com
 * @param createdAt
 * @param datePattern
 * @param isUTC
 * @return
 */
public static String relativeTime(String createdAt, String datePattern, boolean isUTC) {
    DateTimeFormat parseDateFormat = DateTimeFormat.getFormat(datePattern);
    Date parseDate;

    try {
        if (isUTC) {
            parseDate = parseDateFormat.parse(
                    parseDateFormat.format(parseDateFormat.parse(createdAt), TimeZone.createTimeZone(0)));
        } else {
            parseDate = parseDateFormat.parse(createdAt);
        }
    } catch (IllegalArgumentException e) {
        return "Unavailable";
    }

    return getRelative(parseDate);

}

From source file:com.mashery.examples.api.client.QuovaExample.java

License:Open Source License

private void lookupIPInfo(IPInfoServiceAsync ipInfoSvc, String address) {
    ipInfoSvc.getIPInfo(address, new AsyncCallback<IPInfo>() {

        @Override/*from   w w  w .  ja  v  a 2  s  .com*/
        public void onSuccess(IPInfo result) {
            addressText.setReadOnly(false);
            addressText.selectAll();
            submitButton.setEnabled(true);
            if (!mapButton.isEnabled())
                locationPanel.setOpen(true);

            int row = 0;
            generalTable.setText(row++, 1, result.getIpAddress());
            generalTable.setText(row++, 1, result.getIpType());
            generalTable.setText(row++, 1, result.getAnonymizerStatus());

            row = 0;
            networkTable.setText(row++, 1, result.getOrganization());
            networkTable.setText(row++, 1, result.getCarrier());
            networkTable.setText(row++, 1, String.valueOf(result.getAsn()));
            networkTable.setText(row++, 1, result.getConnectionType());
            networkTable.setText(row++, 1, result.getLineSpeed());
            networkTable.setText(row++, 1, result.getIpRoutingType());
            StringBuilder domainBuf = new StringBuilder();
            if (result.getSld() != null)
                domainBuf.append(result.getSld());

            if (result.getTld() != null) {
                if (domainBuf.length() > 0)
                    domainBuf.append('.');

                domainBuf.append(result.getTld());
            }

            networkTable.setText(row++, 1, domainBuf.length() > 0 ? domainBuf.toString() : "");

            row = 0;
            locationTable.setText(row++, 1, result.getContinent());
            locationTable.setText(row++, 1, result.getCountry() + " [" + result.getCountryCode() + "] ("
                    + result.getCountryCF() + "% confident)");
            locationTable.setText(row++, 1, result.getRegion());
            locationTable.setText(row++, 1, result.getState() + " [" + result.getStateCode() + "] ("
                    + result.getStateCF() + "% confident)");
            locationTable.setText(row++, 1, String.valueOf(result.getDma()));
            locationTable.setText(row++, 1, String.valueOf(result.getMsa()));
            locationTable.setText(row++, 1, result.getCity() + " (" + result.getCityCF() + "% confident)");
            locationTable.setText(row++, 1, result.getPostalCode());
            String tz = DateTimeFormat.getFormat("zzzz").format(new Date(),
                    TimeZone.createTimeZone(result.getTimeZone() * 60));
            locationTable.setText(row++, 1, tz);
            locationTable.setText(row++, 1, result.getAreaCode());
            locationTable.setText(row++, 1, String.valueOf(result.getLatitude()));
            locationTable.setText(row++, 1, String.valueOf(result.getLongitude()));

            QuovaExample.this.result = result;
            mapButton.setEnabled(true);
        }

        @Override
        public void onFailure(Throwable caught) {
            addressText.setReadOnly(false);
            addressText.selectAll();
            submitButton.setEnabled(true);
            Window.alert(caught.getLocalizedMessage());
        }
    });
}

From source file:com.mj.jqplot.sampling.client.utils.Utils.java

License:Open Source License

/**
 * Get UTC time in GWT client side/*from  w  ww .  j a  v a2  s .com*/
 * @param date to be parsed
 * @return UTC date
 */
public static Date getUTCTime(Date date) {

    DateTimeFormat dtf = DateTimeFormat.getFormat("yyyyMMddHHmmss");

    TimeZone utc = TimeZone.createTimeZone(0);

    return dtf.parse(dtf.format(date, utc));

}