Browse Source

合并代码

RaoMeng 9 years ago
parent
commit
34c5c165f9

+ 56 - 45
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/oa/LocationSearchActivity.java

@@ -163,7 +163,7 @@ public class LocationSearchActivity extends BaseActivity {
                 if (StringUtils.isEmpty(keyWork)) {
                     loadDataByNeer();
                 } else
-                    loadDataByCity(StringUtils.isEmpty(keyWork) ? "" : keyWork);
+                    loadDataByCity();
 
                 break;
             default:
@@ -177,27 +177,12 @@ public class LocationSearchActivity extends BaseActivity {
         search_edit.addTextChangedListener(new EditChangeListener() {
             @Override
             public void afterTextChanged(Editable editable) {
-                if (editable == null) return;
-                String key = editable.toString();
-                List<PoiInfo> chche = new ArrayList<>();
-                if (!ListUtils.isEmpty(listData)) {
-                    for (PoiInfo e : listData) {
-                        String text = e.city + e.name + e.address;
-                        boolean isOK = StringUtils.isInclude(text, key);
-                        if (isOK)
-                            chche.add(e);
-                    }
-                    if (ListUtils.isEmpty(chche)) {//如果数据为空,就获取输入的地址对应的数据
-                        if (type == 2) {
-                            loadDataByCity(key);
-                        } else adapter.setListData(null);
-                        return;
-                    } else {
-                        adapter.setListData(chche);
-                    }
-                } else {
-                    loadDataByCity(key);
-                }
+                if (editable == null || StringUtils.isEmpty(editable.toString())) return;
+                keyWork = editable.toString();
+                if (StringUtils.isEmpty(keyWork))
+                    loadDataByNeer();
+                else
+                    search();
             }
         });
 
@@ -205,16 +190,40 @@ public class LocationSearchActivity extends BaseActivity {
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                 List<PoiInfo> chche = adapter.getListData();
-                if (ListUtils.isEmpty(chche) || chche.size() <= i) return;
-                endOfActivity(chche.get(i));
+                int item = (i - 1) <= 0 ? 0 : (i - 1);
+                if (ListUtils.isEmpty(chche) || chche.size() <= item) return;
+                endOfActivity(chche.get(item));
             }
         });
     }
 
+    private void search() {
+        List<PoiInfo> chche = new ArrayList<>();
+        //1.先搜索本地数据,如果有先筛选出本地符合   2.如果没有,搜索地图
+        if (!ListUtils.isEmpty(listData)) {
+            for (PoiInfo e : listData) {
+                String text = e.city + e.name + e.address;
+                boolean isOK = StringUtils.isInclude(text, keyWork);
+                if (isOK)
+                    chche.add(e);
+            }
+            if (ListUtils.isEmpty(chche)) {//如果数据为空,就获取输入的地址对应的数据
+                if (type == 2) {
+                    loadDataByCity();
+                } else adapter.setListData(null);
+                return;
+            } else {
+                adapter.setListData(chche);
+            }
+        } else {
+            loadDataByCity();
+        }
+    }
 
