|
|
@@ -111,7 +111,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (!inputAllPoints(points, approvals))
|
|
|
return;
|
|
|
chchePoints = points.toString();
|
|
|
- LogUtil.i("chchePoints=" + chchePoints);
|
|
|
String url = "common/processUpdate.action";
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
List<Map<String, Object>> params = new ArrayList<>();
|
|
|
@@ -168,6 +167,10 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
|
|
|
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;
|
|
|
iApproval.showLoading();
|
|
|
@@ -272,6 +275,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);
|
|
|
Request.Bulider bulider = new Request.Bulider()
|
|
|
.setUrl(url)
|
|
|
.setWhat(LOAD_FORMAND_GRIDDATA)
|
|
|
@@ -279,18 +283,6 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
}
|
|
|
|
|
|
- public void loadNextStepOfPInstance() {
|
|
|
- iApproval.showLoading();
|
|
|
- String url = "common/dealNextStepOfPInstance.action";
|
|
|
- Map<String, Object> param = new HashMap<>();
|
|
|
- param.put("processInstanceId", record.processInstanceId);
|
|
|
- param.put("_noc", 1);
|
|
|
- Request.Bulider bulider = new Request.Bulider()
|
|
|
- .setUrl(url)
|
|
|
- .setWhat(LOAD_NEXT_STEPOFP_INSTANCE)
|
|
|
- .setParam(param);
|
|
|
- OAHttpHelper.getInstance().requestHttp(bulider.bulid(), this);
|
|
|
- }
|
|
|
|
|
|
public void judgeApprovers() {
|
|
|
String url = "common/getMultiNodeAssigns.action";
|
|
|
@@ -602,14 +594,9 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (object != null) {
|
|
|
final JSONObject formdata = OACheckUtil.getJsonArray(object, "formdata").getJSONObject(0);
|
|
|
JSONArray formconfigs = OACheckUtil.getJsonArray(object, "formconfigs");
|
|
|
- OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- loadFilePaths(OACheckUtil.getJson2Text(formdata, "fb_attach"));
|
|
|
- }
|
|
|
- });
|
|
|
+
|
|
|
if (!ListUtils.isEmpty(formconfigs) && formdata != null) {
|
|
|
- final Approval mainApproval = formandGriddata(formdata, formconfigs);
|
|
|
+ final Approval mainApproval = formandGriddata(formdata, formconfigs, true);
|
|
|
mainApproval.setType(Approval.Type.MAIN);
|
|
|
OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
@Override
|
|
|
@@ -624,7 +611,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (!ListUtils.isEmpty(griddatas) && !ListUtils.isEmpty(gridconfigs)) {
|
|
|
for (int i = 0; i < griddatas.size(); i++) {
|
|
|
//获取到单个明细表单
|
|
|
- final Approval detailedApproval = formandGriddata(griddatas.getJSONObject(i), gridconfigs);
|
|
|
+ final Approval detailedApproval = formandGriddata(griddatas.getJSONObject(i), gridconfigs, false);
|
|
|
detailedApproval.setType(DETAIL);
|
|
|
detailedApproval.setTitle(getString(R.string.serial_number) + (i + 1));
|
|
|
detailedList.add(detailedApproval);
|
|
|
@@ -640,7 +627,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private Approval formandGriddata(JSONObject data, JSONArray configs) throws Exception {
|
|
|
+ private Approval formandGriddata(final JSONObject data, final JSONArray configs, boolean isMain) throws Exception {
|
|
|
Approval approval = new Approval();
|
|
|
List<Approval.Item> itemDatas = new ArrayList<>();
|
|
|
String idTag = "";
|
|
|
@@ -655,6 +642,15 @@ 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");
|
|
|
+ if (isMain && caption.equals("附件")) {
|
|
|
+ final String fb_attach = valueKey;
|
|
|
+ OAHttpHelper.getInstance().post(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ loadFilePaths(OACheckUtil.getJson2Text(data, fb_attach));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
//获取Id
|
|
|
if (!StringUtils.isEmpty(caption) && caption.equals("ID")) {
|
|
|
idTag = valueKey;
|
|
|
@@ -715,6 +711,12 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * itemData.caption //处理人名称
|
|
|
+ * itemData.type //处理人编号
|
|
|
+ * itemData.valuesKey //节点名称
|
|
|
+ * temData.status//状态
|
|
|
+ * temData.values//时间点
|
|
|
+ * <p>
|
|
|
* 处理审批节点
|
|
|
* 1.先处理data数据获取数据列表
|
|
|
* 2.获取node,获取审批意见和时间
|
|
|
@@ -736,13 +738,11 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
//判断当前
|
|
|
for (Approval.Item itemData : itemDatas) {
|
|
|
- if (!StringUtils.isEmpty(itemData.values)) {
|
|
|
- if (!StringUtils.isEmpty(itemData.status) && itemData.status.contains("未通过")) {
|
|
|
- record.status = "未通过";
|
|
|
- } else if (StringUtils.isEmpty(itemData.status) || itemData.status.contains("待审批")) {
|
|
|
- record.status = "待审批";
|
|
|
- }
|
|
|
- String[] emcode = itemData.values.split(",");
|
|
|
+ if (StringUtils.isEmpty(itemData.status) || itemData.status.contains("待审批")) {
|
|
|
+ itemData.values = "";
|
|
|
+ }
|
|
|
+ if (!StringUtils.isEmpty(itemData.type)) {
|
|
|
+ String[] emcode = itemData.type.split(",");
|
|
|
if (!StringUtils.isEmpty(emcode[0])) {
|
|
|
int imId = getImByCode(emcode[0]);
|
|
|
itemData.data = String.valueOf(imId);
|
|
|
@@ -783,7 +783,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
}
|
|
|
}
|
|
|
Approval enclosureApproval = new Approval();
|
|
|
- enclosureApproval.setTitle("附件:");
|
|
|
+ enclosureApproval.setTitle("附件");
|
|
|
enclosureApproval.setItems(enclosureList);
|
|
|
enclosureApproval.setType(Approval.Type.ENCLOSURE);
|
|
|
iApproval.showEnclosureList(enclosureApproval);
|
|
|
@@ -796,7 +796,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
String name = OACheckUtil.getJson2Text(o, "jp_nodeName", "jn_name");//节点名称
|
|
|
long launchTime = OACheckUtil.getJsonTime(o, "jp_launchTime", "jn_dealTime");//时间
|
|
|
String status = OACheckUtil.getJson2Text(o, "jp_status");//状态
|
|
|
- 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 nodeDescription = OACheckUtil.getJson2Text(o, "jn_nodeDescription");//执行操作
|
|
|
for (Approval.Item itemData : itemDatas) {
|
|
|
@@ -838,9 +838,9 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
String emCode = OACheckUtil.getJson2Text(object, "JP_NODEDEALMAN");//节点处理人编号
|
|
|
String manName = OACheckUtil.getJson2Text(object, "JP_NODEDEALMANNAME");
|
|
|
Approval.Item itemData = new Approval.Item();
|
|
|
- itemData.caption = manName;
|
|
|
- itemData.type = emCode;
|
|
|
- itemData.valuesKey = nodeName;
|
|
|
+ itemData.caption = manName;//处理人名称
|
|
|
+ itemData.type = emCode;//处理人编号
|
|
|
+ itemData.valuesKey = nodeName;//节点名称
|
|
|
itemDatas.add(itemData);
|
|
|
}
|
|
|
return itemDatas;
|
|
|
@@ -862,12 +862,13 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
pointsList.add(itemData);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- Approval points = new Approval();
|
|
|
- points.setItems(pointsList);
|
|
|
- points.setType(Approval.Type.POINTS);
|
|
|
- points.setTitle(OACheckUtil.getString(R.string.approval_points) );
|
|
|
- iApproval.showPointsList(points);
|
|
|
+ if (!ListUtils.isEmpty(pointsList)) {
|
|
|
+ Approval points = new Approval();
|
|
|
+ points.setItems(pointsList);
|
|
|
+ points.setType(Approval.Type.POINTS);
|
|
|
+ points.setTitle(OACheckUtil.getString(R.string.approval_points));
|
|
|
+ iApproval.showPointsList(points);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -913,7 +914,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
for (String data : datas) {
|
|
|
if (data.contains(itemData.caption)) {
|
|
|
String values = OACheckUtil.getFirstBrackets(data);
|
|
|
- if (!StringUtils.isEmpty(values) && !values.equals("null") && !values.equals("(null)")) {
|
|
|
+ if (!StringUtils.isEmpty(values) && !values.equals("null") && !values.equals("(null)") && !values.equals("(null")) {
|
|
|
itemData.values = values;
|
|
|
}
|
|
|
}
|
|
|
@@ -994,7 +995,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
if (approval.getType() == Approval.Type.MAIN) {
|
|
|
formstore = putItem2Params(approval.getItems());
|
|
|
if (formstore == null)
|
|
|
- return false;
|
|
|
+ continue;
|
|
|
formstore.put(approval.getIdKey(), approval.getId());
|
|
|
break;
|
|
|
}
|
|
|
@@ -1011,7 +1012,7 @@ public class ApprovaPresenter implements OnHttpResultListener {
|
|
|
for (Approval approval : approvals) {
|
|
|
if (approval.getType() == Approval.Type.DETAIL) {
|
|
|
Map<String, Object> formstore = putItem2Params(approval.getItems());
|
|
|
- if (formstore == null) return false;
|
|
|
+ if (formstore == null || formstore.isEmpty()) continue;
|
|
|
formstore.put(approval.getIdKey(), approval.getId());
|
|
|
params.add(formstore);
|
|
|
}
|