|
@@ -109,23 +109,17 @@ public class FlowProcessServiceImpl implements FlowProcessService {
|
|
|
|
|
|
// 如果下一节点不为结束节点,赋值下一个节点处理用户id
|
|
|
if (!NodeTypeEnum.END.equals(nextNodeType)) {
|
|
|
- // 前端没有传下一节点处理人id
|
|
|
- if (dto.getHandleUserId() == null) {
|
|
|
- FlowResult handleUser = getHandleUser(nextUserNode);
|
|
|
- // 如果下一节点处理用户只有1人,赋值用户id
|
|
|
- if (handleUser.getSuccess()) {
|
|
|
- flowExample.setHandleUserId(handleUser.getUserId());
|
|
|
- }
|
|
|
- // 如果下一节点处理用户有多人,则返回用户列表让用户选择下一节点处理人id
|
|
|
- else {
|
|
|
- return handleUser;
|
|
|
- }
|
|
|
+
|
|
|
+ FlowResult handleUser = getHandleUser(nextUserNode, dto.getHandleUserId());
|
|
|
+ // 如果下一节点处理用户只有1人,赋值用户id
|
|
|
+ if (handleUser.getSuccess()) {
|
|
|
+ flowExample.setHandleUserId(handleUser.getUserId());
|
|
|
}
|
|
|
- // 前端传下一节点处理人id
|
|
|
+ // 如果下一节点处理用户有多人,则返回用户列表让用户选择下一节点处理人id
|
|
|
else {
|
|
|
- // 传入用户id
|
|
|
- flowExample.setHandleUserId(dto.getHandleUserId());
|
|
|
+ return handleUser;
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
// 执行开始流程方法
|
|
@@ -255,22 +249,15 @@ public class FlowProcessServiceImpl implements FlowProcessService {
|
|
|
flowExample.setStatus(FlowStatusEnum.HAVE_PASSED.getKey());
|
|
|
} else {
|
|
|
|
|
|
- // 前端没有传下一节点处理人id
|
|
|
- if (dto.getHandleUserId() == null) {
|
|
|
- FlowResult handleUser = getHandleUser(nextUserNode);
|
|
|
- // 如果下一节点处理用户只有1人,赋值用户id
|
|
|
- if (handleUser.getSuccess()) {
|
|
|
- flowExample.setHandleUserId(handleUser.getUserId());
|
|
|
- }
|
|
|
- // 如果下一节点处理用户有多人,则返回用户列表让用户选择下一节点处理人id
|
|
|
- else {
|
|
|
- return handleUser;
|
|
|
- }
|
|
|
+ FlowResult handleUser = getHandleUser(nextUserNode, dto.getHandleUserId());
|
|
|
+
|
|
|
+ // 如果下一节点处理用户只有1人,赋值用户id
|
|
|
+ if (handleUser.getSuccess()) {
|
|
|
+ flowExample.setHandleUserId(handleUser.getUserId());
|
|
|
}
|
|
|
- // 前端传下一节点处理人id
|
|
|
+ // 如果下一节点处理用户有多人,则返回用户列表让用户选择下一节点处理人id
|
|
|
else {
|
|
|
- // 传入用户id
|
|
|
- flowExample.setHandleUserId(dto.getHandleUserId());
|
|
|
+ return handleUser;
|
|
|
}
|
|
|
|
|
|
// 流程进行中
|
|
@@ -464,9 +451,15 @@ public class FlowProcessServiceImpl implements FlowProcessService {
|
|
|
* @param node 处理节点
|
|
|
* @return 处理用户
|
|
|
*/
|
|
|
- private FlowResult getHandleUser(FlowDefinitionNode node) {
|
|
|
+ private FlowResult getHandleUser(FlowDefinitionNode node, Long handleUserId) {
|
|
|
FlowResult flowResult = new FlowResult();
|
|
|
|
|
|
+ if (handleUserId != null) {
|
|
|
+ flowResult.setSuccess(true);
|
|
|
+ flowResult.setUserId(handleUserId);
|
|
|
+ return flowResult;
|
|
|
+ }
|
|
|
+
|
|
|
Integer handleObjectType = node.getHandleObjectType();
|
|
|
Long handleObjectId = node.getHandleObjectId();
|
|
|
|