Commit e2a37b73 by 王志超

feat: 工单提交使用topo平台实际的节点数据校验

parent 07cf6c34
......@@ -574,20 +574,24 @@ public class ChangeFlowBiz {
Long flowId = changeFlowSubmitReq.getFlowId();
// 查询工单有效性
ChangeRecord changeRecord = this.getFlowInfo(flowId);
// 检查工单节点
this.checkNode(changeRecord.getFlowNode(), Collections.singletonList(changeFlowSubmitReq.getCurrentNodeId()));
String uid = RequestLocalBean.getUid();
String changeCommander = changeRecord.getChangeCommander();
if (!uid.equals(changeCommander)) {
throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
}
// 获取工单详情
// 历史工单负责人建单时固定,新流程有不同的节点处理人
//String changeCommander = changeRecord.getChangeCommander();
//if (!uid.equals(changeCommander)) {
// throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
//}
// 获取工单详情(topo实际节点信息)
FlowDataDTO flowDataDTO = flowService.flowDetail(flowId.toString());
if (flowDataDTO == null) {
throw ExceptionFactory.createBiz(ResponseCode.DETAIL_FLOW_ERROR, "工单查询错误,不存在");
}
// 使用topo实际节点信息进行节点检查
String actualNodeId = flowDataDTO.getFlowMeta().getCurrNodeDataList().get(0).getNodeId();
if (!actualNodeId.equals(changeFlowSubmitReq.getCurrentNodeId())) {
throw ExceptionFactory.createBiz(ResponseCode.NODE_ERROR, "工单已流转至其他节点");
}
return checkUpdateAndSubmit(flowId, flowDataDTO, uid, changeRecord, changeRecord.getFlowNode(), changeFlowSubmitReq);
return checkUpdateAndSubmit(flowId, flowDataDTO, uid, changeRecord, actualNodeId, changeFlowSubmitReq);
}
private String checkUpdateAndSubmit(Long flowId, FlowDataDTO flowDataDTO, String uid, ChangeRecord changeRecord,
......
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