Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.automaster.autoview.client.ui.paineis.tabs.monitoramento; import com.automaster.autoview.client.Info; import com.automaster.autoview.client.ui.openlayers.MapaFrotaOpenLayer; import com.automaster.autoview.client.ui.paineis.tabs.TabLog; import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; import com.google.gwt.user.client.Timer; import com.smartgwt.client.data.Record; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.Overflow; import com.smartgwt.client.types.VisibilityMode; import com.smartgwt.client.widgets.ImgButton; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.events.DrawEvent; import com.smartgwt.client.widgets.events.DrawHandler; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.SectionStack; import com.smartgwt.client.widgets.layout.SectionStackSection; import com.smartgwt.client.widgets.tab.Tab; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Map; import java.util.TreeMap; /** * * @author Adriano */ public class TabFrota extends Tab { //private int contador; //private ArrayList<TreeMap<String, String>> arrayListChips = new ArrayList<TreeMap<String, String>>(); // Pega o cdigo da Unidade do Usurio Logado Cliente ou Funiconrio int codigoUnidade = Integer.parseInt( (Info.usuarioLogado.get("codUnidadeCliente") == null) ? Info.usuarioLogado.get("codUnidadeFuncionario") : Info.usuarioLogado.get("codUnidadeCliente")); //private final DynamicForm formBusca = new DynamicForm(); //private final RadioGroupItem tipoBusca = new RadioGroupItem(); //private final TextItem buscaVeiculo = new TextItem(); public static Timer atualizaFrota; private int i; //private String labelIcone = "labels"; //private int pointA = 40; //private int pointB = 80; private String icone = "./imagens/ponto_ligado"; //private final ListGridField excluir = new ListGridField("excluir", "Excluir"); /*private final ListGrid veiculos = new ListGrid(); private final ListGrid posicoesVeiculos = new ListGrid(); private int indexVeiculoPlaca=0;*/ //private boolean verificaArrived = true; private String nomeCliente = ""; private TreeMap<String, ArrayList<TreeMap<String, String>>> listaVeiculos; private ArrayList<TreeMap<String, String>> posicoesVeiculo; private MapaFrotaOpenLayer mapaFrotaOpenLayer; public TreeMap<String, ArrayList<TreeMap<String, String>>> getListaVeiculos() { return listaVeiculos; } public void setListaVeiculos(TreeMap<String, ArrayList<TreeMap<String, String>>> listaVeiculos) { this.listaVeiculos = listaVeiculos; } public ArrayList<TreeMap<String, String>> getPosicoesVeiculo() { return posicoesVeiculo; } public void setPosicoesVeiculo(ArrayList<TreeMap<String, String>> posicoesVeiculo) { this.posicoesVeiculo = posicoesVeiculo; } public TabFrota() { //final MapaFrota mapa = new MapaFrota(); //VLayout mapa = new VLayout(); mapaFrotaOpenLayer = new MapaFrotaOpenLayer(); /*Info.dbService.buscarVeiculoPorUsuarioLogadoFrota(Integer.parseInt(Info.usuarioLogado.get("codUsuario")), new AsyncCallback<TreeMap<String, ArrayList<TreeMap<String, String>>>>() { @Override public void onFailure(Throwable caught) { Window.alert("buscarVeiculoPorUsuarioLogadoFrota - A remote interface failure !: "+caught.getMessage()); } @Override public void onSuccess(TreeMap<String, ArrayList<TreeMap<String, String>>> result) { if (result != null) { setListaVeiculos(result); } else { GWT.log("Usurio sem veculo: " + Info.usuarioLogado.get("codUsuario")); } } });*/ //Setando itens de configurao da tab setTitle(Info.titulosMsg.get("frota")); //criando o Vlayout que ir armazenar o painelNovoCliente HLayout painelPai = new HLayout(); painelPai.setWidth100(); painelPai.setHeight100(); painelPai.setAlign(Alignment.CENTER); final SectionStackSection mapaSection = new SectionStackSection(); mapaSection.setTitle(Info.titulosMsg.get("mapa"));// mapaSection.setExpanded(true); mapaFrotaOpenLayer.addDrawHandler(new DrawHandler() { @Override public void onDraw(DrawEvent event) { for (Map.Entry<String, Object> entrySet : TabInicio.listaVeiculos.entrySet()) { String key = entrySet.getKey(); if (!key.equalsIgnoreCase("OFFSET") && !key.equalsIgnoreCase("MAXIMO") && !key.equalsIgnoreCase("MINIMO") && !key.equalsIgnoreCase("ENDERECO") && !key.equalsIgnoreCase("GRUPO")) { //SC.say("DENTRO DO IF!"); ArrayList<TreeMap<String, String>> value = (ArrayList<TreeMap<String, String>>) entrySet .getValue(); nomeCliente = ((Info.usuarioLogado.get("codUnidadeCliente") == null) ? "</strong></br>Cliente: <strong>" + value.get(0).get("nomeCliente") + "</strong>" : ""); int direcaoPosicao = Integer.parseInt(value.get(0).get("codDirecao")); //String icone = ""; if (value.get(0).get("ign").equalsIgnoreCase("false")) { if (direcaoPosicao == 0) { icone = "./imagens/" + value.get(0).get("codIcone") + "/parado_desligado.png"; } else if (direcaoPosicao == 1) { icone = "./imagens/" + value.get(0).get("codIcone") + "/norte_desligado.png"; } else if (direcaoPosicao == 2) { icone = "./imagens/" + value.get(0).get("codIcone") + "/nordeste_desligado.png"; } else if (direcaoPosicao == 3) { icone = "./imagens/" + value.get(0).get("codIcone") + "/leste_desligado.png"; } else if (direcaoPosicao == 4) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sudeste_desligado.png"; } else if (direcaoPosicao == 5) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sul_desligado.png"; } else if (direcaoPosicao == 6) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sudoeste_desligado.png"; } else if (direcaoPosicao == 7) { icone = "./imagens/" + value.get(0).get("codIcone") + "/oeste_desligado.png"; } else if (direcaoPosicao == 8) { icone = "./imagens/" + value.get(0).get("codIcone") + "/noroeste_desligado.png"; } } else { if (direcaoPosicao == 0) { icone = "./imagens/" + value.get(0).get("codIcone") + "/parado_ligado.png"; } else if (direcaoPosicao == 1) { icone = "./imagens/" + value.get(0).get("codIcone") + "/norte_ligado.png"; } else if (direcaoPosicao == 2) { icone = "./imagens/" + value.get(0).get("codIcone") + "/nordeste_ligado.png"; } else if (direcaoPosicao == 3) { icone = "./imagens/" + value.get(0).get("codIcone") + "/leste_ligado.png"; } else if (direcaoPosicao == 4) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sudeste_ligado.png"; } else if (direcaoPosicao == 5) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sul_ligado.png"; } else if (direcaoPosicao == 6) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sudoeste_ligado.png"; } else if (direcaoPosicao == 7) { icone = "./imagens/" + value.get(0).get("codIcone") + "/oeste_ligado.png"; } else if (direcaoPosicao == 8) { icone = "./imagens/" + value.get(0).get("codIcone") + "/noroeste_ligado.png"; } } String dataHora = value.get(0).get("dataHoraString"); String vel = value.get(0).get("vel"); String ign = value.get(0).get("ign").equalsIgnoreCase("True") ? "Ligada" : "Desligada"; //String sat = veiculosAux.get(veiculosAux.firstKey()).get(0).get("sat"); double latitude = Double.parseDouble(value.get(0).get("lat")); double longitude = Double.parseDouble(value.get(0).get("lon")); String endereco = (value.get(0).get("endereco") == null) ? "No h resoluo de endereo para este local" : value.get(0).get("endereco"); nomeCliente = ((Info.usuarioLogado.get("codUnidadeCliente") == null) ? "</br><strong> Cliente: </strong>" + value.get(0).get("nomeCliente") + "</strong>" : ""); String direcao = "</br><strong>Direo: </strong>" + value.get(0).get("direcao") + nomeCliente; String fabricanteStreet = "</br><strong>Fabricante: </strong>" + value.get(0).get("fabricante"); String modeloStreet = "</br><strong>Modelo: </strong>" + value.get(0).get("modelo"); String corStreet = "</br><strong>Cor: </strong>" + value.get(0).get("cor"); String anoStreet = "</br><strong>Ano: </strong>" + value.get(0).get("ano"); String textPlaca = "<strong>Placa: </strong>" + value.get(0).get("placa"); //String grupoPlaca = (value.get(0).get("grupoPrincipal").equalsIgnoreCase("true")) ? "<strong>Placa: </strong>" + textPlaca : "<strong> Grupo: </strong>" + value.get(0).get("nomeGrupo") + "<br/><strong>Placa: </strong>" + textPlaca; String textVeiculo = textPlaca + fabricanteStreet + modeloStreet + corStreet + anoStreet; mapaFrotaOpenLayer.addMarker(longitude, latitude, textVeiculo, icone, 0, dataHora, vel, ign, endereco, direcao); } } } }); mapaSection.setItems(mapaFrotaOpenLayer); 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) { mapaFrotaOpenLayer.getOsm_1().redraw(); } }); 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-frota"); } }); // boolean internetExplore = false; // internetExplore = Info.identificaNavegador(); // if (internetExplore) { mapaSection.setControls(refreshMapa); // } else { // mapaSection.setControls(telaCheia, refreshMapa); // } final SectionStack buscarClientes = new SectionStack(); buscarClientes.setSections(mapaSection); buscarClientes.setVisibilityMode(VisibilityMode.MULTIPLE); buscarClientes.setAnimateSections(true); buscarClientes.setWidth100(); buscarClientes.setHeight100(); buscarClientes.setOverflow(Overflow.VISIBLE); painelPai.addMember(buscarClientes); setPane(painelPai); TabFrota.atualizaFrota = new Timer() { @Override public void run() { Record registro = new Record(); registro.setAttribute("dataHoraReal", new Timestamp(System.currentTimeMillis()).getTime()); registro.setAttribute("log", "Linha da Thread atualizaFrota: " + DateTimeFormat.getFormat(PredefinedFormat.DATE_TIME_MEDIUM) .format(new Timestamp(System.currentTimeMillis()))); TabLog.log.addData(registro); //Info.markersFrota.markersClearAllFrota(Info.markersFrota.markersValue()); mapaFrotaOpenLayer.clearMarkers(); for (Map.Entry<String, Object> entrySet : TabInicio.listaVeiculos.entrySet()) { String key = entrySet.getKey(); if (!key.equalsIgnoreCase("OFFSET") && !key.equalsIgnoreCase("MAXIMO") && !key.equalsIgnoreCase("MINIMO") && !key.equalsIgnoreCase("ENDERECO") && !key.equalsIgnoreCase("GRUPO")) { //SC.say("DENTRO DO IF!"); ArrayList<TreeMap<String, String>> value = (ArrayList<TreeMap<String, String>>) entrySet .getValue(); nomeCliente = ((Info.usuarioLogado.get("codUnidadeCliente") == null) ? "</strong></br>Cliente: <strong>" + value.get(0).get("nomeCliente") + "</strong>" : ""); int direcaoPosicao = Integer.parseInt(value.get(0).get("codDirecao")); //String icone = ""; if (value.get(0).get("ign").equalsIgnoreCase("false")) { if (direcaoPosicao == 0) { icone = "./imagens/" + value.get(0).get("codIcone") + "/parado_desligado.png"; } else if (direcaoPosicao == 1) { icone = "./imagens/" + value.get(0).get("codIcone") + "/norte_desligado.png"; } else if (direcaoPosicao == 2) { icone = "./imagens/" + value.get(0).get("codIcone") + "/nordeste_desligado.png"; } else if (direcaoPosicao == 3) { icone = "./imagens/" + value.get(0).get("codIcone") + "/leste_desligado.png"; } else if (direcaoPosicao == 4) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sudeste_desligado.png"; } else if (direcaoPosicao == 5) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sul_desligado.png"; } else if (direcaoPosicao == 6) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sudoeste_desligado.png"; } else if (direcaoPosicao == 7) { icone = "./imagens/" + value.get(0).get("codIcone") + "/oeste_desligado.png"; } else if (direcaoPosicao == 8) { icone = "./imagens/" + value.get(0).get("codIcone") + "/noroeste_desligado.png"; } } else { if (direcaoPosicao == 0) { icone = "./imagens/" + value.get(0).get("codIcone") + "/parado_ligado.png"; } else if (direcaoPosicao == 1) { icone = "./imagens/" + value.get(0).get("codIcone") + "/norte_ligado.png"; } else if (direcaoPosicao == 2) { icone = "./imagens/" + value.get(0).get("codIcone") + "/nordeste_ligado.png"; } else if (direcaoPosicao == 3) { icone = "./imagens/" + value.get(0).get("codIcone") + "/leste_ligado.png"; } else if (direcaoPosicao == 4) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sudeste_ligado.png"; } else if (direcaoPosicao == 5) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sul_ligado.png"; } else if (direcaoPosicao == 6) { icone = "./imagens/" + value.get(0).get("codIcone") + "/sudoeste_ligado.png"; } else if (direcaoPosicao == 7) { icone = "./imagens/" + value.get(0).get("codIcone") + "/oeste_ligado.png"; } else if (direcaoPosicao == 8) { icone = "./imagens/" + value.get(0).get("codIcone") + "/noroeste_ligado.png"; } } String dataHora = value.get(0).get("dataHoraString"); String vel = value.get(0).get("vel"); String ign = value.get(0).get("ign").equalsIgnoreCase("True") ? "Ligada" : "Desligada"; //String sat = veiculosAux.get(veiculosAux.firstKey()).get(0).get("sat"); double latitude = Double.parseDouble(value.get(0).get("lat")); double longitude = Double.parseDouble(value.get(0).get("lon")); String endereco = (value.get(0).get("endereco") == null) ? "No h resoluo de endereo para este local" : value.get(0).get("endereco"); nomeCliente = ((Info.usuarioLogado.get("codUnidadeCliente") == null) ? "</br><strong> Cliente: </strong>" + value.get(0).get("nomeCliente") + "</strong>" : ""); String direcao = "</br><strong>Direo: </strong>" + value.get(0).get("direcao") + nomeCliente; String fabricanteStreet = "</br><strong>Fabricante: </strong>" + value.get(0).get("fabricante"); String modeloStreet = "</br><strong>Modelo: </strong>" + value.get(0).get("modelo"); String corStreet = "</br><strong>Cor: </strong>" + value.get(0).get("cor"); String anoStreet = "</br><strong>Ano: </strong>" + value.get(0).get("ano"); String textPlaca = "<strong>Placa: </strong>" + value.get(0).get("placa"); String grupoPlaca = (value.get(0).get("grupoPrincipal").equalsIgnoreCase("true")) ? "<strong>Placa: </strong>" + textPlaca : "<strong> Grupo: </strong>" + value.get(0).get("nomeGrupo") + "<br/><strong>Placa: </strong>" + textPlaca; String textVeiculo = textPlaca + fabricanteStreet + modeloStreet + corStreet + anoStreet; mapaFrotaOpenLayer.addMarker(longitude, latitude, textVeiculo, icone, 0, dataHora, vel, ign, endereco, direcao); //Marker marker = new Marker(lat, lon, Info.mapaFrota, icone, placa, pointA, pointB, labelIcone, Info.markersFrota.markersValue()); //InfoWindow infoWindow = new InfoWindow(); //Info.mapaFrota.addListenerInfoWindow(infoWindow.value()); //Marker marcadorStreet = new Marker(latLng.value(), textPlaca, icone); //Info.mapaFrota.addListenerStreetViewFrota(Info.mapaFrota.value(), marker.value(), marcadorStreet.value(), latLng.value(), infoWindow.value(), String.valueOf(textPlaca + i + "Fr"), textPlaca, dataHora, vel, ign, latitude, longitude, endereco, direcao, fabricanteStreet, modeloStreet, corStreet, anoStreet); //Info.mapaFrota.addListenerInfoWindow(infoWindow.value()); //Info.markerArrayFrota.add(marker); //GWT.log("Linha 176 - TabFrota"); //GWT.log("Linha veiculoAuxLat 02 : "+veiculosAux); //veiculosAux.remove(veiculosAux.firstKey()); } //else { // SC.say("ERRO ao atualizar frota!"+key); //} } } }; TabFrota.atualizaFrota.scheduleRepeating(60000); } }