From 5d15287b2a06f978485ac6af71e33e1a82b43a65 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 15 四月 2020 16:29:55 +0800 Subject: [PATCH] fix 上传后生成版本连接池用完不释放问题 --- src/main/java/com/highdatas/mdm/service/act/impl/TaskServiceImpl.java | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/act/impl/TaskServiceImpl.java b/src/main/java/com/highdatas/mdm/service/act/impl/TaskServiceImpl.java index 8f38093..8037cfd 100644 --- a/src/main/java/com/highdatas/mdm/service/act/impl/TaskServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/act/impl/TaskServiceImpl.java @@ -44,10 +44,14 @@ } public String claimTask(String workflowId) { Task task = getTask(workflowId); - + if (task == null) { + return null; + } TUser onlineUser = getOnlineUser(); //resultPool = serviceCaller.getResultPool(); - + if (onlineUser == null) { + return null; + } try { taskService.claim(task.getId(), onlineUser.getUserId()); //resultPool.setMessage("Task is claimed"); @@ -119,7 +123,6 @@ @Override public NextTaskUserInfo getNestTaskAssignee(String workflowId) { - //TODO 闇�淇敼 NextTaskUserInfo nextTaskUserInfo = new NextTaskUserInfo(); Task nextTask = geTask(workflowId); if (nextTask == null) { @@ -127,10 +130,10 @@ } String nextTaskAssignee = nextTask.getAssignee(); if (!StringUtils.isEmpty(nextTaskAssignee)) { - nextTaskUserInfo.setUserId(nextTaskAssignee); - nextTaskUserInfo.setRoleId("R001"); + nextTaskUserInfo.addOneUser(nextTaskAssignee); return nextTaskUserInfo; } + String processDefinitionId=nextTask.getProcessDefinitionId(); // 鑾峰彇娴佺▼瀹氫箟id ProcessDefinitionEntity processDefinitionEntity= (ProcessDefinitionEntity) repositoryService.getProcessDefinition(processDefinitionId); @@ -139,9 +142,14 @@ TaskDefinition taskDef = (TaskDefinition)activityImpl.getProperties().get("taskDefinition"); Set<Expression> userCodes = taskDef.getCandidateUserIdExpressions();//鍊欓�変汉 Set<Expression> roleCodes = taskDef.getCandidateGroupIdExpressions();//鍊欓�夌粍 - if (roleCodes.size() != 0) { - String roleId = roleCodes.stream().map(expression -> expression.getExpressionText()).findFirst().get(); - nextTaskUserInfo.setRoleId(roleId); + if (userCodes != null) { + Set<String> userList = userCodes.stream().map(expression -> expression.getExpressionText()).collect(Collectors.toSet()); + nextTaskUserInfo.addUserList(userList); + } + + if (roleCodes != null) { + Set<String> roleList = roleCodes.stream().map(expression -> expression.getExpressionText()).collect(Collectors.toSet()); + nextTaskUserInfo.addRoleList(roleList); } return nextTaskUserInfo; } -- Gitblit v1.8.0