|
|
@@ -1,5 +1,6 @@
|
|
|
package com.xzjmyk.pm.activity.ui.erp.presenter;
|
|
|
|
|
|
+import android.app.Activity;
|
|
|
import android.content.Intent;
|
|
|
import android.os.Bundle;
|
|
|
import android.widget.Toast;
|
|
|
@@ -9,8 +10,10 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.xzjmyk.pm.activity.MyApplication;
|
|
|
import com.xzjmyk.pm.activity.R;
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.activity.form.DataFormFieldActivity;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.db.DBManager;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.entity.EmployeesEntity;
|
|
|
+import com.xzjmyk.pm.activity.ui.erp.model.form.Data;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.model.oa.Approval;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.model.oa.ApprovalRecord;
|
|
|
import com.xzjmyk.pm.activity.ui.erp.presenter.imp.IApproval;
|
|
|
@@ -33,7 +36,6 @@ import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import static com.alibaba.fastjson.JSON.parseObject;
|
|
|
-import static com.xzjmyk.pm.activity.ui.erp.model.oa.Approval.Type.DETAIL;
|
|
|
import static com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil.getJson2Text;
|
|
|
import static com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil.getJsonIntager;
|
|
|
import static com.xzjmyk.pm.activity.ui.erp.util.OACheckUtil.getString;
|
|
|
@@ -70,6 +72,32 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
return title.equals(OACheckUtil.getString(R.string.title_approval));
|
|
|
}
|
|
|
|
|
|
+ public void trun2SetActivity(Activity activity, List<Approval> approvals) {
|
|
|
+ ArrayList<Data> fields = new ArrayList<>();
|
|
|
+ ArrayList<Data> fieldsDis = new ArrayList<>();
|
|
|
+ boolean detail = false;
|
|
|
+ for (Approval approval : approvals) {
|
|
|
+ if (approval.getType() == Approval.MAIN
|
|
|
+ || approval.getType() == Approval.DETAIL
|
|
|
+ && !ListUtils.isEmpty(approval.getItems())) {
|
|
|
+ if (approval.getType() == Approval.DETAIL) {
|
|
|
+ if (detail)
|
|
|
+ continue;
|
|
|
+ detail = true;
|
|
|
+ }
|
|
|
+ for (Approval.Item item : approval.getItems()) {
|
|
|
+ Data data = new Data(approval.getType() == Approval.MAIN, item);
|
|
|
+ fieldsDis.add(data);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ activity.startActivityForResult(new Intent(activity, DataFormFieldActivity.class)
|
|
|
+ .putParcelableArrayListExtra("fields", fields)
|
|
|
+ .putParcelableArrayListExtra("fieldsDis", fieldsDis)
|
|
|
+ .putExtra("caller", record.caller),
|
|
|
+ 0x25);
|
|
|
+ }
|
|
|
+
|
|
|
public ApprovaPresenter(IApproval iApproval, Intent intent) {
|
|
|
this.iApproval = iApproval;
|
|
|
if (intent != null) {
|
|
|
@@ -93,6 +121,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public void initLoad() {
|
|
|
+ initLoad(record.nodeId);
|
|
|
+ }
|
|
|
+
|
|
|
private void initLoad(int nodeId) {
|
|
|
initLoad(nodeId, "");
|
|
|
}
|
|
|
@@ -275,7 +307,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
param.put("caller", record.caller);
|
|
|
param.put("id", record.id);
|
|
|
- param.put("isprocess", 1);
|
|
|
+// param.put("isprocess", 1);
|
|
|
Request.Bulider bulider = new Request.Bulider()
|
|
|
.setUrl(url)
|
|
|
.setWhat(LOAD_FORMAND_GRIDDATA)
|
|
|
@@ -597,7 +629,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
|
|
|
if (!ListUtils.isEmpty(formconfigs) && formdata != null) {
|
|
|
final Approval mainApproval = formandGriddata(formdata, formconfigs, true);
|
|
|
- mainApproval.setType(Approval.Type.MAIN);
|
|
|
+ mainApproval.setType(Approval.MAIN);
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
@@ -612,7 +644,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
for (int i = 0; i < griddatas.size(); i++) {
|
|
|
//获取到单个明细表单
|
|
|
final Approval detailedApproval = formandGriddata(griddatas.getJSONObject(i), gridconfigs, false);
|
|
|
- detailedApproval.setType(DETAIL);
|
|
|
+ detailedApproval.setType(Approval.DETAIL);
|
|
|
detailedApproval.setTitle(getString(R.string.serial_number) + (i + 1));
|
|
|
detailedList.add(detailedApproval);
|
|
|
}
|
|
|
@@ -642,6 +674,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
JSONArray combostore = OACheckUtil.getJsonArray(config, "COMBOSTORE");
|
|
|
itemData.type = getJson2Text(config, "FD_TYPE", "DG_TYPE");
|
|
|
int isdefault = OACheckUtil.getJsonIntager(config, "MFD_ISDEFAULT", "MDG_ISDEFAULT");
|
|
|
+ int appwidth = OACheckUtil.getJsonIntager(config, "FD_APPWIDTH", "DG_APPWIDTH");
|
|
|
if (isMain && caption.equals("附件")) {
|
|
|
final String fb_attach = valueKey;
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@@ -656,7 +689,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
idTag = valueKey;
|
|
|
id = OACheckUtil.getJsonIntager(data, valueKey);
|
|
|
}
|
|
|
- if (isdefault != -1 || OACheckUtil.isEmpty(valueKey) || OACheckUtil.isEmpty(caption)
|
|
|
+ if (isdefault != -1
|
|
|
+ || itemData.type.equals("H")
|
|
|
+ || appwidth == 0
|
|
|
+ || (!isMain && OACheckUtil.getJsonIntager(config, "DG_WIDTH") == 0)
|
|
|
+ || OACheckUtil.isEmpty(valueKey)
|
|
|
+ || OACheckUtil.isEmpty(caption)
|
|
|
|| (merged.length() > 0 && merged.toString().contains(valueKey))) {
|
|
|
continue;
|
|
|
}
|
|
|
@@ -670,7 +708,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
}
|
|
|
itemData.values = OACheckUtil.getJson2Text(data, valueKey);//获取第一个字段的值
|
|
|
- boolean mergeAble = OACheckUtil.getJsonIntager(config, "FD_APPWIDTH", "FD_APPWIDTH") == 1 || "MT".equals(OACheckUtil.getJson2Text(config, "FD_TYPE"));
|
|
|
+ boolean mergeAble = appwidth == 1 || "MT".equals(itemData.type);
|
|
|
itemData.caption = caption;
|
|
|
itemData.valuesKey = valueKey;
|
|
|
itemData.data2Values();
|
|
|
@@ -752,7 +790,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
final Approval node = new Approval();
|
|
|
node.setItems(itemDatas);
|
|
|
- node.setType(Approval.Type.NODES);
|
|
|
+ node.setType(Approval.NODES);
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
@@ -786,7 +824,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
Approval enclosureApproval = new Approval();
|
|
|
enclosureApproval.setTitle("附件");
|
|
|
enclosureApproval.setItems(enclosureList);
|
|
|
- enclosureApproval.setType(Approval.Type.ENCLOSURE);
|
|
|
+ enclosureApproval.setType(Approval.ENCLOSURE);
|
|
|
iApproval.showEnclosureList(enclosureApproval);
|
|
|
}
|
|
|
|
|
|
@@ -866,7 +904,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (!ListUtils.isEmpty(pointsList)) {
|
|
|
Approval points = new Approval();
|
|
|
points.setItems(pointsList);
|
|
|
- points.setType(Approval.Type.POINTS);
|
|
|
+ points.setType(Approval.POINTS);
|
|
|
points.setTitle(OACheckUtil.getString(R.string.approval_points));
|
|
|
iApproval.showPointsList(points);
|
|
|
}
|
|
|
@@ -964,7 +1002,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
LogUtil.i("show Presenter pointsList .....");
|
|
|
for (Approval approval : approvals) {
|
|
|
approval.show();
|
|
|
- if (approval.getType() == Approval.Type.POINTS) {
|
|
|
+ if (approval.getType() == Approval.POINTS) {
|
|
|
for (Approval.Item itemData : approval.getItems()) {
|
|
|
if (itemData.mustInput && StringUtils.isEmpty(itemData.values)) {
|
|
|
String message = OACheckUtil.getString(R.string.approval_points) + " " + itemData.caption + " " + OACheckUtil.getString(R.string.is_must_input);
|
|
|
@@ -993,7 +1031,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
Map<String, Object> formstore = null;
|
|
|
if (!ListUtils.isEmpty(approvals)) {
|
|
|
for (Approval approval : approvals) {
|
|
|
- if (approval.getType() == Approval.Type.MAIN) {
|
|
|
+ if (approval.getType() == Approval.MAIN) {
|
|
|
formstore = putItem2Params(approval.getItems());
|
|
|
if (formstore == null)
|
|
|
continue;
|
|
|
@@ -1011,7 +1049,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
private boolean inputAllDetail(List<Map<String, Object>> params, List<Approval> approvals) {
|
|
|
if (!ListUtils.isEmpty(approvals)) {
|
|
|
for (Approval approval : approvals) {
|
|
|
- if (approval.getType() == Approval.Type.DETAIL) {
|
|
|
+ if (approval.getType() == Approval.DETAIL) {
|
|
|
Map<String, Object> formstore = putItem2Params(approval.getItems());
|
|
|
if (formstore == null || formstore.isEmpty()) continue;
|
|
|
formstore.put(approval.getIdKey(), approval.getId());
|