|
|
@@ -67,7 +67,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
private String title;
|
|
|
private List<Approval> approvals;
|
|
|
|
|
|
- private boolean submiting, loading;
|
|
|
+ private boolean submit, loading, nexting;
|
|
|
|
|
|
public ApprovaPresenter(IApproval iApproval, Intent intent) {
|
|
|
this.iApproval = iApproval;
|
|
|
@@ -144,12 +144,65 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (imid != null)
|
|
|
record.imid = imid;
|
|
|
iApproval.initStatus();
|
|
|
+ submit = false;
|
|
|
+ loading = false;
|
|
|
+ nexting = false;
|
|
|
loadCurrentNode();
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * start 提交部分
|
|
|
+ */
|
|
|
+ /*变更处理人 submiting*/
|
|
|
+ public void updateAssignee(String emCode, String nodeLog) {
|
|
|
+ if (StringUtils.isEmpty(nodeLog)) {
|
|
|
+ iApproval.showToast(R.string.approval_opinion_error, R.color.load_submit);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (submit) {
|
|
|
+ iApproval.showToast(R.string.submit_cannot_submit_again, R.color.load_submit);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ iApproval.showLoading();
|
|
|
+ String url = "common/setAssignee.action";
|
|
|
+ Map<String, Object> param = new HashMap<>();
|
|
|
+ param.put("taskId", record.nodeId);
|
|
|
+ param.put("assigneeId", emCode);//新处理人的员工编号
|
|
|
+ param.put("processInstanceId", record.processInstanceId);//流程实例id
|
|
|
+ param.put("description", nodeLog);//流程实例id
|
|
|
+ param.put("_center", "0");//是否集团账套
|
|
|
+ param.put("_noc", 1);//权限管控
|
|
|
+ Request.Bulider bulider = new Request.Bulider()
|
|
|
+ .setUrl(url)
|
|
|
+ .setMode(Request.Mode.POST)
|
|
|
+ .setWhat(LOAD_UPDATE_ASSIGNEE)
|
|
|
+ .setParam(param);
|
|
|
+ OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
+ }
|
|
|
+
|
|
|
+ /*接管 submiting*/
|
|
|
+ public void loadTakeOver() {
|
|
|
+ if (submit || loading) return;
|
|
|
+ submit = true;
|
|
|
+ iApproval.showLoading();
|
|
|
+ String url = "common/takeOverTask.action";
|
|
|
+ Map<String, Object> param = new HashMap<>();
|
|
|
+ param.put("em_code", CommonUtil.getEmcode());
|
|
|
+ param.put("nodeId", record.nodeId);
|
|
|
+ param.put("needreturn", true);
|
|
|
+ Request.Bulider bulider = new Request.Bulider()
|
|
|
+ .setUrl(url)
|
|
|
+ .setMode(Request.Mode.POST)
|
|
|
+ .setWhat(LOAD_TAKE_OVER)
|
|
|
+ .setParam(param);
|
|
|
+ OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
+ }
|
|
|
+
|
|
|
/*提交更新必填字段 submiting*/
|
|
|
public void loadProcessUpdate(String nodeLog, List<Approval> approvals) {
|
|
|
+ if (!canSubmit()) return;
|
|
|
+ submit = true;
|
|
|
StringBuilder pointsBuilder = new StringBuilder();
|
|
|
if (!inputAllPoints(pointsBuilder, approvals))
|
|
|
return;
|
|
|
@@ -183,8 +236,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
|
|
|
/*同意 submiting end loadProcessUpdate*/
|
|
|
private void agree(String nodeLog) {
|
|
|
- if (!canSubmit()) return;
|
|
|
- submiting = true;
|
|
|
iApproval.showLoading();
|
|
|
String points = OACheckUtil.getString(chchePoints);
|
|
|
points.replaceAll("@", "").replaceAll("\\@", "").replaceAll("\\\\@", "");
|
|
|
@@ -207,56 +258,61 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
}
|
|
|
|
|
|
- /*不同意 submiting*/
|
|
|
- public void disAgree(String nodeLog) {
|
|
|
- if (StringUtils.isEmpty(nodeLog)) {
|
|
|
- iApproval.showToast(R.string.approval_opinion_error, R.color.load_submit);
|
|
|
- return;
|
|
|
- }
|
|
|
- if (!canSubmit()) return;
|
|
|
- submiting = true;
|
|
|
+ //结束流程
|
|
|
+ private void loadEndProcess() {
|
|
|
+ String url = "common/endProcessInstance.action";
|
|
|
+ Map<String, Object> param = new HashMap<>();
|
|
|
+ param.put("processInstanceId", record.processInstanceId);
|
|
|
+ param.put("holdtime", 435);
|
|
|
+ param.put("nodeId", record.nodeId);
|
|
|
+ Request.Bulider bulider = new Request.Bulider()
|
|
|
+ .setUrl(url)
|
|
|
+ .setWhat(LOAD_END_PROCESS)
|
|
|
+ .setParam(param);
|
|
|
+ OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
+ }
|
|
|
+
|
|
|
+ /*获取下一个节点 loading*/
|
|
|
+ public void loadNextProcess() {
|
|
|
+ if (loading || nexting) return;
|
|
|
+ nexting = true;
|
|
|
+ iApproval.showToast(R.string.loadtonext_approval, R.color.load_submit);
|
|
|
iApproval.showLoading();
|
|
|
- String url = "common/review.action";
|
|
|
+ String url = "common/getNextProcess.action";
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
param.put("taskId", record.nodeId);
|
|
|
- param.put("nodeName", record.nodeName);
|
|
|
- param.put("nodeLog", nodeLog);
|
|
|
- param.put("result", false);
|
|
|
- param.put("backTaskName", "RECORDER");
|
|
|
- param.put("attachs", "");//附件id
|
|
|
param.put("_noc", 1);//权限管控
|
|
|
- param.put("holdtime", 4311);//holdtime
|
|
|
Request.Bulider bulider = new Request.Bulider()
|
|
|
.setUrl(url)
|
|
|
.setMode(Request.Mode.POST)
|
|
|
- .setWhat(LOAD_DISAGREE)
|
|
|
+ .setWhat(LOAD_NEXT_PROCESS)
|
|
|
.setParam(param);
|
|
|
OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
}
|
|
|
|
|
|
- /*变更处理人 submiting*/
|
|
|
- public void updateAssignee(String emCode, String nodeLog) {
|
|
|
+ /*不同意 submiting*/
|
|
|
+ public void disAgree(String nodeLog) {
|
|
|
if (StringUtils.isEmpty(nodeLog)) {
|
|
|
iApproval.showToast(R.string.approval_opinion_error, R.color.load_submit);
|
|
|
return;
|
|
|
}
|
|
|
- if (!canSubmit()) {
|
|
|
- return;
|
|
|
- }
|
|
|
+
|
|
|
+ if (!canSubmit()) return;
|
|
|
iApproval.showLoading();
|
|
|
- submiting = true;
|
|
|
- String url = "common/setAssignee.action";
|
|
|
+ String url = "common/review.action";
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
param.put("taskId", record.nodeId);
|
|
|
- param.put("assigneeId", emCode);//新处理人的员工编号
|
|
|
- param.put("processInstanceId", record.processInstanceId);//流程实例id
|
|
|
- param.put("description", nodeLog);//流程实例id
|
|
|
- param.put("_center", "0");//是否集团账套
|
|
|
+ param.put("nodeName", record.nodeName);
|
|
|
+ param.put("nodeLog", nodeLog);
|
|
|
+ param.put("result", false);
|
|
|
+ param.put("backTaskName", "RECORDER");
|
|
|
+ param.put("attachs", "");//附件id
|
|
|
param.put("_noc", 1);//权限管控
|
|
|
+ param.put("holdtime", 4311);//holdtime
|
|
|
Request.Bulider bulider = new Request.Bulider()
|
|
|
.setUrl(url)
|
|
|
.setMode(Request.Mode.POST)
|
|
|
- .setWhat(LOAD_UPDATE_ASSIGNEE)
|
|
|
+ .setWhat(LOAD_DISAGREE)
|
|
|
.setParam(param);
|
|
|
OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
}
|
|
|
@@ -272,7 +328,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
.setWhat(LOAD_NEXT_STEPOFP_INSTANCE)
|
|
|
.setParam(param);
|
|
|
OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/*选择审批人后提交给他处理下一节点 submiting end judgeApprovers */
|
|
|
@@ -292,46 +347,33 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
.setParam(param);
|
|
|
OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
}
|
|
|
+ /**
|
|
|
+ * end 提交部分
|
|
|
+ */
|
|
|
|
|
|
- /*接管 submiting*/
|
|
|
- public void loadTakeOver() {
|
|
|
- if (submiting && canNext()) return;
|
|
|
- iApproval.showLoading();
|
|
|
- String url = "common/takeOverTask.action";
|
|
|
- Map<String, Object> param = new HashMap<>();
|
|
|
- param.put("em_code", CommonUtil.getEmcode());
|
|
|
- param.put("nodeId", record.nodeId);
|
|
|
- param.put("needreturn", true);
|
|
|
- Request.Bulider bulider = new Request.Bulider()
|
|
|
- .setUrl(url)
|
|
|
- .setMode(Request.Mode.POST)
|
|
|
- .setWhat(LOAD_TAKE_OVER)
|
|
|
- .setParam(param);
|
|
|
- OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
- }
|
|
|
-
|
|
|
- /*获取下一个节点 loading*/
|
|
|
- public void loadNextProcess() {
|
|
|
- if (submiting && canNext()) return;
|
|
|
- iApproval.showToast(R.string.loadtonext_approval, R.color.load_submit);
|
|
|
+ /**
|
|
|
+ * start下拉部分
|
|
|
+ */
|
|
|
+ /*下拉当前节点数据 loading*/
|
|
|
+ private void loadCurrentNode() {
|
|
|
+ if (loading) return;
|
|
|
iApproval.showLoading();
|
|
|
- submiting = true;
|
|
|
- String url = "common/getNextProcess.action";
|
|
|
+ String url = "common/getCurrentNode.action";
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
- param.put("taskId", record.nodeId);
|
|
|
- param.put("_noc", 1);//权限管控
|
|
|
+ param.put("jp_nodeId", record.nodeId);
|
|
|
+ param.put("_noc", 1);
|
|
|
Request.Bulider bulider = new Request.Bulider()
|
|
|
.setUrl(url)
|
|
|
- .setMode(Request.Mode.POST)
|
|
|
- .setWhat(LOAD_NEXT_PROCESS)
|
|
|
+ .setWhat(LOAD_CURRENT_NODE)
|
|
|
.setParam(param);
|
|
|
OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
}
|
|
|
|
|
|
/*下拉明细表数据 loading*/
|
|
|
private void loadDetailedList() {
|
|
|
+ if (loading) return;
|
|
|
+ loading = true;
|
|
|
iApproval.showLoading();
|
|
|
- formDataSubing = true;
|
|
|
String url = "mobile/common/getformandgriddata.action";
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
param.put("caller", record.caller);
|
|
|
@@ -347,7 +389,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
/*下拉审批要点 loading*/
|
|
|
private void loadCustomSetupOfTask() {
|
|
|
iApproval.showLoading();
|
|
|
- setupTaskSubing = true;
|
|
|
String url = "common/getCustomSetupOfTask.action";
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
param.put("_noc", 1);
|
|
|
@@ -362,7 +403,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
/*获取历史节点数据 loading*/
|
|
|
private void loadJnodes() {
|
|
|
iApproval.showLoading();
|
|
|
- jnodesSubing = true;
|
|
|
String url = "common/getCurrentJnodes.action";
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
param.put("caller", record.caller);
|
|
|
@@ -375,20 +415,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
}
|
|
|
|
|
|
- /*下拉当前节点数据 loading*/
|
|
|
- private void loadCurrentNode() {
|
|
|
- iApproval.showLoading();
|
|
|
- String url = "common/getCurrentNode.action";
|
|
|
- Map<String, Object> param = new HashMap<>();
|
|
|
- param.put("jp_nodeId", record.nodeId);
|
|
|
- param.put("_noc", 1);
|
|
|
- Request.Bulider bulider = new Request.Bulider()
|
|
|
- .setUrl(url)
|
|
|
- .setWhat(LOAD_CURRENT_NODE)
|
|
|
- .setParam(param);
|
|
|
- OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
- }
|
|
|
-
|
|
|
/*获取附件 */
|
|
|
private void loadFilePaths(String attachs) {
|
|
|
if (StringUtils.isEmpty(attachs) || "null".equals(attachs)) {
|
|
|
@@ -406,19 +432,9 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
}
|
|
|
|
|
|
- //结束流程
|
|
|
- private void loadEndProcess() {
|
|
|
- String url = "common/endProcessInstance.action";
|
|
|
- Map<String, Object> param = new HashMap<>();
|
|
|
- param.put("processInstanceId", record.processInstanceId);
|
|
|
- param.put("holdtime", 435);
|
|
|
- param.put("nodeId", record.nodeId);
|
|
|
- Request.Bulider bulider = new Request.Bulider()
|
|
|
- .setUrl(url)
|
|
|
- .setWhat(LOAD_END_PROCESS)
|
|
|
- .setParam(param);
|
|
|
- OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * end下拉部分
|
|
|
+ */
|
|
|
|
|
|
@Override
|
|
|
public void result(int what, boolean isJSON, String message, Bundle bundle) {
|
|
|
@@ -436,24 +452,28 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public void error(int what, String message, Bundle bundle) {
|
|
|
- if (StringUtils.isEmpty(message)) return;
|
|
|
iApproval.dimssLoading();
|
|
|
- submiting = false;
|
|
|
- if (what == LOAD_AGREE && message.contains("程序错误")) {
|
|
|
- loadEndProcess();
|
|
|
+ switch (what) {
|
|
|
+ case LOAD_AGREE:
|
|
|
+ if (message.contains("程序错误")) {
|
|
|
+ loadEndProcess();
|
|
|
+ }
|
|
|
+ case LOAD_TAKE_OVER: /*提交部分*/
|
|
|
+ case LOAD_PROCESS_UPDATE:
|
|
|
+ case LOAD_NEXT_STEPOFP_INSTANCE:
|
|
|
+ case LOAD_TAKE_OVER_OTHER: submit = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ String errorKey = "exceptionInfo";
|
|
|
+ if (new JsonValidator().validate(message) && !StringUtils.isEmpty(getJson2Text(parseObject(message), errorKey))) {
|
|
|
+ LogUtil.i("new JsonValidator().validate(message) && !StringUtils.isEmpty(getJson2Text(parseObject(message), errorKey)");
|
|
|
+ String remain = getJson2Text(parseObject(message), errorKey);
|
|
|
+ LogUtil.i("remain=" + remain);
|
|
|
+ iApproval.showToast(remain, R.color.load_submit);
|
|
|
} else {
|
|
|
- String errorKey = "exceptionInfo";
|
|
|
- if (new JsonValidator().validate(message) && !StringUtils.isEmpty(getJson2Text(parseObject(message), errorKey))) {
|
|
|
- LogUtil.i("new JsonValidator().validate(message) && !StringUtils.isEmpty(getJson2Text(parseObject(message), errorKey)");
|
|
|
- String remain = getJson2Text(parseObject(message), errorKey);
|
|
|
- LogUtil.i("remain=" + remain);
|
|
|
- iApproval.showToast(remain, R.color.load_submit);
|
|
|
- } else {
|
|
|
- iApproval.showToast(message, R.color.load_submit);
|
|
|
- }
|
|
|
+ iApproval.showToast(message, R.color.load_submit);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -468,10 +488,8 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
public void run() {
|
|
|
try {
|
|
|
handlerFormandGriddataInThread(OACheckUtil.getJSONObject(object, "datas"));
|
|
|
- formDataSubing = false;
|
|
|
} catch (Exception e) {
|
|
|
- submiting = false;
|
|
|
- formDataSubing = false;
|
|
|
+ loading = false;
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
@@ -501,7 +519,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
iApproval.showToast(getString(R.string.make_adeal_success) + getString(R.string.load_not_next_data), R.color.load_submit);
|
|
|
iApproval.finish();
|
|
|
}
|
|
|
- submiting = false;
|
|
|
break;
|
|
|
case LOAD_FILE_PATHS:
|
|
|
handlerEnclosure(OACheckUtil.getJsonArray(object, "files"));
|
|
|
@@ -522,20 +539,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
iApproval.showToast(getString(R.string.make_adeal_success) + getString(R.string.load_not_next_data), R.color.load_submit);
|
|
|
iApproval.finish();
|
|
|
}
|
|
|
- submiting = false;
|
|
|
break;
|
|
|
case LOAD_AGREE:
|
|
|
iApproval.showToast(R.string.make_adeal_success, R.color.load_submit);
|
|
|
judgeApprovers();
|
|
|
-// nextnode = OACheckUtil.getJsonIntager(object, "nextnode");
|
|
|
-// if (nextnode > 0) {
|
|
|
-// iApproval.showToast(R.string.load_next_approval, R.color.load_submit);
|
|
|
-// initLoad(nextnode);
|
|
|
-// } else {
|
|
|
-// iApproval.showToast(getString(R.string.make_adeal_success) + getString(R.string.load_not_next_data), R.color.load_submit);
|
|
|
-// iApproval.finish();
|
|
|
-// }
|
|
|
- submiting = false;
|
|
|
break;
|
|
|
case LOAD_NEXT_STEPOFP_INSTANCE:
|
|
|
handlerNextStepoInstance(object);
|
|
|
@@ -574,15 +581,13 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
loadNextProcess();
|
|
|
}
|
|
|
} else {
|
|
|
- LogUtil.i("不存在");
|
|
|
loadNextProcess();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//处理当前结点信息
|
|
|
private void handlerCurrentNode(JSONObject object) throws Exception {
|
|
|
- if (object != null) {
|
|
|
- String title = "";
|
|
|
+ if (object != null && !loading) {
|
|
|
String instanceId = getJson2Text(object, "InstanceId");
|
|
|
record.processInstanceId = instanceId;
|
|
|
JSONObject currentnode = OACheckUtil.getJSONObject(object, "currentnode");
|
|
|
@@ -593,15 +598,15 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
iApproval.nodeDealMan(nodeDealMan);
|
|
|
String nodeName = getJson2Text(currentnode, "jp_nodeName");
|
|
|
int keyValue = getJsonIntager(currentnode, "jp_keyValue");
|
|
|
- title = getJson2Text(currentnode, "jp_name");
|
|
|
+ record.title = getJson2Text(currentnode, "jp_name");
|
|
|
record.status = OACheckUtil.getJson2Text(currentnode, "jp_status");
|
|
|
String caller = OACheckUtil.getJson2Text(currentnode, "jp_caller");
|
|
|
if (keyValue != 0) {
|
|
|
record.id = keyValue;
|
|
|
}
|
|
|
- if (!StringUtils.isEmpty(title)) {
|
|
|
+ if (!StringUtils.isEmpty(record.title)) {
|
|
|
if (!StringUtils.isEmpty(recordName)) {
|
|
|
- title = recordName + " " + title;
|
|
|
+ record.title = recordName + " " + record.title;
|
|
|
}
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(caller)) {
|
|
|
@@ -618,11 +623,9 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (currentnode != null) {
|
|
|
record.needInputKeys = getJson2Text(button, "jt_neccessaryfield");
|
|
|
}
|
|
|
- showTitle(record.imid, title, -1);
|
|
|
loadDetailedList();//获取明细表
|
|
|
- loadCustomSetupOfTask();//获取审批要点
|
|
|
} else {
|
|
|
- submiting = false;
|
|
|
+ loading = false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -678,9 +681,11 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
- loadJnodes();
|
|
|
+ loadCustomSetupOfTask();//获取审批要点
|
|
|
}
|
|
|
});
|
|
|
+ } else {
|
|
|
+ iApproval.showToast(R.string.not_data_from_formandgrid);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -816,22 +821,25 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
}
|
|
|
setData2ListThread(Approval.NODES, approvals);
|
|
|
- OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- int reId = -1;
|
|
|
- if ("未通过".equals(record.status)) {
|
|
|
- reId = R.drawable.unapproved;
|
|
|
- } else if ("已审批".equals(record.status)) {
|
|
|
- reId = R.drawable.approved;
|
|
|
- }
|
|
|
- showTitle(null, null, reId);
|
|
|
- }
|
|
|
- });
|
|
|
+ int reId = -1;
|
|
|
+ if ("未通过".equals(record.status)) {
|
|
|
+ reId = R.drawable.unapproved;
|
|
|
+ } else if ("已审批".equals(record.status)) {
|
|
|
+ reId = R.drawable.approved;
|
|
|
+ }
|
|
|
+ Approval approval = new Approval(Approval.TITLE);
|
|
|
+ if (!StringUtils.isEmpty(record.title))
|
|
|
+ approval.setCaption(record.title);
|
|
|
+ if (!StringUtils.isEmpty(record.imid))
|
|
|
+ approval.setIdKey(record.imid);
|
|
|
+ if (reId > 0)
|
|
|
+ approval.setId(reId);
|
|
|
+ List<Approval> titleApproval = new ArrayList<>();
|
|
|
+ titleApproval.add(approval);
|
|
|
+ setData2ListThread(Approval.TITLE, titleApproval);
|
|
|
+ loading = false;
|
|
|
}
|
|
|
});
|
|
|
- submiting = false;
|
|
|
- jnodesSubing = false;
|
|
|
}
|
|
|
|
|
|
private void handlerEnclosure(final JSONArray array) throws Exception {
|
|
|
@@ -941,7 +949,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
setData2ListThread(Approval.POINTS, pointsList);
|
|
|
}
|
|
|
}
|
|
|
- setupTaskSubing = false;
|
|
|
+ OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ loadJnodes();
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
|
|
|
@@ -1027,8 +1040,8 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
|
|
|
private boolean canSubmit() {
|
|
|
- if (submiting) {
|
|
|
- iApproval.showToast("正在提交请求,请不要重复提交", R.color.load_submit);
|
|
|
+ if (submit || loading) {
|
|
|
+ iApproval.showToast(R.string.submit_cannot_submit_again, R.color.load_submit);
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
@@ -1133,51 +1146,37 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
return formstore;
|
|
|
}
|
|
|
|
|
|
- public void showTitle(String imid, String title, int statusId) {
|
|
|
- Approval approval;
|
|
|
- if (!ListUtils.isEmpty(approvals) && approvals.get(0).getType() == Approval.TITLE) {
|
|
|
- approval = approvals.get(0);
|
|
|
- } else {
|
|
|
- approval = new Approval(Approval.TITLE);
|
|
|
- approvals.add(approval);
|
|
|
- }
|
|
|
- if (statusId > 0)
|
|
|
- approval.setId(statusId);
|
|
|
- if (!StringUtils.isEmpty(title))
|
|
|
- approval.setCaption(title);
|
|
|
- if (!StringUtils.isEmpty(imid))
|
|
|
- approval.setIdKey(imid);
|
|
|
- iApproval.showModels(approvals);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
private synchronized void setData2ListThread(int type, List<Approval> newApprovals) {
|
|
|
- LogUtil.i("come to setData2ListThread=" + type);
|
|
|
final List<Approval> merges = new ArrayList<>();
|
|
|
if (!ListUtils.isEmpty(approvals)) {
|
|
|
- boolean added = false;
|
|
|
- for (int i = 0; i < approvals.size(); i++) {
|
|
|
- int oldType = approvals.get(i).getType();
|
|
|
- if (!added && ((oldType != Approval.TAG && oldType > type)
|
|
|
- || oldType == Approval.TAG && approvals.size() > i + 1 && approvals.get(i + 1).getType() > type)) {
|
|
|
- merges.addAll(i, newApprovals);
|
|
|
- added = true;
|
|
|
+ if (type == Approval.TITLE) {
|
|
|
+ if (approvals.get(0).getType() == Approval.TITLE) {
|
|
|
+ approvals.remove(0);
|
|
|
}
|
|
|
- merges.add(approvals.get(i));
|
|
|
- }
|
|
|
- LogUtil.i("added=" + added);
|
|
|
- if (!added) {
|
|
|
merges.addAll(newApprovals);
|
|
|
+ merges.addAll(approvals);
|
|
|
+ } else {
|
|
|
+ boolean added = false;
|
|
|
+ for (int i = 0; i < approvals.size(); i++) {
|
|
|
+ int oldType = approvals.get(i).getType();
|
|
|
+ if (!added && ((oldType != Approval.TAG && oldType > type)
|
|
|
+ || oldType == Approval.TAG && approvals.size() > i + 1 && approvals.get(i + 1).getType() > type)) {
|
|
|
+ merges.addAll(i, newApprovals);
|
|
|
+ added = true;
|
|
|
+ }
|
|
|
+ merges.add(approvals.get(i));
|
|
|
+ }
|
|
|
+ if (!added) {
|
|
|
+ merges.addAll(newApprovals);
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
merges.addAll(newApprovals);
|
|
|
}
|
|
|
approvals = merges;
|
|
|
- LogUtil.i("end of setData2ListThread");
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
- LogUtil.i("showModel");
|
|
|
iApproval.showModels(merges);
|
|
|
|
|
|
}
|