|
|
@@ -69,22 +69,26 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
private String title;
|
|
|
private String master;
|
|
|
private List<Approval> approvals;
|
|
|
- private List<Approval> hineApprovals;
|
|
|
|
|
|
- private boolean submit, loading;
|
|
|
+ private List<Approval> hineApprovals;//隐藏字段
|
|
|
+ private List<Approval> showApprovals;//显示字段
|
|
|
+ private List<Approval> historyNodes;
|
|
|
+
|
|
|
+ private boolean submit, loading, endActivity;
|
|
|
|
|
|
public ApprovaPresenter(IApproval iApproval, Intent intent) {
|
|
|
this.iApproval = iApproval;
|
|
|
+ endActivity = false;
|
|
|
if (intent != null) {
|
|
|
int id = intent.getIntExtra("nodeid", -1);
|
|
|
- String imid = intent.getStringExtra("imid");
|
|
|
+// String imid = intent.getStringExtra("imid");
|
|
|
title = intent.getStringExtra("title");
|
|
|
master = intent.getStringExtra("master");
|
|
|
if (StringUtils.isEmpty(master)) master = CommonUtil.getMaster();
|
|
|
if (id != -1) {
|
|
|
- initLoad(id, imid);
|
|
|
+ initLoad(id);
|
|
|
} else {
|
|
|
- initLoad(0, imid);
|
|
|
+ initLoad(0);
|
|
|
}
|
|
|
} else {
|
|
|
initLoad(0);
|
|
|
@@ -96,38 +100,23 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
return title.equals(OACheckUtil.getString(R.string.title_approval));
|
|
|
}
|
|
|
|
|
|
- public void trun2SetActivity(Activity activity, List<Approval> approvals) {
|
|
|
+ public boolean isApprovaled() {
|
|
|
+ if (StringUtils.isEmpty(title)) return false;
|
|
|
+ return title.equals(OACheckUtil.getString(R.string.task_confimed));
|
|
|
+ }
|
|
|
+
|
|
|
+ public void trun2SetActivity(Activity activity) {
|
|
|
if (loading) return;
|
|
|
ArrayList<Data> fields = new ArrayList<>();
|
|
|
ArrayList<Data> fieldsDis = new ArrayList<>();
|
|
|
- boolean addDetailed = false;
|
|
|
- boolean canAddDetail = true;
|
|
|
- for (Approval approval : approvals) {
|
|
|
- if (approval.getType() == Approval.MAIN) {
|
|
|
- Data data = new Data(true, approval);
|
|
|
- fieldsDis.add(data);
|
|
|
- } else if (approval.getType() == DETAIL && canAddDetail) {
|
|
|
- Data data = new Data(false, approval);
|
|
|
- fieldsDis.add(data);
|
|
|
- addDetailed = true;
|
|
|
- } else if (addDetailed) {
|
|
|
- canAddDetail = false;
|
|
|
- }
|
|
|
- }
|
|
|
- addDetailed = false;
|
|
|
- canAddDetail = true;
|
|
|
if (!ListUtils.isEmpty(hineApprovals)) {
|
|
|
for (Approval approval : hineApprovals) {
|
|
|
- if (approval.getType() == Approval.MAIN) {
|
|
|
- Data data = new Data(true, approval);
|
|
|
- fields.add(data);
|
|
|
- } else if (approval.getType() == DETAIL && canAddDetail) {
|
|
|
- Data data = new Data(false, approval);
|
|
|
- fields.add(data);
|
|
|
- addDetailed = true;
|
|
|
- } else if (addDetailed) {
|
|
|
- canAddDetail = false;
|
|
|
- }
|
|
|
+ fields.add(new Data(approval.getType() == Approval.MAIN, approval));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!ListUtils.isEmpty(showApprovals)) {
|
|
|
+ for (Approval approval : showApprovals) {
|
|
|
+ fieldsDis.add(new Data(approval.getType() == Approval.MAIN, approval));
|
|
|
}
|
|
|
}
|
|
|
activity.startActivityForResult(new Intent(activity, DataFormFieldActivity.class)
|
|
|
@@ -139,10 +128,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
|
|
|
public void closeDB() {
|
|
|
-// if (manager != null) {
|
|
|
-// manager.closeDB();
|
|
|
-// manager = null;
|
|
|
-// }
|
|
|
+ endActivity = true;
|
|
|
}
|
|
|
|
|
|
public String getUrl(String baseUrl, String title) {
|
|
|
@@ -153,6 +139,18 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
return baseUrl + record.nodeId + endStatus;
|
|
|
}
|
|
|
|
|
|
+ public List<String> getNodesCanReturn() {
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+ if (record.isForknode && !ListUtils.isEmpty(historyNodes)) {
|
|
|
+ for (Approval a : historyNodes) {
|
|
|
+ if (a.getIdKey().startsWith("同意") && a.isNeerInput()) {
|
|
|
+ list.add(a.getValuesKey());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
public String getMaster() {
|
|
|
return master == null ? CommonUtil.getMaster() : master;
|
|
|
}
|
|
|
@@ -161,17 +159,14 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
initLoad(record.nodeId);
|
|
|
}
|
|
|
|
|
|
- private void initLoad(int nodeId) {
|
|
|
- initLoad(nodeId, "");
|
|
|
- }
|
|
|
|
|
|
- private void initLoad(int nodeId, String imid) {
|
|
|
+ private void initLoad(int nodeId) {
|
|
|
record = new ApprovalRecord();
|
|
|
approvals = new ArrayList<>();
|
|
|
hineApprovals = new ArrayList<>();
|
|
|
+ showApprovals = new ArrayList<>();
|
|
|
+ historyNodes = null;
|
|
|
record.nodeId = nodeId;
|
|
|
- if (imid != null)
|
|
|
- record.imid = imid;
|
|
|
iApproval.initStatus();
|
|
|
submit = false;
|
|
|
loading = false;
|
|
|
@@ -192,6 +187,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
iApproval.showToast(R.string.submit_cannot_submit_again, R.color.load_submit);
|
|
|
return;
|
|
|
}
|
|
|
+ if (StringUtils.isEmpty(emCode)) {
|
|
|
+ loadNextProcess();
|
|
|
+ return;
|
|
|
+ }
|
|
|
iApproval.showLoading();
|
|
|
String url = "common/setAssignee.action";
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
@@ -296,12 +295,26 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
|
|
|
//结束流程
|
|
|
private void loadEndProcess() {
|
|
|
- String url = "common/endProcessInstance.action";
|
|
|
+ //结束流程接口部分
|
|
|
+// 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);
|
|
|
+// param.put("master", master);
|
|
|
+ if (!canSubmit()) return;
|
|
|
+ iApproval.showLoading();
|
|
|
+ String url = "common/review.action";
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
- param.put("processInstanceId", record.processInstanceId);
|
|
|
- param.put("holdtime", 435);
|
|
|
- param.put("nodeId", record.nodeId);
|
|
|
+ param.put("taskId", record.nodeId);
|
|
|
+ param.put("nodeName", record.nodeName);
|
|
|
+ param.put("nodeLog", "流程异常,结束流程");
|
|
|
param.put("master", master);
|
|
|
+ param.put("result", false);
|
|
|
+ param.put("backTaskName", "RECORDER");//jn_name
|
|
|
+ param.put("attachs", "");//附件id
|
|
|
+ param.put("_noc", 1);//权限管控
|
|
|
+ param.put("holdtime", 4311);//holdtime
|
|
|
Request.Bulider bulider = new Request.Bulider()
|
|
|
.setUrl(url)
|
|
|
.setWhat(LOAD_END_PROCESS)
|
|
|
@@ -328,7 +341,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
|
|
|
/*不同意 submiting*/
|
|
|
- public void disAgree(String nodeLog) {
|
|
|
+ public void disAgree(String nodeLog, String backTaskName) {
|
|
|
if (StringUtils.isEmpty(nodeLog)) {
|
|
|
iApproval.showToast(R.string.approval_opinion_error, R.color.load_submit);
|
|
|
return;
|
|
|
@@ -343,7 +356,8 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
param.put("nodeLog", nodeLog);
|
|
|
param.put("master", master);
|
|
|
param.put("result", false);
|
|
|
- param.put("backTaskName", "RECORDER");
|
|
|
+ if (StringUtils.isEmpty(backTaskName)) backTaskName = "RECORDER";
|
|
|
+ param.put("backTaskName", backTaskName);//jn_name
|
|
|
param.put("attachs", "");//附件id
|
|
|
param.put("_noc", 1);//权限管控
|
|
|
param.put("holdtime", 4311);//holdtime
|
|
|
@@ -502,6 +516,11 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
|
|
|
@Override
|
|
|
public void result(int what, boolean isJSON, String message, Bundle bundle) {
|
|
|
+ if (endActivity) {
|
|
|
+ loading = false;
|
|
|
+ submit = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
try {
|
|
|
if (!isJSON) {
|
|
|
LogUtil.i("!isJSON");
|
|
|
@@ -518,11 +537,13 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
|
|
|
@Override
|
|
|
public void error(int what, String message, Bundle bundle) {
|
|
|
+ if (endActivity) return;
|
|
|
iApproval.dimssLoading();
|
|
|
switch (what) {
|
|
|
case LOAD_AGREE:
|
|
|
if (message.contains("程序错误")) {
|
|
|
loadEndProcess();
|
|
|
+// disAgree("流程异常,结束流程", null);
|
|
|
}
|
|
|
case LOAD_TAKE_OVER: /*提交部分*/
|
|
|
case LOAD_PROCESS_UPDATE:
|
|
|
@@ -658,8 +679,8 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
//处理当前结点信息
|
|
|
private void handlerCurrentNode(JSONObject object) throws Exception {
|
|
|
if (object != null && !loading) {
|
|
|
- String instanceId = getJson2Text(object, "InstanceId");
|
|
|
- record.processInstanceId = instanceId;
|
|
|
+ record.processInstanceId = getJson2Text(object, "InstanceId");
|
|
|
+ record.isForknode = OACheckUtil.getJsonIntager(object, "forknode") == 0;
|
|
|
JSONObject currentnode = OACheckUtil.getJSONObject(object, "currentnode");
|
|
|
if (currentnode != null) {
|
|
|
String recordName = getJson2Text(currentnode, "jp_launcherName");
|
|
|
@@ -696,6 +717,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
handerTitle(0);
|
|
|
loadDetailedList();//获取明细表
|
|
|
} else {
|
|
|
+ LogUtil.i("loading=" + loading);
|
|
|
loading = false;
|
|
|
}
|
|
|
}
|
|
|
@@ -705,10 +727,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
//计算主表
|
|
|
JSONArray formdatas = OACheckUtil.getJsonArray(object, "formdata");
|
|
|
JSONArray formconfigs = OACheckUtil.getJsonArray(object, "formconfigs");
|
|
|
- if (!ListUtils.isEmpty(formdatas) && !ListUtils.isEmpty(formconfigs)) {
|
|
|
- final JSONObject formdata = formdatas.getJSONObject(0);
|
|
|
- if (!ListUtils.isEmpty(formconfigs) && formdata != null) {
|
|
|
- final List<Approval> mainApproval = formandGriddata(formdata, formconfigs, record.caller, true);
|
|
|
+ if (!ListUtils.isEmpty(formconfigs)) {
|
|
|
+ final JSONObject formdata = ListUtils.isEmpty(formdatas) ? null : formdatas.getJSONObject(0);
|
|
|
+ if (!ListUtils.isEmpty(formconfigs)) {
|
|
|
+ final List<Approval> mainApproval = formandGriddata(formdata, formconfigs, record.caller, true, true);
|
|
|
setData2ListThread(Approval.MAIN, mainApproval);
|
|
|
}
|
|
|
}
|
|
|
@@ -716,15 +738,21 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
JSONArray griddatas = OACheckUtil.getJsonArray(object, "griddata");
|
|
|
JSONArray gridconfigs = OACheckUtil.getJsonArray(object, "gridconfigs");
|
|
|
final List<Approval> detailedList = new ArrayList<>();
|
|
|
- if (!ListUtils.isEmpty(griddatas) && !ListUtils.isEmpty(gridconfigs)) {
|
|
|
- for (int i = 0; i < griddatas.size(); i++) {
|
|
|
- //获取到单个明细表单
|
|
|
- final List<Approval> detailedApproval = formandGriddata(griddatas.getJSONObject(i), gridconfigs, record.caller, false);
|
|
|
- if (!ListUtils.isEmpty(detailedApproval)) {
|
|
|
- Approval approval = new Approval(Approval.TAG);
|
|
|
- approval.setCaption(getString(R.string.serial_number) + (i + 1));
|
|
|
- detailedApproval.add(0, approval);
|
|
|
- detailedList.addAll(detailedApproval);
|
|
|
+ if (!ListUtils.isEmpty(gridconfigs)) {
|
|
|
+ if (ListUtils.isEmpty(griddatas)) {
|
|
|
+ formandGriddata(null, gridconfigs, record.caller, false, true);
|
|
|
+ } else {
|
|
|
+ for (int i = 0; i < griddatas.size(); i++) {
|
|
|
+ //获取到单个明细表单
|
|
|
+ final List<Approval> detailedApproval = formandGriddata(griddatas.getJSONObject(i),
|
|
|
+ gridconfigs, record.caller,
|
|
|
+ false, i == 0);
|
|
|
+ if (!ListUtils.isEmpty(detailedApproval)) {
|
|
|
+ Approval approval = new Approval(Approval.TAG);
|
|
|
+ approval.setCaption(getString(R.string.serial_number) + (i + 1));
|
|
|
+ detailedApproval.add(0, approval);
|
|
|
+ detailedList.addAll(detailedApproval);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -745,7 +773,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (!ListUtils.isEmpty(otherGriddata) && !ListUtils.isEmpty(otherGridconfigs)) {
|
|
|
for (int j = 0; j < otherGriddata.size(); j++) {
|
|
|
//获取到单个明细表单
|
|
|
- final List<Approval> detailedApproval = formandGriddata(otherGriddata.getJSONObject(j), otherGridconfigs, caller, false);
|
|
|
+ final List<Approval> detailedApproval = formandGriddata(otherGriddata.getJSONObject(j), otherGridconfigs, caller, false, false);
|
|
|
if (!ListUtils.isEmpty(detailedApproval)) {
|
|
|
Approval approval = new Approval(Approval.TAG);
|
|
|
approval.setCaption(name + " " + getString(R.string.serial_number) + (j + 1));
|
|
|
@@ -772,8 +800,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- private List<Approval> formandGriddata(final JSONObject data, final JSONArray configs, String caller, boolean isMain) throws Exception {
|
|
|
+ //TODO 1.隐藏字段明细表重复 2.不该显示字段被显示
|
|
|
+ private List<Approval> formandGriddata(final JSONObject data,
|
|
|
+ final JSONArray configs,
|
|
|
+ String caller,
|
|
|
+ boolean isMain,
|
|
|
+ boolean addHint) throws Exception {
|
|
|
List<Approval> approvals = new ArrayList<>();
|
|
|
String idTag = "";
|
|
|
int id = 0;
|
|
|
@@ -810,13 +842,22 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (approval.isDftypeEQ("H")
|
|
|
|| isdefault != -1
|
|
|
|| appwidth == 0
|
|
|
- || (!isMain && OACheckUtil.getJsonIntager(config, "DG_WIDTH") == 0)
|
|
|
- || OACheckUtil.isEmpty(valueKey)
|
|
|
- || OACheckUtil.isEmpty(caption)
|
|
|
- || (merged.length() > 0 && merged.toString().contains(valueKey))) {
|
|
|
- if (isdefault == 0) {
|
|
|
+ || (!isMain && OACheckUtil.getJsonIntager(config, "DG_WIDTH") == 0)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ boolean showAble = data != null && data.containsKey(valueKey);
|
|
|
+ if (!OACheckUtil.isEmpty(caption)) {
|
|
|
+ if (showAble) {
|
|
|
+ approval.setValues(OACheckUtil.getJson2Text(data, valueKey)); //获取第一个字段的值
|
|
|
+ if (addHint) {
|
|
|
+ showApprovals.add(approval);
|
|
|
+ }
|
|
|
+ } else if (addHint) {
|
|
|
hineApprovals.add(approval);
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ if (OACheckUtil.isEmpty(valueKey) || OACheckUtil.isEmpty(caption) || (merged.length() > 0 && merged.toString().contains("," + valueKey + ","))) {
|
|
|
continue;
|
|
|
}
|
|
|
//添加下拉数据
|
|
|
@@ -829,7 +870,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
approval.getDatas().add(new Approval.Data(display, value));
|
|
|
}
|
|
|
}
|
|
|
- approval.setValues(OACheckUtil.getJson2Text(data, valueKey)); ;//获取第一个字段的值
|
|
|
boolean mergeAble = appwidth == 1 || (approval.isDftypeEQ("MT"));
|
|
|
approval.data2Values();
|
|
|
approval.setMustInput(true);
|
|
|
@@ -848,7 +888,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
if (!isApprovaling())
|
|
|
approval.setNeerInput(false);
|
|
|
- if (!approval.isNeerInput() && StringUtils.isEmpty(approval.getValues())) {
|
|
|
+ if ((!approval.isNeerInput() && StringUtils.isEmpty(approval.getValues())) || !showAble || approval.getValues().equals("null") || !showAble || approval.getValues().equals("(null)")) {
|
|
|
continue;//如果不是要输入的对象,同时显示值为空,需要隐藏去
|
|
|
}
|
|
|
if (mergeAble) {
|
|
|
@@ -856,7 +896,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (!StringUtils.isEmpty(valueTagKey)) {
|
|
|
String valueTag = OACheckUtil.getJson2Text(data, valueTagKey);
|
|
|
if (!StringUtils.isEmpty(valueTag)) {
|
|
|
- merged.append(valueTagKey + ",");
|
|
|
+ merged.append("," + valueTagKey + ",");
|
|
|
approval.addValues("/" + valueTag);
|
|
|
}
|
|
|
}
|
|
|
@@ -864,7 +904,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
approval.setCaller(caller);
|
|
|
approvals.add(approval);
|
|
|
}
|
|
|
- for (Approval approval : approvals) {
|
|
|
+ for (
|
|
|
+ Approval approval : approvals)
|
|
|
+
|
|
|
+ {
|
|
|
approval.setId(id);
|
|
|
approval.setIdKey(idTag);
|
|
|
}
|
|
|
@@ -904,14 +947,17 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
return itemSetuptasks;
|
|
|
}
|
|
|
|
|
|
+ // //1.forknode==0 (非并行节点) 2.jn_dealResult == '同意' 3.jn_attach == 'T'
|
|
|
private Approval getNodeApproval(JSONObject object) {
|
|
|
String nodeName = OACheckUtil.getJson2Text(object, "jn_name");//当前结点名称
|
|
|
String emCode = OACheckUtil.getJson2Text(object, "jn_dealManId");//节点处理人编号
|
|
|
String manName = OACheckUtil.getJson2Text(object, "jn_dealManName");//处理人名字
|
|
|
String dealTime = OACheckUtil.getJson2Text(object, "jn_dealTime");//审批时间
|
|
|
String result = OACheckUtil.getJson2Text(object, "jn_dealResult");//审批结果
|
|
|
+ String attach = OACheckUtil.getJson2Text(object, "jn_attach");//选择类型
|
|
|
String description = OACheckUtil.getJson2Text(object, "jn_nodeDescription");//审批意见
|
|
|
Approval approval = new Approval(Approval.NODES);
|
|
|
+ approval.setNeerInput("T".equals(attach));
|
|
|
approval.setCaption(manName);
|
|
|
approval.setDfType(emCode);
|
|
|
if (!StringUtils.isEmpty(dealTime)) {
|
|
|
@@ -919,19 +965,17 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
StringBuilder resultBuilder = new StringBuilder();
|
|
|
if (!StringUtils.isEmpty(result)) {
|
|
|
- if (result.equals("同意")) {
|
|
|
- resultBuilder.append("已审批");
|
|
|
- } else if (result.equals("不同意")) {
|
|
|
- resultBuilder.append("未通过");
|
|
|
- } else {
|
|
|
- resultBuilder.append(result);
|
|
|
- }
|
|
|
+ resultBuilder.append(result);
|
|
|
}
|
|
|
if (!StringUtils.isEmpty(description)) {
|
|
|
resultBuilder.append("(" + description + ")");
|
|
|
}
|
|
|
approval.setIdKey(resultBuilder.toString());
|
|
|
approval.setValuesKey(nodeName);
|
|
|
+ if (!StringUtils.isEmpty(emCode)) {
|
|
|
+ int imId = getImByCode(emCode);
|
|
|
+ approval.setId(imId);
|
|
|
+ }
|
|
|
return approval;
|
|
|
}
|
|
|
|
|
|
@@ -951,15 +995,16 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
ThreadUtil.getInstance().addTask(new Runnable() {
|
|
|
@Override
|
|
|
public void run() {
|
|
|
+ boolean showNode = true;
|
|
|
JSONArray nodes = OACheckUtil.getJsonArray(object, "nodes");
|
|
|
JSONArray processs = OACheckUtil.getJsonArray(object, "processs");
|
|
|
JSONArray datas = OACheckUtil.getJsonArray(object, "data");
|
|
|
List<Approval> approvals = getNodDatas(datas);
|
|
|
- List<Approval> historyNodes = null;
|
|
|
if (bundle != null && !StringUtils.isEmpty(bundle.getString("historyNode"))) {
|
|
|
historyNodes = handlerHistorySetuptask(JSON.parseObject(bundle.getString("historyNode")));
|
|
|
}
|
|
|
- if (ListUtils.isEmpty(approvals) && !ListUtils.isEmpty(historyNodes)) {
|
|
|
+ if ((isApprovaled() || ListUtils.isEmpty(approvals)) && !ListUtils.isEmpty(historyNodes)) {
|
|
|
+ showNode = false;
|
|
|
approvals = historyNodes;
|
|
|
}
|
|
|
if (!ListUtils.isEmpty(processs)) {
|
|
|
@@ -968,25 +1013,42 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (!ListUtils.isEmpty(nodes)) {
|
|
|
mergeNode(nodes, approvals, true);
|
|
|
}
|
|
|
- //判断当前
|
|
|
boolean hanNotApproval = false;
|
|
|
for (Approval a : approvals) {
|
|
|
if (!a.getIdKey().startsWith("已审批")) {
|
|
|
hanNotApproval = true;
|
|
|
+ if (a.getIdKey().startsWith("待审批"))
|
|
|
+ a.setValues("");
|
|
|
+ }
|
|
|
+ String emcode = null;
|
|
|
+ if (a.getDfType().contains(",")) {
|
|
|
+ String[] emcodes = a.getDfType().split(",");
|
|
|
+ if (!StringUtils.isEmpty(emcodes[0])) {
|
|
|
+ emcode = emcodes[0];
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ emcode = a.getDfType();
|
|
|
}
|
|
|
- String[] emcode = a.getDfType().split(",");
|
|
|
- if (!StringUtils.isEmpty(emcode[0])) {
|
|
|
- int imId = getImByCode(emcode[0]);
|
|
|
+ if (!StringUtils.isEmpty(emcode)) {
|
|
|
+ int imId = getImByCode(emcode);
|
|
|
a.setId(imId);
|
|
|
}
|
|
|
}
|
|
|
int reId = -1;
|
|
|
if ("未通过".equals(record.status) || "已结束".equals(record.status)) {
|
|
|
reId = R.drawable.unapproved;
|
|
|
- } else if (!hanNotApproval) {
|
|
|
+ } else if (!hanNotApproval && !isApprovaling()) {//没有未审批的数据
|
|
|
+ showNode = false;
|
|
|
+ if (!ListUtils.isEmpty(historyNodes)) {
|
|
|
+ approvals = historyNodes;
|
|
|
+ }
|
|
|
reId = R.drawable.approved;
|
|
|
}
|
|
|
handerTitle(reId);
|
|
|
+ if (!ListUtils.isEmpty(approvals) && !ListUtils.isEmpty(historyNodes) && showNode) {
|
|
|
+ Approval nodeTag = new Approval(Approval.NODES_TAG);
|
|
|
+ approvals.add(0, nodeTag);
|
|
|
+ }
|
|
|
setData2ListThread(Approval.NODES, approvals);
|
|
|
loading = false;
|
|
|
}
|
|
|
@@ -1032,10 +1094,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
enclosureList.add(enclosure);
|
|
|
}
|
|
|
}
|
|
|
- Approval tag = new Approval(Approval.TAG);
|
|
|
- tag.setCaption("附件");
|
|
|
- enclosureList.add(0, tag);
|
|
|
- setData2ListThread(Approval.ENCLOSURE, enclosureList);
|
|
|
+ if (!ListUtils.isEmpty(enclosureList)) {
|
|
|
+ Approval tag = new Approval(Approval.TAG);
|
|
|
+ tag.setCaption("附件");
|
|
|
+ enclosureList.add(0, tag);
|
|
|
+ setData2ListThread(Approval.ENCLOSURE, enclosureList);
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
@@ -1382,7 +1446,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (type == Approval.TITLE) {
|
|
|
iApproval.showOpinion();
|
|
|
}
|
|
|
- iApproval.showModels(merges);
|
|
|
+ iApproval.showModels(merges, historyNodes);
|
|
|
|
|
|
}
|
|
|
});
|