|
|
@@ -1,5 +1,7 @@
|
|
|
package com.modular.apputils.activity;
|
|
|
|
|
|
+import android.Manifest;
|
|
|
+import android.app.Activity;
|
|
|
import android.content.Intent;
|
|
|
import android.os.Bundle;
|
|
|
import android.support.v7.widget.DefaultItemAnimator;
|
|
|
@@ -7,7 +9,11 @@ import android.support.v7.widget.LinearLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.Editable;
|
|
|
import android.util.Log;
|
|
|
+import android.view.KeyEvent;
|
|
|
import android.view.LayoutInflater;
|
|
|
+import android.view.Menu;
|
|
|
+import android.view.MenuInflater;
|
|
|
+import android.view.MenuItem;
|
|
|
import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
|
import android.widget.AdapterView;
|
|
|
@@ -25,6 +31,7 @@ import com.common.config.BaseConfig;
|
|
|
import com.common.data.JSONUtil;
|
|
|
import com.common.data.ListUtils;
|
|
|
import com.common.data.StringUtil;
|
|
|
+import com.common.system.PermissionUtil;
|
|
|
import com.core.app.MyApplication;
|
|
|
import com.core.base.OABaseActivity;
|
|
|
import com.core.net.http.http.OAHttpHelper;
|
|
|
@@ -42,6 +49,8 @@ import com.me.network.app.http.Method;
|
|
|
import com.me.network.app.http.rx.ResultListener;
|
|
|
import com.me.network.app.http.rx.ResultSubscriber;
|
|
|
import com.modular.apputils.R;
|
|
|
+import com.uuzuche.lib_zxing.activity.CaptureActivity;
|
|
|
+import com.uuzuche.lib_zxing.activity.CodeUtils;
|
|
|
|
|
|
import java.net.URLEncoder;
|
|
|
import java.util.ArrayList;
|
|
|
@@ -77,6 +86,52 @@ public class SelectNetAcitivty extends OABaseActivity {
|
|
|
initView();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onCreateOptionsMenu(Menu menu) {
|
|
|
+ if (getIntent() != null && getIntent().getBooleanExtra("device", false)) {
|
|
|
+ getMenuInflater().inflate(R.menu.menu_me_scan, menu);
|
|
|
+ }
|
|
|
+ return super.onCreateOptionsMenu(menu);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
+ if (item.getItemId() == R.id.me_scan) {
|
|
|
+ requestPermission(Manifest.permission.CAMERA, new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ startActivityForResult(new Intent(ct, CaptureActivity.class), 0x21);
|
|
|
+ }
|
|
|
+ }, new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ ToastUtil.showToast(ct, R.string.not_camera_permission);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ return super.onOptionsItemSelected(item);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
+ super.onActivityResult(requestCode, resultCode, data);
|
|
|
+ if (data != null) {
|
|
|
+ if (requestCode == 0x21 && resultCode == Activity.RESULT_OK) {
|
|
|
+ Bundle bundle = data.getExtras();
|
|
|
+ if (bundle != null) {
|
|
|
+ if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
|
|
|
+ String result = bundle.getString(CodeUtils.RESULT_STRING);
|
|
|
+ loadSearch(page = 1, result);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void initView() {
|
|
|
VoiceSearchView voiceSearchView = (VoiceSearchView) findViewById(R.id.voiceSearchView);
|
|
|
refreshListView = (PullToRefreshListView) findViewById(R.id.refreshListView);
|
|
|
@@ -86,11 +141,12 @@ public class SelectNetAcitivty extends OABaseActivity {
|
|
|
mEmptyLayout.setShowEmptyButton(false);
|
|
|
mEmptyLayout.setShowErrorButton(false);
|
|
|
mEmptyLayout.setEmptyMessage("没有符合条件的数据");
|
|
|
- voiceSearchView.addTextChangedListener(new EditChangeListener() {
|
|
|
+ voiceSearchView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
|
|
|
@Override
|
|
|
- public void afterTextChanged(Editable editable) {
|
|
|
- lastKey = editable.toString();
|
|
|
+ public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
|
|
|
+ lastKey = StringUtil.getText(v);
|
|
|
loadSearch(page = 1, lastKey);
|
|
|
+ return false;
|
|
|
}
|
|
|
});
|
|
|
refreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
|
|
|
@@ -132,9 +188,21 @@ public class SelectNetAcitivty extends OABaseActivity {
|
|
|
String condition = null;
|
|
|
if (StringUtil.isEmpty(keyWork)) {
|
|
|
condition = "1=1";
|
|
|
- } else {
|
|
|
+ } else
|
|
|
+// if (configMap == null || configMap.isEmpty()) {
|
|
|
condition = "upper(" + (StringUtil.isEmpty(corekey) ? fieldKey : corekey) + ") like '%" + keyWork.toUpperCase() + "%'";
|
|
|
- }
|
|
|
+// } else {
|
|
|
+// String kwUp = keyWork.toUpperCase();
|
|
|
+// StringBuilder conditionBulid = new StringBuilder();
|
|
|
+// for (Map.Entry<String, String> e : configMap.entrySet()) {
|
|
|
+// conditionBulid.append("upper(" +e.getValue()+ ") like '%" + kwUp+ "%' or ");
|
|
|
+// }
|
|
|
+// if (conditionBulid.length()>2){
|
|
|
+// conditionBulid.delete(conditionBulid.length()-3,conditionBulid.length());
|
|
|
+// }
|
|
|
+// condition = conditionBulid.toString();
|
|
|
+// LogUtil.i("condition="+condition);
|
|
|
+// }
|
|
|
HttpClient.Builder builder = new HttpClient.Builder();
|
|
|
boolean isForm = StringUtil.isEmpty(gCaller);
|
|
|
builder.url("mobile/common/dbfind.action")
|
|
|
@@ -181,14 +249,15 @@ public class SelectNetAcitivty extends OABaseActivity {
|
|
|
setData2Adapter(data, dbfinds);
|
|
|
}
|
|
|
|
|
|
+ private Map<String, String> configMap;
|
|
|
+
|
|
|
private void setData2Adapter(JSONArray data, JSONArray dbfinds) throws Exception {
|
|
|
- Map<String, String> configMap = new LinkedHashMap<>();
|
|
|
+ configMap = new LinkedHashMap<>();
|
|
|
//获取配置
|
|
|
JSONObject config = null;
|
|
|
String fieldKeyLike = null;
|
|
|
for (int i = 0; i < dbfinds.size(); i++) {
|
|
|
config = dbfinds.getJSONObject(i);
|
|
|
- LogUtil.i("config="+config.toJSONString());
|
|
|
String dbGridField = JSONUtil.getText(config, "dbGridField", "ds_dbfindfield");
|
|
|
String field = JSONUtil.getText(config, "field", "ds_gridfield");
|
|
|
if (!StringUtil.isEmpty(dbGridField) && !StringUtil.isEmpty(field)) {
|
|
|
@@ -198,7 +267,6 @@ public class SelectNetAcitivty extends OABaseActivity {
|
|
|
configMap.put(dbGridField, field);
|
|
|
}
|
|
|
}
|
|
|
- LogUtil.i("configMap="+JSON.toJSONString(configMap));
|
|
|
JSONObject o = null;
|
|
|
Bean b = null;
|
|
|
List<Bean> models = new ArrayList<>();
|
|
|
@@ -207,13 +275,10 @@ public class SelectNetAcitivty extends OABaseActivity {
|
|
|
o = data.getJSONObject(i);
|
|
|
b = new Bean();
|
|
|
b.name = JSONUtil.getText(o, fieldKeyLike);
|
|
|
-
|
|
|
jsonMap = new LinkedHashMap<>();
|
|
|
for (Map.Entry<String, String> e : configMap.entrySet()) {
|
|
|
- LogUtil.i("ek="+e.getKey()+" ev="+e.getValue());
|
|
|
jsonMap.put(e.getValue(), JSONUtil.getText(o, e.getKey()));
|
|
|
}
|
|
|
- //TODO 修改显示
|
|
|
try {
|
|
|
b.showName = getShowName(jsonMap);
|
|
|
} catch (Exception e) {
|
|
|
@@ -333,7 +398,7 @@ public class SelectNetAcitivty extends OABaseActivity {
|
|
|
String showName;
|
|
|
|
|
|
public String getShowName() {
|
|
|
- return StringUtil.isEmpty(showName)?name:showName;
|
|
|
+ return StringUtil.isEmpty(showName) ? name : showName;
|
|
|
}
|
|
|
}
|
|
|
}
|