|
|
@@ -7,6 +7,7 @@ import android.support.annotation.NonNull;
|
|
|
import android.support.v7.widget.DefaultItemAnimator;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.text.Editable;
|
|
|
+import android.text.TextUtils;
|
|
|
import android.view.Gravity;
|
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.Menu;
|
|
|
@@ -57,8 +58,10 @@ import com.modular.appmessages.adapter.CrashLinearLayoutManager;
|
|
|
import com.modular.appmessages.presenter.ApprovaPresenter;
|
|
|
import com.modular.appmessages.presenter.imp.IApproval;
|
|
|
import com.modular.apputils.activity.SelectNetAcitivty;
|
|
|
+import com.modular.apputils.model.BillGroupModel;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.LinkedHashSet;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
@@ -165,6 +168,9 @@ public class ApprovalActivity extends BaseActivity implements IApproval, Approva
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
+ } else if (100 == requestCode && 0x21 == resultCode) {
|
|
|
+ ArrayList<SelectBean> muliData = data.getParcelableArrayListExtra("data");
|
|
|
+ updateMfFind(muliData);
|
|
|
}
|
|
|
super.onActivityResult(requestCode, resultCode, data);
|
|
|
}
|
|
|
@@ -188,6 +194,51 @@ public class ApprovalActivity extends BaseActivity implements IApproval, Approva
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void updateMfFind(ArrayList<SelectBean> muliData) {
|
|
|
+ JSONObject object = null;
|
|
|
+ if (!ListUtils.isEmpty(muliData)) {
|
|
|
+ object = JSON.parseObject(muliData.get(0).getJson());
|
|
|
+ String dbFind = muliData.get(0).getDbfinds();
|
|
|
+ for (int i = 1; i < muliData.size(); i++) {
|
|
|
+ SelectBean b = muliData.get(i);
|
|
|
+ JSONObject bObject = JSON.parseObject(b.getJson());
|
|
|
+ for (Map.Entry<String, Object> entry : bObject.entrySet()) {
|
|
|
+ String oldText = object.getString(entry.getKey());
|
|
|
+ object.put(entry.getKey(), oldText + "#" + entry.getValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!TextUtils.isEmpty(dbFind)) {
|
|
|
+ JSONArray fbFindArray = JSON.parseArray(dbFind);
|
|
|
+ if (!ListUtils.isEmpty(fbFindArray)) {
|
|
|
+ for (int i = 0; i < fbFindArray.size(); i++) {
|
|
|
+ String dbGridField = JSONUtil.getText(fbFindArray.getJSONObject(i), "dbGridField");
|
|
|
+ String field = JSONUtil.getText(fbFindArray.getJSONObject(i), "field");
|
|
|
+ if (object.containsKey(dbGridField)) {
|
|
|
+ object.put(field, object.get(dbGridField));
|
|
|
+ object.remove(dbGridField);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (object == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (mAdapter != null) {
|
|
|
+ List<Approval> models = mAdapter.getDbFind();
|
|
|
+ for (Approval e : models) {
|
|
|
+ if (e.isNeerInput() && (e.getType() == Approval.MAIN || e.getType() == Approval.DETAIL)) {
|
|
|
+ for (Map.Entry<String, Object> map : object.entrySet()) {
|
|
|
+ if (map.getKey().equals(e.getValuesKey()) && map.getValue() != null) {
|
|
|
+ e.setValues(map.getValue().toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ mAdapter.notifyDataSetChanged();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
|
@@ -259,6 +310,28 @@ public class ApprovalActivity extends BaseActivity implements IApproval, Approva
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public void findMore(Approval approval) {
|
|
|
+ HashMap param = new HashMap<>();
|
|
|
+ param.put("caller", approval.getCaller());
|
|
|
+ param.put("page", "1");
|
|
|
+ param.put("which", "form");
|
|
|
+ param.put("condition", "1=1");
|
|
|
+ param.put("pageSize", "1000");
|
|
|
+ param.put("field", approval.getValuesKey());
|
|
|
+ Bundle bundle = new Bundle();
|
|
|
+ bundle.putSerializable("param", param);
|
|
|
+ Intent intent = new Intent(ct, SelectActivity.class);
|
|
|
+ intent.putExtra("type", 1);
|
|
|
+ intent.putExtra("isSingle", false);
|
|
|
+ intent.putExtras(bundle);
|
|
|
+ intent.putExtra("key", "combdatas");
|
|
|
+ intent.putExtra("showKey", approval.getValuesKey());
|
|
|
+ intent.putExtra("action", "common/dbfind.action");
|
|
|
+ intent.putExtra("title", approval.getCaption());
|
|
|
+ intent.putExtra("isForm", approval.getType() == Approval.MAIN);
|
|
|
+ startActivityForResult(intent, 100);
|
|
|
+ }
|
|
|
+
|
|
|
private void getEmnameByReturn(String text) {
|
|
|
if (StringUtil.isEmpty(text)) return;
|
|
|
Pattern pattern = Pattern.compile("(?<=\\()(.+?)(?=\\))");
|