|
|
|
@ -1473,21 +1473,29 @@ public class ChangeManagementServiceImpl extends ServiceImpl<ChangeManagementMap |
|
|
|
// 全部流转信息 |
|
|
|
List<Map<String, Object>> res = JSON.parseObject(String.valueOf(getRequestOperatorInfoResponses.getObj()), new TypeReference<List<Map<String, Object>>>(){}); |
|
|
|
|
|
|
|
// 如果节点isRemark=6,需要再次调用流程流转信息 |
|
|
|
// 如果节点isRemark=6,需要再次调用流程流转信息,总时间控制在30秒内 |
|
|
|
long startTime = System.currentTimeMillis(); |
|
|
|
long maxWaitTime = 30000; // 最大等待30秒 |
|
|
|
List<Map<String, Object>> irs = res.stream().filter(a -> convertToInt(a.get("isremark")) == 6).collect(Collectors.toList()); |
|
|
|
if (!irs.isEmpty()) { |
|
|
|
while (!irs.isEmpty() && (System.currentTimeMillis() - startTime) < maxWaitTime) { |
|
|
|
try { |
|
|
|
// 等待2秒 |
|
|
|
Thread.sleep(2000); |
|
|
|
// 等待3秒 |
|
|
|
Thread.sleep(3000); |
|
|
|
} catch (InterruptedException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
// 检查是否超时 |
|
|
|
if ((System.currentTimeMillis() - startTime) >= maxWaitTime) { |
|
|
|
break; |
|
|
|
} |
|
|
|
getRequestOperatorInfoResponses = HttpClientUtil.doPostByRawWithOA(getRequestOperatorInfoURL, requestOperatorInfoParam); |
|
|
|
if (!"0".equals(getRequestOperatorInfoResponses.getCode())) { |
|
|
|
throw new RuntimeException("OA获取流程流转信息异常信息:" + getRequestOperatorInfoResponses.getMsg()); |
|
|
|
} |
|
|
|
// 得到全部流转信息 |
|
|
|
res = JSON.parseObject(String.valueOf(getRequestOperatorInfoResponses.getObj()), new TypeReference<List<Map<String, Object>>>(){}); |
|
|
|
// 重新检查是否还有isRemark=6的记录 |
|
|
|
irs = res.stream().filter(a -> convertToInt(a.get("isremark")) == 6).collect(Collectors.toList()); |
|
|
|
} |
|
|
|
// isRemark 为0的流转信息 |
|
|
|
List<Map<String, Object>> isRemarks = res.stream().filter(a -> convertToInt(a.get("isremark")) == 0).collect(Collectors.toList()); |
|
|
|
|