|
@@ -68,11 +68,21 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
public String chchePoints = "";//审批要点缓存
|
|
public String chchePoints = "";//审批要点缓存
|
|
|
private String title;
|
|
private String title;
|
|
|
private String master;
|
|
private String master;
|
|
|
- private List<Approval> approvals;
|
|
|
|
|
|
|
+
|
|
|
|
|
+// private List<Approval> approvals;
|
|
|
|
|
|
|
|
private List<Approval> hineApprovals;//隐藏字段
|
|
private List<Approval> hineApprovals;//隐藏字段
|
|
|
private List<Approval> showApprovals;//显示字段
|
|
private List<Approval> showApprovals;//显示字段
|
|
|
- private List<Approval> historyNodes;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ private List<Approval> historyNodes;//历史审批
|
|
|
|
|
+
|
|
|
|
|
+ //TODO
|
|
|
|
|
+ private Approval titleApproval;
|
|
|
|
|
+ private List<Approval> mainDetailList;//主从表
|
|
|
|
|
+ private List<Approval> setuptasList;//历史审批要点
|
|
|
|
|
+ private List<Approval> enclosureList;//附件
|
|
|
|
|
+ private List<Approval> nodeList;//审批节点
|
|
|
|
|
+ private List<Approval> pointsList;//要点
|
|
|
|
|
|
|
|
private boolean submit, loading, endActivity;
|
|
private boolean submit, loading, endActivity;
|
|
|
|
|
|
|
@@ -143,7 +153,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
List<String> list = new ArrayList<>();
|
|
List<String> list = new ArrayList<>();
|
|
|
if (record.isForknode && !ListUtils.isEmpty(historyNodes)) {
|
|
if (record.isForknode && !ListUtils.isEmpty(historyNodes)) {
|
|
|
for (Approval a : historyNodes) {
|
|
for (Approval a : historyNodes) {
|
|
|
- if (a.getIdKey().startsWith("同意") && a.isNeerInput()) {
|
|
|
|
|
|
|
+ if (a.isMustInput() && a.isNeerInput()) {
|
|
|
list.add(a.getValuesKey());
|
|
list.add(a.getValuesKey());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -159,10 +169,14 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
initLoad(record.nodeId);
|
|
initLoad(record.nodeId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
private void initLoad(int nodeId) {
|
|
private void initLoad(int nodeId) {
|
|
|
record = new ApprovalRecord();
|
|
record = new ApprovalRecord();
|
|
|
- approvals = new ArrayList<>();
|
|
|
|
|
|
|
+ titleApproval = new Approval(Approval.TITLE);
|
|
|
|
|
+ mainDetailList = new ArrayList<>();//主从表
|
|
|
|
|
+ setuptasList = new ArrayList<>();//历史审批要点
|
|
|
|
|
+ enclosureList = new ArrayList<>();//附件
|
|
|
|
|
+ nodeList = new ArrayList<>();//审批节点
|
|
|
|
|
+ pointsList = new ArrayList<>();//要点
|
|
|
hineApprovals = new ArrayList<>();
|
|
hineApprovals = new ArrayList<>();
|
|
|
showApprovals = new ArrayList<>();
|
|
showApprovals = new ArrayList<>();
|
|
|
historyNodes = null;
|
|
historyNodes = null;
|
|
@@ -270,6 +284,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
|
|
|
|
|
/*同意 submiting end loadProcessUpdate*/
|
|
/*同意 submiting end loadProcessUpdate*/
|
|
|
private void agree(String nodeLog) {
|
|
private void agree(String nodeLog) {
|
|
|
|
|
+ LogUtil.i("agree");
|
|
|
iApproval.showLoading();
|
|
iApproval.showLoading();
|
|
|
String points = OACheckUtil.getString(chchePoints);
|
|
String points = OACheckUtil.getString(chchePoints);
|
|
|
points.replaceAll("@", "").replaceAll("\\@", "").replaceAll("\\\\@", "");
|
|
points.replaceAll("@", "").replaceAll("\\@", "").replaceAll("\\\\@", "");
|
|
@@ -295,6 +310,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
|
|
|
|
|
//结束流程
|
|
//结束流程
|
|
|
private void loadEndProcess() {
|
|
private void loadEndProcess() {
|
|
|
|
|
+ LogUtil.i("loadEndProcess");
|
|
|
//结束流程接口部分
|
|
//结束流程接口部分
|
|
|
// String url = "common/endProcessInstance.action";
|
|
// String url = "common/endProcessInstance.action";
|
|
|
// Map<String, Object> param = new HashMap<>();
|
|
// Map<String, Object> param = new HashMap<>();
|
|
@@ -302,7 +318,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
// param.put("holdtime", 435);
|
|
// param.put("holdtime", 435);
|
|
|
// param.put("nodeId", record.nodeId);
|
|
// param.put("nodeId", record.nodeId);
|
|
|
// param.put("master", master);
|
|
// param.put("master", master);
|
|
|
- if (!canSubmit()) return;
|
|
|
|
|
iApproval.showLoading();
|
|
iApproval.showLoading();
|
|
|
String url = "common/review.action";
|
|
String url = "common/review.action";
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
Map<String, Object> param = new HashMap<>();
|
|
@@ -539,12 +554,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
public void error(int what, String message, Bundle bundle) {
|
|
public void error(int what, String message, Bundle bundle) {
|
|
|
if (endActivity) return;
|
|
if (endActivity) return;
|
|
|
iApproval.dimssLoading();
|
|
iApproval.dimssLoading();
|
|
|
|
|
+ LogUtil.i("message=" + message);
|
|
|
switch (what) {
|
|
switch (what) {
|
|
|
case LOAD_AGREE:
|
|
case LOAD_AGREE:
|
|
|
if (message.contains("程序错误")) {
|
|
if (message.contains("程序错误")) {
|
|
|
loadEndProcess();
|
|
loadEndProcess();
|
|
|
-// disAgree("流程异常,结束流程", null);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ } break;
|
|
|
case LOAD_TAKE_OVER: /*提交部分*/
|
|
case LOAD_TAKE_OVER: /*提交部分*/
|
|
|
case LOAD_PROCESS_UPDATE:
|
|
case LOAD_PROCESS_UPDATE:
|
|
|
case LOAD_NEXT_STEPOFP_INSTANCE:
|
|
case LOAD_NEXT_STEPOFP_INSTANCE:
|
|
@@ -689,7 +704,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
iApproval.nodeDealMan(nodeDealMan);
|
|
iApproval.nodeDealMan(nodeDealMan);
|
|
|
String nodeName = getJson2Text(currentnode, "jp_nodeName");
|
|
String nodeName = getJson2Text(currentnode, "jp_nodeName");
|
|
|
int keyValue = getJsonIntager(currentnode, "jp_keyValue");
|
|
int keyValue = getJsonIntager(currentnode, "jp_keyValue");
|
|
|
- record.title = getJson2Text(currentnode, "jp_name");
|
|
|
|
|
|
|
+ record.title = record.callerName = getJson2Text(currentnode, "jp_name");
|
|
|
record.status = OACheckUtil.getJson2Text(currentnode, "jp_status");
|
|
record.status = OACheckUtil.getJson2Text(currentnode, "jp_status");
|
|
|
String caller = OACheckUtil.getJson2Text(currentnode, "jp_caller");
|
|
String caller = OACheckUtil.getJson2Text(currentnode, "jp_caller");
|
|
|
if (keyValue != 0) {
|
|
if (keyValue != 0) {
|
|
@@ -727,11 +742,14 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
//计算主表
|
|
//计算主表
|
|
|
JSONArray formdatas = OACheckUtil.getJsonArray(object, "formdata");
|
|
JSONArray formdatas = OACheckUtil.getJsonArray(object, "formdata");
|
|
|
JSONArray formconfigs = OACheckUtil.getJsonArray(object, "formconfigs");
|
|
JSONArray formconfigs = OACheckUtil.getJsonArray(object, "formconfigs");
|
|
|
|
|
+ List<Approval> mainDetailList = new ArrayList<>();
|
|
|
if (!ListUtils.isEmpty(formconfigs)) {
|
|
if (!ListUtils.isEmpty(formconfigs)) {
|
|
|
final JSONObject formdata = ListUtils.isEmpty(formdatas) ? null : formdatas.getJSONObject(0);
|
|
final JSONObject formdata = ListUtils.isEmpty(formdatas) ? null : formdatas.getJSONObject(0);
|
|
|
|
|
+ final JSONObject changeData = ListUtils.getSize(formdatas) <= 1 ? null : formdatas.getJSONObject(1);
|
|
|
if (!ListUtils.isEmpty(formconfigs)) {
|
|
if (!ListUtils.isEmpty(formconfigs)) {
|
|
|
- final List<Approval> mainApproval = formandGriddata(formdata, formconfigs, record.caller, true, true);
|
|
|
|
|
- setData2ListThread(Approval.MAIN, mainApproval);
|
|
|
|
|
|
|
+ final List<Approval> mainApproval = formandGriddata(OACheckUtil.getJSONObject(changeData, "change-new"), formdata, formconfigs, record.caller, true, true);
|
|
|
|
|
+ mainDetailList.addAll(mainApproval);
|
|
|
|
|
+ // TODO setData2ListThread(Approval.MAIN, mainApproval);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
//计算从表
|
|
//计算从表
|
|
@@ -740,16 +758,16 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
final List<Approval> detailedList = new ArrayList<>();
|
|
final List<Approval> detailedList = new ArrayList<>();
|
|
|
if (!ListUtils.isEmpty(gridconfigs)) {
|
|
if (!ListUtils.isEmpty(gridconfigs)) {
|
|
|
if (ListUtils.isEmpty(griddatas)) {
|
|
if (ListUtils.isEmpty(griddatas)) {
|
|
|
- formandGriddata(null, gridconfigs, record.caller, false, true);
|
|
|
|
|
|
|
+ formandGriddata(null, null, gridconfigs, record.caller, false, true);
|
|
|
} else {
|
|
} else {
|
|
|
for (int i = 0; i < griddatas.size(); i++) {
|
|
for (int i = 0; i < griddatas.size(); i++) {
|
|
|
//获取到单个明细表单
|
|
//获取到单个明细表单
|
|
|
- final List<Approval> detailedApproval = formandGriddata(griddatas.getJSONObject(i),
|
|
|
|
|
|
|
+ final List<Approval> detailedApproval = formandGriddata(null, griddatas.getJSONObject(i),
|
|
|
gridconfigs, record.caller,
|
|
gridconfigs, record.caller,
|
|
|
false, i == 0);
|
|
false, i == 0);
|
|
|
if (!ListUtils.isEmpty(detailedApproval)) {
|
|
if (!ListUtils.isEmpty(detailedApproval)) {
|
|
|
Approval approval = new Approval(Approval.TAG);
|
|
Approval approval = new Approval(Approval.TAG);
|
|
|
- approval.setCaption(getString(R.string.serial_number) + (i + 1));
|
|
|
|
|
|
|
+ approval.setCaption(i == 0 ? record.getCallerName() + " 明细" : "");
|
|
|
detailedApproval.add(0, approval);
|
|
detailedApproval.add(0, approval);
|
|
|
detailedList.addAll(detailedApproval);
|
|
detailedList.addAll(detailedApproval);
|
|
|
}
|
|
}
|
|
@@ -773,10 +791,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (!ListUtils.isEmpty(otherGriddata) && !ListUtils.isEmpty(otherGridconfigs)) {
|
|
if (!ListUtils.isEmpty(otherGriddata) && !ListUtils.isEmpty(otherGridconfigs)) {
|
|
|
for (int j = 0; j < otherGriddata.size(); j++) {
|
|
for (int j = 0; j < otherGriddata.size(); j++) {
|
|
|
//获取到单个明细表单
|
|
//获取到单个明细表单
|
|
|
- final List<Approval> detailedApproval = formandGriddata(otherGriddata.getJSONObject(j), otherGridconfigs, caller, false, false);
|
|
|
|
|
|
|
+ final List<Approval> detailedApproval = formandGriddata(null, otherGriddata.getJSONObject(j), otherGridconfigs, caller, false, false);
|
|
|
if (!ListUtils.isEmpty(detailedApproval)) {
|
|
if (!ListUtils.isEmpty(detailedApproval)) {
|
|
|
Approval approval = new Approval(Approval.TAG);
|
|
Approval approval = new Approval(Approval.TAG);
|
|
|
- approval.setCaption(name + " " + getString(R.string.serial_number) + (j + 1));
|
|
|
|
|
|
|
+ approval.setCaption(j == 0 ? name + " 明细" : "");
|
|
|
detailedApproval.add(0, approval);
|
|
detailedApproval.add(0, approval);
|
|
|
detailedList.addAll(detailedApproval);
|
|
detailedList.addAll(detailedApproval);
|
|
|
}
|
|
}
|
|
@@ -784,7 +802,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- setData2ListThread(DETAIL, detailedList);
|
|
|
|
|
|
|
+ mainDetailList.addAll(detailedList);
|
|
|
|
|
+ ApprovaPresenter.this.mainDetailList = mainDetailList;
|
|
|
|
|
+ //TODO
|
|
|
|
|
+ setData2ListThread();
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
@Override
|
|
|
public void run() {
|
|
public void run() {
|
|
@@ -801,7 +822,8 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//TODO 1.隐藏字段明细表重复 2.不该显示字段被显示
|
|
//TODO 1.隐藏字段明细表重复 2.不该显示字段被显示
|
|
|
- private List<Approval> formandGriddata(final JSONObject data,
|
|
|
|
|
|
|
+ private List<Approval> formandGriddata(final JSONObject changeData,
|
|
|
|
|
+ final JSONObject data,
|
|
|
final JSONArray configs,
|
|
final JSONArray configs,
|
|
|
String caller,
|
|
String caller,
|
|
|
boolean isMain,
|
|
boolean isMain,
|
|
@@ -824,12 +846,20 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
approval.setValuesKey(valueKey);
|
|
approval.setValuesKey(valueKey);
|
|
|
int isdefault = OACheckUtil.getJsonIntager(config, "MFD_ISDEFAULT", "MDG_ISDEFAULT");
|
|
int isdefault = OACheckUtil.getJsonIntager(config, "MFD_ISDEFAULT", "MDG_ISDEFAULT");
|
|
|
int appwidth = OACheckUtil.getJsonIntager(config, "FD_APPWIDTH", "DG_APPWIDTH");
|
|
int appwidth = OACheckUtil.getJsonIntager(config, "FD_APPWIDTH", "DG_APPWIDTH");
|
|
|
|
|
+ boolean showAble = data != null && data.containsKey(valueKey);
|
|
|
|
|
+ String values = OACheckUtil.getJson2Text(data, valueKey);
|
|
|
|
|
+ String newValues = OACheckUtil.getJson2Text(changeData, valueKey);
|
|
|
|
|
+ if (showAble && !StringUtils.isEmpty(newValues) && !newValues.equals(values)) {
|
|
|
|
|
+ approval.setOldValues(values);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ newValues = values;
|
|
|
|
|
+ }
|
|
|
if (isMain && approval.isDftypeEQ("MF")) {
|
|
if (isMain && approval.isDftypeEQ("MF")) {
|
|
|
- final String fb_attach = valueKey;
|
|
|
|
|
|
|
+ final String fb_attach = newValues;
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
@Override
|
|
|
public void run() {
|
|
public void run() {
|
|
|
- loadFilePaths(OACheckUtil.getJson2Text(data, fb_attach));
|
|
|
|
|
|
|
+ loadFilePaths(fb_attach);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
continue;
|
|
continue;
|
|
@@ -845,10 +875,9 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
|| (!isMain && OACheckUtil.getJsonIntager(config, "DG_WIDTH") == 0)) {
|
|
|| (!isMain && OACheckUtil.getJsonIntager(config, "DG_WIDTH") == 0)) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- boolean showAble = data != null && data.containsKey(valueKey);
|
|
|
|
|
if (!OACheckUtil.isEmpty(caption)) {
|
|
if (!OACheckUtil.isEmpty(caption)) {
|
|
|
if (showAble) {
|
|
if (showAble) {
|
|
|
- approval.setValues(OACheckUtil.getJson2Text(data, valueKey)); //获取第一个字段的值
|
|
|
|
|
|
|
+ approval.setValues(newValues); //获取第一个字段的值
|
|
|
if (addHint) {
|
|
if (addHint) {
|
|
|
showApprovals.add(approval);
|
|
showApprovals.add(approval);
|
|
|
}
|
|
}
|
|
@@ -904,10 +933,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
approval.setCaller(caller);
|
|
approval.setCaller(caller);
|
|
|
approvals.add(approval);
|
|
approvals.add(approval);
|
|
|
}
|
|
}
|
|
|
- for (
|
|
|
|
|
- Approval approval : approvals)
|
|
|
|
|
-
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ for (Approval approval : approvals) {
|
|
|
approval.setId(id);
|
|
approval.setId(id);
|
|
|
approval.setIdKey(idTag);
|
|
approval.setIdKey(idTag);
|
|
|
}
|
|
}
|
|
@@ -930,7 +956,9 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
nodeApprovals.add(getNodeApproval(node));
|
|
nodeApprovals.add(getNodeApproval(node));
|
|
|
}
|
|
}
|
|
|
if (!ListUtils.isEmpty(setuptasks)) {
|
|
if (!ListUtils.isEmpty(setuptasks)) {
|
|
|
- setData2ListThread(DETAIL, setuptasks);
|
|
|
|
|
|
|
+ ApprovaPresenter.this.setuptasList = setuptasks;
|
|
|
|
|
+ //TODO setData2ListThread(DETAIL, setuptasks);
|
|
|
|
|
+ setData2ListThread();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return nodeApprovals;
|
|
return nodeApprovals;
|
|
@@ -958,6 +986,8 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
String description = OACheckUtil.getJson2Text(object, "jn_nodeDescription");//审批意见
|
|
String description = OACheckUtil.getJson2Text(object, "jn_nodeDescription");//审批意见
|
|
|
Approval approval = new Approval(Approval.NODES);
|
|
Approval approval = new Approval(Approval.NODES);
|
|
|
approval.setNeerInput("T".equals(attach));
|
|
approval.setNeerInput("T".equals(attach));
|
|
|
|
|
+ approval.setMustInput(result.equals("同意"));
|
|
|
|
|
+ result = setNodeStatus(result);
|
|
|
approval.setCaption(manName);
|
|
approval.setCaption(manName);
|
|
|
approval.setDfType(emCode);
|
|
approval.setDfType(emCode);
|
|
|
if (!StringUtils.isEmpty(dealTime)) {
|
|
if (!StringUtils.isEmpty(dealTime)) {
|
|
@@ -1007,15 +1037,24 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
showNode = false;
|
|
showNode = false;
|
|
|
approvals = historyNodes;
|
|
approvals = historyNodes;
|
|
|
}
|
|
}
|
|
|
- if (!ListUtils.isEmpty(processs)) {
|
|
|
|
|
|
|
+ if (showNode && !ListUtils.isEmpty(processs)) {
|
|
|
mergeNode(processs, approvals, false);
|
|
mergeNode(processs, approvals, false);
|
|
|
}
|
|
}
|
|
|
- if (!ListUtils.isEmpty(nodes)) {
|
|
|
|
|
|
|
+ if (showNode && !ListUtils.isEmpty(nodes)) {
|
|
|
mergeNode(nodes, approvals, true);
|
|
mergeNode(nodes, approvals, true);
|
|
|
}
|
|
}
|
|
|
boolean hanNotApproval = false;
|
|
boolean hanNotApproval = false;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 已审批
|
|
|
|
|
+ * 未通过
|
|
|
|
|
+ * 已结束
|
|
|
|
|
+ * 待审批
|
|
|
|
|
+ */
|
|
|
for (Approval a : approvals) {
|
|
for (Approval a : approvals) {
|
|
|
- if (!a.getIdKey().startsWith("已审批")) {
|
|
|
|
|
|
|
+ if (!a.getIdKey().startsWith("已审批")
|
|
|
|
|
+ && !a.getIdKey().startsWith("未通过")
|
|
|
|
|
+ && !a.getIdKey().startsWith("不同意")
|
|
|
|
|
+ && !a.getIdKey().startsWith("已结束")) {
|
|
|
hanNotApproval = true;
|
|
hanNotApproval = true;
|
|
|
if (a.getIdKey().startsWith("待审批"))
|
|
if (a.getIdKey().startsWith("待审批"))
|
|
|
a.setValues("");
|
|
a.setValues("");
|
|
@@ -1035,13 +1074,21 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
int reId = -1;
|
|
int reId = -1;
|
|
|
|
|
+
|
|
|
|
|
+ if (showNode) {
|
|
|
|
|
+ if ("未通过".equals(record.status) || "已结束".equals(record.status) || "已审批".equals(record.status)) {
|
|
|
|
|
+ showNode = false;
|
|
|
|
|
+ approvals = historyNodes;
|
|
|
|
|
+ }
|
|
|
|
|
+// else if (!hanNotApproval && !ListUtils.isEmpty(historyNodes))){
|
|
|
|
|
+// showNode = false;
|
|
|
|
|
+// approvals = historyNodes;
|
|
|
|
|
+// }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if ("未通过".equals(record.status) || "已结束".equals(record.status)) {
|
|
if ("未通过".equals(record.status) || "已结束".equals(record.status)) {
|
|
|
reId = R.drawable.unapproved;
|
|
reId = R.drawable.unapproved;
|
|
|
} else if (!hanNotApproval && !isApprovaling()) {//没有未审批的数据
|
|
} else if (!hanNotApproval && !isApprovaling()) {//没有未审批的数据
|
|
|
- showNode = false;
|
|
|
|
|
- if (!ListUtils.isEmpty(historyNodes)) {
|
|
|
|
|
- approvals = historyNodes;
|
|
|
|
|
- }
|
|
|
|
|
reId = R.drawable.approved;
|
|
reId = R.drawable.approved;
|
|
|
}
|
|
}
|
|
|
handerTitle(reId);
|
|
handerTitle(reId);
|
|
@@ -1049,7 +1096,9 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
Approval nodeTag = new Approval(Approval.NODES_TAG);
|
|
Approval nodeTag = new Approval(Approval.NODES_TAG);
|
|
|
approvals.add(0, nodeTag);
|
|
approvals.add(0, nodeTag);
|
|
|
}
|
|
}
|
|
|
- setData2ListThread(Approval.NODES, approvals);
|
|
|
|
|
|
|
+ ApprovaPresenter.this.nodeList = approvals;
|
|
|
|
|
+ //TODO setData2ListThread(Approval.NODES, approvals);
|
|
|
|
|
+ setData2ListThread();
|
|
|
loading = false;
|
|
loading = false;
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
@@ -1063,17 +1112,18 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
approval.setIdKey(record.imid);
|
|
approval.setIdKey(record.imid);
|
|
|
if (reId > 0)
|
|
if (reId > 0)
|
|
|
approval.setId(reId);
|
|
approval.setId(reId);
|
|
|
- final List<Approval> titleApproval = new ArrayList<>();
|
|
|
|
|
- titleApproval.add(approval);
|
|
|
|
|
|
|
+ titleApproval = approval;
|
|
|
|
|
+// final List<Approval> titleApproval = new ArrayList<>();
|
|
|
|
|
+// titleApproval.add(approval);
|
|
|
if (Looper.getMainLooper() == Looper.myLooper()) {
|
|
if (Looper.getMainLooper() == Looper.myLooper()) {
|
|
|
ThreadUtil.getInstance().addTask(new Runnable() {
|
|
ThreadUtil.getInstance().addTask(new Runnable() {
|
|
|
@Override
|
|
@Override
|
|
|
public void run() {
|
|
public void run() {
|
|
|
- setData2ListThread(Approval.TITLE, titleApproval);
|
|
|
|
|
|
|
+ setData2ListThread();
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
} else {
|
|
} else {
|
|
|
- setData2ListThread(Approval.TITLE, titleApproval);
|
|
|
|
|
|
|
+ setData2ListThread();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1098,27 +1148,64 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
Approval tag = new Approval(Approval.TAG);
|
|
Approval tag = new Approval(Approval.TAG);
|
|
|
tag.setCaption("附件");
|
|
tag.setCaption("附件");
|
|
|
enclosureList.add(0, tag);
|
|
enclosureList.add(0, tag);
|
|
|
- setData2ListThread(Approval.ENCLOSURE, enclosureList);
|
|
|
|
|
|
|
+ ApprovaPresenter.this.enclosureList = enclosureList;
|
|
|
|
|
+ //TODO setData2ListThread(Approval.ENCLOSURE, enclosureList);
|
|
|
|
|
+ setData2ListThread();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ private boolean equalsOne(String text, String... str) {
|
|
|
|
|
+ if (StringUtils.isEmpty(text) || str == null || str.length <= 0) return false;
|
|
|
|
|
+ for (String s : str) {
|
|
|
|
|
+ if (text.equals(s)) return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 已审批
|
|
|
|
|
+ * 未通过
|
|
|
|
|
+ * 已结束
|
|
|
|
|
+ * 待审批
|
|
|
|
|
+ */
|
|
|
|
|
+ private String setNodeStatus(String status) {
|
|
|
|
|
+ LogUtil.d("status=" + status);
|
|
|
|
|
+ if (equalsOne(status, "同意")) {
|
|
|
|
|
+ status = "已审批";
|
|
|
|
|
+ } else if (equalsOne(status, "不同意", "不通过")) {
|
|
|
|
|
+ status = "未通过";
|
|
|
|
|
+ } else if (equalsOne(status, "结束流程")) {
|
|
|
|
|
+ status = "已结束";
|
|
|
|
|
+ }
|
|
|
|
|
+ LogUtil.d("status=" + status);
|
|
|
|
|
+ LogUtil.d("________________");
|
|
|
|
|
+ return status;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private void mergeNode(JSONArray array, List<Approval> approvals, boolean isLog) {
|
|
private void mergeNode(JSONArray array, List<Approval> approvals, boolean isLog) {
|
|
|
for (int i = 0; i < array.size(); i++) {
|
|
for (int i = 0; i < array.size(); i++) {
|
|
|
JSONObject o = array.getJSONObject(i);
|
|
JSONObject o = array.getJSONObject(i);
|
|
|
String name = OACheckUtil.getJson2Text(o, "jp_nodeName", "jn_name");//节点名称
|
|
String name = OACheckUtil.getJson2Text(o, "jp_nodeName", "jn_name");//节点名称
|
|
|
long launchTime = OACheckUtil.getJsonTime(o, "jp_launchTime", "jn_dealTime");//时间
|
|
long launchTime = OACheckUtil.getJsonTime(o, "jp_launchTime", "jn_dealTime");//时间
|
|
|
- String status = OACheckUtil.getJson2Text(o, "jp_status");//状态
|
|
|
|
|
|
|
+ String status = OACheckUtil.getJson2Text(o, "jp_status", "jn_dealResult");//状态
|
|
|
String nodeDealCode = OACheckUtil.getJson2Text(o, "jp_nodeDealMan", "jn_dealManId");//处理人编号
|
|
String nodeDealCode = OACheckUtil.getJson2Text(o, "jp_nodeDealMan", "jn_dealManId");//处理人编号
|
|
|
String nodeDealName = OACheckUtil.getJson2Text(o, "jp_nodeDealManName", "jn_dealManName");//执行人
|
|
String nodeDealName = OACheckUtil.getJson2Text(o, "jp_nodeDealManName", "jn_dealManName");//执行人
|
|
|
String nodeDescription = OACheckUtil.getJson2Text(o, "jn_nodeDescription");//执行操作
|
|
String nodeDescription = OACheckUtil.getJson2Text(o, "jn_nodeDescription");//执行操作
|
|
|
- for (Approval a : approvals) {
|
|
|
|
|
|
|
+ boolean hanEnd = false;
|
|
|
|
|
+ setNodeStatus(status);
|
|
|
|
|
+ for (int j = approvals.size() - 1; j >= 0; j--) {
|
|
|
|
|
+ Approval a = approvals.get(j);
|
|
|
|
|
+ if (hanEnd) continue;
|
|
|
|
|
+ if (a.getValuesKey().equals(record.nodeName)) {
|
|
|
|
|
+ hanEnd = true;
|
|
|
|
|
+ }
|
|
|
if (name.equals(a.getValuesKey())) {//为当前结点
|
|
if (name.equals(a.getValuesKey())) {//为当前结点
|
|
|
if (!isLog) {
|
|
if (!isLog) {
|
|
|
a.setDfType(nodeDealCode);
|
|
a.setDfType(nodeDealCode);
|
|
|
a.setCaption(nodeDealName);
|
|
a.setCaption(nodeDealName);
|
|
|
- a.setIdKey(status);
|
|
|
|
|
|
|
+ a.setIdKey(hanEnd ? "待审批" : status);
|
|
|
if (launchTime > 0) {
|
|
if (launchTime > 0) {
|
|
|
a.setValues(TimeUtils.long2str(launchTime, "MM-dd HH:mm"));
|
|
a.setValues(TimeUtils.long2str(launchTime, "MM-dd HH:mm"));
|
|
|
}
|
|
}
|
|
@@ -1127,7 +1214,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (launchTime > 0) {
|
|
if (launchTime > 0) {
|
|
|
a.setValues(TimeUtils.long2str(launchTime, "MM-dd HH:mm"));
|
|
a.setValues(TimeUtils.long2str(launchTime, "MM-dd HH:mm"));
|
|
|
}
|
|
}
|
|
|
- if (!StringUtils.isEmpty(nodeDescription)) {
|
|
|
|
|
|
|
+ if (status.equals("不同意")) {
|
|
|
|
|
+ a.setIdKey(hanEnd ? "待审批" : "未通过");
|
|
|
|
|
+ } else if (status.equals("同意")) {
|
|
|
|
|
+ a.setIdKey(hanEnd ? "待审批" : "已审批");
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!hanEnd && !StringUtils.isEmpty(nodeDescription)) {
|
|
|
a.setIdKey(a.getIdKey() + "(" + nodeDescription + ")");
|
|
a.setIdKey(a.getIdKey() + "(" + nodeDescription + ")");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1152,7 +1244,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
String emCode = OACheckUtil.getJson2Text(object, "JP_NODEDEALMAN");//节点处理人编号
|
|
String emCode = OACheckUtil.getJson2Text(object, "JP_NODEDEALMAN");//节点处理人编号
|
|
|
String manName = OACheckUtil.getJson2Text(object, "JP_NODEDEALMANNAME");
|
|
String manName = OACheckUtil.getJson2Text(object, "JP_NODEDEALMANNAME");
|
|
|
Approval approval = new Approval(Approval.NODES);
|
|
Approval approval = new Approval(Approval.NODES);
|
|
|
- approval.setCaption(manName);
|
|
|
|
|
|
|
+ approval.setCaption(StringUtils.isEmpty(manName) ? nodeName : manName);
|
|
|
approval.setDfType(emCode);
|
|
approval.setDfType(emCode);
|
|
|
approval.setValuesKey(nodeName);
|
|
approval.setValuesKey(nodeName);
|
|
|
approvals.add(approval);
|
|
approvals.add(approval);
|
|
@@ -1192,6 +1284,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
ThreadUtil.getInstance().addTask(new Runnable() {
|
|
ThreadUtil.getInstance().addTask(new Runnable() {
|
|
|
@Override
|
|
@Override
|
|
|
public void run() {
|
|
public void run() {
|
|
|
|
|
+ final int isApprove = OACheckUtil.getJsonIntager(object, "isApprove");
|
|
|
JSONArray arrayCS = OACheckUtil.getJsonArray(object, "cs");
|
|
JSONArray arrayCS = OACheckUtil.getJsonArray(object, "cs");
|
|
|
if (!ListUtils.isEmpty(arrayCS)) {
|
|
if (!ListUtils.isEmpty(arrayCS)) {
|
|
|
String data = OACheckUtil.getJson2Text(object, "data");
|
|
String data = OACheckUtil.getJson2Text(object, "data");
|
|
@@ -1211,12 +1304,17 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
Approval points = new Approval(Approval.TAG);
|
|
Approval points = new Approval(Approval.TAG);
|
|
|
points.setCaption(OACheckUtil.getString(R.string.approval_points));
|
|
points.setCaption(OACheckUtil.getString(R.string.approval_points));
|
|
|
pointsList.add(0, points);
|
|
pointsList.add(0, points);
|
|
|
- setData2ListThread(Approval.POINTS, pointsList);
|
|
|
|
|
|
|
+ ApprovaPresenter.this.pointsList = pointsList;
|
|
|
|
|
+ //TODO setData2ListThread(Approval.POINTS, pointsList);
|
|
|
|
|
+ setData2ListThread();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
@Override
|
|
|
public void run() {
|
|
public void run() {
|
|
|
|
|
+ if (isApprove == 1) {
|
|
|
|
|
+ iApproval.isApprove(true);
|
|
|
|
|
+ }
|
|
|
loadAllHistoryNodes();
|
|
loadAllHistoryNodes();
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
@@ -1412,6 +1510,26 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
return formstore;
|
|
return formstore;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ private synchronized void setData2ListThread() {
|
|
|
|
|
+ final List<Approval> approvals = new ArrayList<>();
|
|
|
|
|
+ approvals.add(titleApproval);
|
|
|
|
|
+ approvals.addAll(mainDetailList);
|
|
|
|
|
+ approvals.addAll(setuptasList);
|
|
|
|
|
+ approvals.addAll(enclosureList);
|
|
|
|
|
+ approvals.addAll(pointsList);
|
|
|
|
|
+ approvals.addAll(nodeList);
|
|
|
|
|
+ OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void run() {
|
|
|
|
|
+ if (!loading && ApprovaPresenter.this.titleApproval != null && !StringUtils.isEmpty(titleApproval.getCaption()) && isApprovaling()) {
|
|
|
|
|
+ iApproval.showOpinion();
|
|
|
|
|
+ }
|
|
|
|
|
+ iApproval.showModels(approvals, historyNodes);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+/*
|
|
|
private synchronized void setData2ListThread(final int type, List<Approval> newApprovals) {
|
|
private synchronized void setData2ListThread(final int type, List<Approval> newApprovals) {
|
|
|
final List<Approval> merges = new ArrayList<>();
|
|
final List<Approval> merges = new ArrayList<>();
|
|
|
if (!ListUtils.isEmpty(approvals)) {
|
|
if (!ListUtils.isEmpty(approvals)) {
|
|
@@ -1451,4 +1569,5 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
+ */
|
|
|
}
|
|
}
|