|
|
@@ -239,6 +239,9 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
|
|
|
private void findMore(int position, BillGroupModel.BillModel model) {
|
|
|
HashMap param = new HashMap<>();
|
|
|
String[] fields = new String[]{"sa_custname"};
|
|
|
+ BillGroupModel mGroupModel = mBillAdapter.getBillGroupModel(model.getGroupIndex());
|
|
|
+ boolean isForm = mGroupModel == null || mGroupModel.isForm();
|
|
|
+
|
|
|
param.put("caller", mBillPresenter.getFormCaller());
|
|
|
param.put("page", "1");
|
|
|
param.put("which", "form");
|
|
|
@@ -258,6 +261,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
|
|
|
intent.putExtra("action", "common/dbfind.action");
|
|
|
intent.putExtra("title", model.getCaption());
|
|
|
intent.putExtra("id", model.getGroupIndex());
|
|
|
+ intent.putExtra("isForm", isForm);
|
|
|
startActivityForResult(intent, REQUEST_CODE_SELECT_MORE);
|
|
|
}
|
|
|
|
|
|
@@ -433,6 +437,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
|
|
|
case REQUEST_CODE_SELECT_MORE:
|
|
|
if (resultCode == 0x21) {//多选框
|
|
|
int groupIndex = data.getIntExtra("id", 0);
|
|
|
+ boolean isForm = data.getBooleanExtra("isForm", true);
|
|
|
ArrayList<SelectBean> muliData = data.getParcelableArrayListExtra("data");
|
|
|
JSONObject object = null;
|
|
|
if (!ListUtils.isEmpty(muliData)) {
|
|
|
@@ -453,7 +458,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
|
|
|
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.put(field, object.get(dbGridField));
|
|
|
object.remove(dbGridField);
|
|
|
}
|
|
|
}
|
|
|
@@ -463,7 +468,7 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
|
|
|
// mBillAdapter.updateBillModelValues(id, values, values);
|
|
|
LogUtil.i("gong", "object=" + object);
|
|
|
LogUtil.i("gong", "groupIndex=" + groupIndex);
|
|
|
- handlerSelectDbFind(object, groupIndex);
|
|
|
+ handlerSelectDbFind(object, groupIndex, isForm);
|
|
|
}
|
|
|
break;
|
|
|
case REQUESTCODE_C_NET:
|
|
|
@@ -487,7 +492,8 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
|
|
|
case REQUESTCODE_DB_FIND:
|
|
|
String json = data.getStringExtra("data");
|
|
|
int groupIndex = data.getIntExtra("groupId", 0);
|
|
|
- handlerSelectDbFind(JSON.parseObject(json), groupIndex);
|
|
|
+ boolean isForm = data.getBooleanExtra("isForm", true);
|
|
|
+ handlerSelectDbFind(JSON.parseObject(json), groupIndex, isForm);
|
|
|
break;
|
|
|
case 0x22:
|
|
|
SelectBean d = data.getParcelableExtra("data");
|
|
|
@@ -556,24 +562,37 @@ public class BillInputActivity extends OABaseActivity implements IBill, BillAdap
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- protected void handlerSelectDbFind(JSONObject object, int groupId) {
|
|
|
- BillGroupModel mBillGroupModel = mBillAdapter.getBillGroupModel(groupId);
|
|
|
- if (mBillGroupModel != null) {
|
|
|
- if (!ListUtils.isEmpty(mBillGroupModel.getShowBillFields())) {
|
|
|
- for (BillGroupModel.BillModel e : mBillGroupModel.getShowBillFields()) {
|
|
|
- if (object.containsKey(e.getField())) {
|
|
|
- e.setValue(JSONUtil.getText(object, e.getField()));
|
|
|
+ protected void handlerSelectDbFind(JSONObject object, int groupId, boolean isForm) {
|
|
|
+ if (isForm){
|
|
|
+ List<BillGroupModel.BillModel> formBillModels = mBillAdapter.getFormBillModels();
|
|
|
+
|
|
|
+ if (!ListUtils.isEmpty(formBillModels)){
|
|
|
+ for (BillGroupModel.BillModel billModel : formBillModels) {
|
|
|
+ if (object.containsKey(billModel.getField())) {
|
|
|
+ billModel.setValue(JSONUtil.getText(object, billModel.getField()));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (!ListUtils.isEmpty(mBillGroupModel.getHideBillFields())) {
|
|
|
- for (BillGroupModel.BillModel e : mBillGroupModel.getHideBillFields()) {
|
|
|
- if (object.containsKey(e.getField())) {
|
|
|
- e.setValue(JSONUtil.getText(object, e.getField()));
|
|
|
+ }else {
|
|
|
+ BillGroupModel mBillGroupModel = mBillAdapter.getBillGroupModel(groupId);
|
|
|
+ if (mBillGroupModel != null) {
|
|
|
+ if (!ListUtils.isEmpty(mBillGroupModel.getShowBillFields())) {
|
|
|
+ for (BillGroupModel.BillModel e : mBillGroupModel.getShowBillFields()) {
|
|
|
+ if (object.containsKey(e.getField())) {
|
|
|
+ e.setValue(JSONUtil.getText(object, e.getField()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!ListUtils.isEmpty(mBillGroupModel.getHideBillFields())) {
|
|
|
+ for (BillGroupModel.BillModel e : mBillGroupModel.getHideBillFields()) {
|
|
|
+ if (object.containsKey(e.getField())) {
|
|
|
+ e.setValue(JSONUtil.getText(object, e.getField()));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
mBillAdapter.notifyDataSetChanged();
|
|
|
}
|
|
|
|