|
|
@@ -6,9 +6,6 @@ import android.support.annotation.Nullable;
|
|
|
import android.support.design.widget.TabLayout;
|
|
|
import android.text.TextUtils;
|
|
|
import android.view.View;
|
|
|
-import android.view.ViewGroup;
|
|
|
-import android.widget.FrameLayout;
|
|
|
-import android.widget.LinearLayout;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
@@ -34,7 +31,6 @@ import com.modular.apputils.model.BillGroupModel;
|
|
|
import com.modular.apputils.network.Parameter;
|
|
|
import com.modular.apputils.network.Tags;
|
|
|
import com.modular.apputils.presenter.imp.IBill;
|
|
|
-import com.modular.apputils.utils.BillTypeChangeUtils;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.io.Serializable;
|
|
|
@@ -57,6 +53,7 @@ public class BillPresenter extends BaseNetPresenter implements OnSmartHttpListen
|
|
|
public final int SAVE_AND_SUBMIT = 0x12;//保存提交接口
|
|
|
public final int LOAD_JUDGE_APPROVAL = 0x13;//获取审批人员
|
|
|
public final int SELECT_APPROVAL = 0x14;//选择审批人
|
|
|
+ public final int SAVE_MAINTENANCE_BILL = 0x15;//养护管理保存
|
|
|
|
|
|
protected IBill iBill;
|
|
|
protected String mCaller;//当前单据的Caller
|
|
|
@@ -161,12 +158,50 @@ public class BillPresenter extends BaseNetPresenter implements OnSmartHttpListen
|
|
|
|
|
|
protected void saveAndSubmit(List<BillGroupModel.BillModel> formFields, List<BillGroupModel.GridTab> otherGridList, int flag,
|
|
|
String saveUrl, String updateUrl) {
|
|
|
+ if (flag <= 0) {
|
|
|
+ flag = SAVE_AND_SUBMIT;
|
|
|
+ }
|
|
|
Map<String, Object> formStore = analysisForm(formFields);
|
|
|
|
|
|
if (formStore == null) {
|
|
|
iBill.dimssLoading();
|
|
|
return;
|
|
|
}
|
|
|
+ List<Map<String, Object>> otherGridStoreList = getOtherGirdList(otherGridList);
|
|
|
+ if (otherGridStoreList == null) {
|
|
|
+ iBill.dimssLoading();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ String formStoreStr = JSON.toJSONString(formStore);
|
|
|
+ String otherGridStoreListStr = JSON.toJSONString(otherGridStoreList);
|
|
|
+
|
|
|
+ LogUtil.prinlnLongMsg("raomengForm", formStoreStr);
|
|
|
+ LogUtil.prinlnLongMsg("raomengGrid", otherGridStoreListStr);
|
|
|
+ try {
|
|
|
+ requestCompanyHttp(new Parameter.Builder()
|
|
|
+ .url(mId == 0 ? saveUrl : updateUrl)
|
|
|
+ .mode(Method.POST)
|
|
|
+ .addParams("caller", mCaller)
|
|
|
+ .addParams("keyid", String.valueOf(mId))
|
|
|
+ .addParams("id", String.valueOf(mId))
|
|
|
+ .addParams("formStore", formStoreStr)
|
|
|
+ .addParams("othergridStore", otherGridStoreListStr)
|
|
|
+ .record(flag)
|
|
|
+ , this);
|
|
|
+ } catch (Exception e) {
|
|
|
+ iBill.dimssLoading();
|
|
|
+ iBill.showToast("网络请求异常");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 解析多从表
|
|
|
+ *
|
|
|
+ * @param otherGridList
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ protected List<Map<String, Object>> getOtherGirdList(List<BillGroupModel.GridTab> otherGridList) {
|
|
|
List<Map<String, Object>> otherGridStoreList = new ArrayList<>();
|
|
|
for (BillGroupModel.GridTab gridTab : otherGridList) {
|
|
|
if (gridTab != null) {
|
|
|
@@ -189,7 +224,7 @@ public class BillPresenter extends BaseNetPresenter implements OnSmartHttpListen
|
|
|
}
|
|
|
List<Map<String, Object>> otherGridStoreItem = analysisGrid(otherGridMap);
|
|
|
if (otherGridStoreItem == null) {
|
|
|
- return;
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
String otherGridStoreItemStr = JSON.toJSONString(otherGridStoreItem);
|
|
|
@@ -203,27 +238,7 @@ public class BillPresenter extends BaseNetPresenter implements OnSmartHttpListen
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- String formStoreStr = JSON.toJSONString(formStore);
|
|
|
- String otherGridStoreListStr = JSON.toJSONString(otherGridStoreList);
|
|
|
-
|
|
|
- LogUtil.prinlnLongMsg("raomengForm", formStoreStr);
|
|
|
- LogUtil.prinlnLongMsg("raomengGrid", otherGridStoreListStr);
|
|
|
- try {
|
|
|
- requestCompanyHttp(new Parameter.Builder()
|
|
|
- .url(mId == 0 ? saveUrl : updateUrl)
|
|
|
- .mode(Method.POST)
|
|
|
- .addParams("caller", mCaller)
|
|
|
- .addParams("keyid", String.valueOf(mId))
|
|
|
- .addParams("id", String.valueOf(mId))
|
|
|
- .addParams("formStore", formStoreStr)
|
|
|
- .addParams("othergridStore", otherGridStoreListStr)
|
|
|
- .record(SAVE_AND_SUBMIT)
|
|
|
- , this);
|
|
|
- } catch (Exception e) {
|
|
|
- iBill.dimssLoading();
|
|
|
- iBill.showToast("网络请求异常");
|
|
|
- }
|
|
|
+ return otherGridStoreList;
|
|
|
}
|
|
|
|
|
|
public Map<String, Object> analysisForm(List<BillGroupModel.BillModel> formFields) {
|
|
|
@@ -274,58 +289,24 @@ public class BillPresenter extends BaseNetPresenter implements OnSmartHttpListen
|
|
|
saveAndSubmit(mGroupModels, "mobile/oa/commonSaveAndSubmit.action", "mobile/commonUpdate.action");
|
|
|
}
|
|
|
|
|
|
+ public void saveAndSubmit(List<BillGroupModel> mGroupModels, int flag) {
|
|
|
+ saveAndSubmit(mGroupModels, flag, "mobile/oa/commonSaveAndSubmit.action", "mobile/commonUpdate.action");
|
|
|
+ }
|
|
|
+
|
|
|
public void saveAndSubmit(List<BillGroupModel> mGroupModels, String saveUrl, String updateUrl) {
|
|
|
+ saveAndSubmit(mGroupModels, SAVE_AND_SUBMIT, saveUrl, updateUrl);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void saveAndSubmit(List<BillGroupModel> mGroupModels, int flag, String saveUrl, String updateUrl) {
|
|
|
iBill.showLoading();
|
|
|
- List<BillGroupModel.BillModel> formFields = new ArrayList<>();
|
|
|
- List<List<BillGroupModel.BillModel>> gridBillMap = new ArrayList<>();
|
|
|
- List<BillGroupModel.GridTab> otherGridList = new ArrayList<>();
|
|
|
- for (BillGroupModel e : mGroupModels) {
|
|
|
- if (e.isForm()) {
|
|
|
- if (e.getShowBillFields() != null) {
|
|
|
- formFields.addAll(e.getShowBillFields());
|
|
|
- }
|
|
|
- if (e.getHideBillFields() != null) {
|
|
|
- formFields.addAll(e.getHideBillFields());
|
|
|
- }
|
|
|
- } else {
|
|
|
- List<BillGroupModel.GridTab> gridTabs = e.getGridTabs();
|
|
|
- if (gridTabs != null && gridTabs.size() > 0) {
|
|
|
- if (mFormToGrid) {//如果主表放入tab,则主表数据在gridtabs里
|
|
|
- List<BillGroupModel> formGroupModels = gridTabs.get(0).getBillGroupModels();
|
|
|
- if (formGroupModels != null && formGroupModels.size() > 0) {
|
|
|
- for (BillGroupModel b : formGroupModels) {
|
|
|
- if (b.isForm()) {
|
|
|
- if (b.getShowBillFields() != null) {
|
|
|
- formFields.addAll(b.getShowBillFields());
|
|
|
- }
|
|
|
- if (b.getHideBillFields() != null) {
|
|
|
- formFields.addAll(b.getHideBillFields());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (gridTabs.size() > 1) {
|
|
|
- otherGridList = gridTabs.subList(1, gridTabs.size());
|
|
|
- }
|
|
|
- } else {
|
|
|
- otherGridList = gridTabs;
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
- List<BillGroupModel.BillModel> gridBillFields = new ArrayList<>();
|
|
|
- if (e.getShowBillFields() != null) {
|
|
|
- gridBillFields.addAll(e.getShowBillFields());
|
|
|
- }
|
|
|
- if (e.getHideBillFields() != null) {
|
|
|
- gridBillFields.addAll(e.getHideBillFields());
|
|
|
- }
|
|
|
- gridBillMap.add(gridBillFields);
|
|
|
- }
|
|
|
- }
|
|
|
+ BillField billField = new BillField(mGroupModels).invoke();
|
|
|
+ List<BillGroupModel.BillModel> formFields = billField.getFormFields();
|
|
|
+ List<List<BillGroupModel.BillModel>> gridBillMap = billField.getGridBillMap();
|
|
|
+ List<BillGroupModel.GridTab> otherGridList = billField.getOtherGridList();
|
|
|
if (otherGridList == null || otherGridList.size() <= 0) {
|
|
|
saveAndSubmit(formFields, gridBillMap, saveUrl, updateUrl);
|
|
|
} else {
|
|
|
- saveAndSubmit(formFields, otherGridList, 0, saveUrl, updateUrl);
|
|
|
+ saveAndSubmit(formFields, otherGridList, flag, saveUrl, updateUrl);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -692,6 +673,9 @@ public class BillPresenter extends BaseNetPresenter implements OnSmartHttpListen
|
|
|
} else {
|
|
|
tabLayout.setTabMode(TabLayout.MODE_FIXED);
|
|
|
}
|
|
|
+ if (tabLayout.getTabCount() > 0) {
|
|
|
+ tabLayout.getTabAt(0).select();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
iBill.addTopLayout(topLayout, tabLayout);
|
|
|
@@ -715,7 +699,7 @@ public class BillPresenter extends BaseNetPresenter implements OnSmartHttpListen
|
|
|
LogUtil.i("gong", "showBillModels=" + JSON.toJSONString(showBillModels));
|
|
|
iBill.setAdapter(showBillModels);
|
|
|
} catch (Exception e) {
|
|
|
-
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
return showBillModels;
|
|
|
}
|
|
|
@@ -1044,4 +1028,80 @@ public class BillPresenter extends BaseNetPresenter implements OnSmartHttpListen
|
|
|
public boolean isEnclosureNeedSubmit(BillGroupModel.BillModel billModel) {
|
|
|
return billModel.getType().equals("FF") && TextUtils.isEmpty(billModel.getValue()) && !ListUtils.isEmpty(billModel.getLocalDatas());
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 单据数据解析
|
|
|
+ */
|
|
|
+ public class BillField {
|
|
|
+ private List<BillGroupModel> mMGroupModels;
|
|
|
+ private List<BillGroupModel.BillModel> mFormFields;
|
|
|
+ private List<List<BillGroupModel.BillModel>> mGridBillMap;
|
|
|
+ private List<BillGroupModel.GridTab> mOtherGridList;
|
|
|
+
|
|
|
+ public BillField(List<BillGroupModel> mGroupModels) {
|
|
|
+ mMGroupModels = mGroupModels;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<BillGroupModel.BillModel> getFormFields() {
|
|
|
+ return mFormFields;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<List<BillGroupModel.BillModel>> getGridBillMap() {
|
|
|
+ return mGridBillMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<BillGroupModel.GridTab> getOtherGridList() {
|
|
|
+ return mOtherGridList;
|
|
|
+ }
|
|
|
+
|
|
|
+ public BillField invoke() {
|
|
|
+ mFormFields = new ArrayList<>();
|
|
|
+ mGridBillMap = new ArrayList<>();
|
|
|
+ mOtherGridList = new ArrayList<>();
|
|
|
+ for (BillGroupModel e : mMGroupModels) {
|
|
|
+ if (e.isForm()) {
|
|
|
+ if (e.getShowBillFields() != null) {
|
|
|
+ mFormFields.addAll(e.getShowBillFields());
|
|
|
+ }
|
|
|
+ if (e.getHideBillFields() != null) {
|
|
|
+ mFormFields.addAll(e.getHideBillFields());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ List<BillGroupModel.GridTab> gridTabs = e.getGridTabs();
|
|
|
+ if (gridTabs != null && gridTabs.size() > 0) {
|
|
|
+ if (mFormToGrid) {//如果主表放入tab,则主表数据在gridtabs里
|
|
|
+ List<BillGroupModel> formGroupModels = gridTabs.get(0).getBillGroupModels();
|
|
|
+ if (formGroupModels != null && formGroupModels.size() > 0) {
|
|
|
+ for (BillGroupModel b : formGroupModels) {
|
|
|
+ if (b.isForm()) {
|
|
|
+ if (b.getShowBillFields() != null) {
|
|
|
+ mFormFields.addAll(b.getShowBillFields());
|
|
|
+ }
|
|
|
+ if (b.getHideBillFields() != null) {
|
|
|
+ mFormFields.addAll(b.getHideBillFields());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (gridTabs.size() > 1) {
|
|
|
+ mOtherGridList = gridTabs.subList(1, gridTabs.size());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ mOtherGridList = gridTabs;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ List<BillGroupModel.BillModel> gridBillFields = new ArrayList<>();
|
|
|
+ if (e.getShowBillFields() != null) {
|
|
|
+ gridBillFields.addAll(e.getShowBillFields());
|
|
|
+ }
|
|
|
+ if (e.getHideBillFields() != null) {
|
|
|
+ gridBillFields.addAll(e.getHideBillFields());
|
|
|
+ }
|
|
|
+ mGridBillMap.add(gridBillFields);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|