-    private void loadDataByCity(String keyWork) {
+    private void loadDataByCity() {
+        Log.i("gongpengming", "loadDataByCity= " + keyWork);
         isChina = true;
-        BaiduMapUtil.getInstence().searchByInputOnChina(keyWork, pageNum, listener);
+        BaiduMapUtil.getInstence().searchByInputOnChina(StringUtils.isEmpty(keyWork) ? "" : keyWork, pageNum, listener);
     }
 
     private void loadDataByNeer() {
@@ -238,29 +247,31 @@ public class LocationSearchActivity extends BaseActivity {
                 listData = null;
                 adapter.setListData(listData);
                 return;
+            }
+            Log.i("gongpengming", "进来else ");
+            PoiResult poiResult = (PoiResult) result;
+            List<PoiInfo> chches = poiResult.getAllPoi();
+            if (ListUtils.isEmpty(chches)) {
+                Log.i("gongpengming", "chches==nulll");
+                Log.i("gongpengming", "isChina=" + isChina);
+                if (isChina) {
+                    isChina = false;
+                    BaiduMapUtil.getInstence().searchByInput(keyWork, pageNum, listener);
+                    return;
+                }
             } else {
-                PoiResult poiResult = (PoiResult) result;
-                List<PoiInfo> chches = poiResult.getAllPoi();
-                if (ListUtils.isEmpty(chches)) {
-                    Log.i("gongpengming", "chches==nulll");
-                    if (isChina) {
-                        isChina = false;
-                        BaiduMapUtil.getInstence().searchByInput(keyWork, pageNum, listener);
-                        return;
-                    }
-                } else {
-                    BaiduMapUtil.getInstence().setMapViewPoint(bmapView, chches.get(0).location, true);
-                    for (int i = 0; i < chches.size(); i++) {
-                        if (StringUtils.isEmpty(chches.get(i).name) || StringUtils.isEmpty(chches.get(i).address)) {
-                            chches.remove(i);
-                            i--;
-                        }
+                Log.i("gongpengming", "chches!!!!!!!!!!!!=nulll ");
+                BaiduMapUtil.getInstence().setMapViewPoint(bmapView, chches.get(0).location, true);
+                for (int i = 0; i < chches.size(); i++) {
+                    Log.i("gongpengming", "chches.get(i).name=" + chches.get(i).name);
+                    if (StringUtils.isEmpty(chches.get(i).name) || StringUtils.isEmpty(chches.get(i).address)) {
+                        chches.remove(i);
+                        i--;
                     }
                 }
-                listData = chches;
-                adapter.setListData(listData);
             }
-
+            listData = chches;
+            adapter.setListData(listData);
         }
     };
 

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/presenter/WorkPresenter.java

@@ -102,6 +102,7 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
     }
 
     private void validatorMac(ArrayList<WorkModel> models, String macAddress) {
+        isSubmiting = true;
         if (iWorkView != null) iWorkView.showLoading();
         Map<String, Object> param = new HashMap<>();
         param.put("macAddress", macAddress);
@@ -115,7 +116,6 @@ public class WorkPresenter implements HttpHandler.OnResultListener, IWorkPresent
     //签到
     private void signinWork(Bundle bunder, String code) {
         if (iWorkView != null) iWorkView.showLoading();
-        isSubmiting = true;
         Map<String, Object> param = new HashMap<>();
         Map<String, Object> form = new HashMap<>();
         form.put("cl_code", code);

+ 11 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/util/BaiduMapUtil.java

@@ -11,6 +11,7 @@ import com.baidu.mapapi.map.MapView;
 import com.baidu.mapapi.map.MarkerOptions;
 import com.baidu.mapapi.map.OverlayOptions;
 import com.baidu.mapapi.model.LatLng;
+import com.baidu.mapapi.search.core.PoiInfo;
 import com.baidu.mapapi.search.core.SearchResult;
 import com.baidu.mapapi.search.poi.OnGetPoiSearchResultListener;
 import com.baidu.mapapi.search.poi.PoiCitySearchOption;
@@ -247,14 +248,16 @@ public class BaiduMapUtil {
         }
     }
 
-    public void searchByInputOnChina(String location, int pagerNum, OnSearchPoiListener onSearchPoiListener) {
+    public void searchByInputOnChina(String location, int pagerNum,
+                                     OnSearchPoiListener onSearchPoiListener) {
         try {
             this.onSearchPoiListener = onSearchPoiListener;
             mPoiSearch = PoiSearch.newInstance();
             mPoiSearch.setOnGetPoiSearchResultListener(poiListener);
             mPoiSearch.searchInCity((new PoiCitySearchOption())
                     .city("中国")
-                    .keyword(location).pageNum(pagerNum)
+                    .keyword(location)
+                    .pageNum(pagerNum)
             );
         } catch (Exception e) {
             if (e != null)
@@ -266,10 +269,15 @@ public class BaiduMapUtil {
         public void onGetPoiResult(PoiResult result) {
             //获取POI检索结果
             Log.i("gongpengming", "onGetPoiResult");
-            if (onSearchPoiListener == null || result == null){
+            if (onSearchPoiListener == null || result == null) {
                 Log.i("gongpengming", "result == null");
                 return;
             }
+            if (!ListUtils.isEmpty(result.getAllPoi())) {
+                for (PoiInfo e : result.getAllPoi())
+                    Log.i("gongpengming", "onGetPoiResult: " + e.name);
+            }
+            Log.i("gongpengming", "——————————————————————————————————————————————————————————");
             onSearchPoiListener.result(result);
         }