Commit 4120bb18 by 王志超

feat: 获取节点审核人

parent a9b05b95
Pipeline #87782 passed with stages
in 1 minute 53 seconds
......@@ -1515,6 +1515,35 @@ public class ChangeFlowBiz {
log.info("[getOperator] flowId:{}, nodeId:{}, e={}", flowId, nodeId, e);
}
}
// 校验节点是否匹配,避免节点已变更但approver还未更新的情况
int maxRetries = 2;
int retryCount = 0;
while (changeRecord != null && !nodeId.equals(changeRecord.getFlowNode()) && retryCount < maxRetries) {
log.warn("[getOperator] flowId:{}, nodeId:{}, flowNode:{}, 节点不匹配,等待重试,retryCount:{}",
flowId, nodeId, changeRecord.getFlowNode(), retryCount);
try {
Thread.sleep(300);
changeRecord = changeFlowService.getByFlowId(Long.valueOf(flowId));
retryCount++;
} catch (Exception e) {
log.error("[getOperator] flowId:{}, nodeId:{}, 重试异常, e={}", flowId, nodeId, e);
break;
}
}
if (changeRecord != null && !nodeId.equals(changeRecord.getFlowNode())) {
log.error("[getOperator] flowId:{}, nodeId:{}, flowNode:{}, 节点不匹配,已重试{}次,返回当前审批人",
flowId, nodeId, changeRecord.getFlowNode(), retryCount);
}
if (changeRecord == null) {
log.error("[getOperator] flowId:{}, nodeId:{}, 工单记录不存在", flowId, nodeId);
UserBaseContainerDTO userBaseContainer = new UserBaseContainerDTO();
userBaseContainer.setUserList(new ArrayList<>());
return userBaseContainer;
}
// 从approver字段获取审批人列表,反序列化JSON字符串
String approverJson = changeRecord.getApprover();
List<UserReachDTO> totalUserList = new ArrayList<>();
......
......@@ -109,6 +109,35 @@ public class ChangeSubFlowBiz {
log.info("[getOperator] subFlowId:{}, nodeId:{}, e={}", subFlowId, nodeId, e);
}
}
// 校验节点是否匹配,避免节点已变更但approver还未更新的情况
int maxRetries = 2;
int retryCount = 0;
while (changeSubFlowRecord != null && !nodeId.equals(changeSubFlowRecord.getSubFlowNode()) && retryCount < maxRetries) {
log.warn("[getOperator] subFlowId:{}, nodeId:{}, subFlowNode:{}, 节点不匹配,等待重试,retryCount:{}",
subFlowId, nodeId, changeSubFlowRecord.getSubFlowNode(), retryCount);
try {
Thread.sleep(300);
changeSubFlowRecord = changeSubFlowRecordService.getBySubFlowId(subFlowId);
retryCount++;
} catch (Exception e) {
log.error("[getOperator] subFlowId:{}, nodeId:{}, 重试异常, e={}", subFlowId, nodeId, e);
break;
}
}
if (changeSubFlowRecord != null && !nodeId.equals(changeSubFlowRecord.getSubFlowNode())) {
log.error("[getOperator] subFlowId:{}, nodeId:{}, subFlowNode:{}, 节点不匹配,已重试{}次,返回当前审批人",
subFlowId, nodeId, changeSubFlowRecord.getSubFlowNode(), retryCount);
}
if (changeSubFlowRecord == null) {
log.error("[getOperator] subFlowId:{}, nodeId:{}, 子工单记录不存在", subFlowId, nodeId);
UserBaseContainerDTO userBaseContainer = new UserBaseContainerDTO();
userBaseContainer.setUserList(new ArrayList<>());
return userBaseContainer;
}
// 从approver字段获取审批人列表,反序列化JSON字符串
String approverJson = changeSubFlowRecord.getApprover();
List<UserReachDTO> totalUserList = new ArrayList<>();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment