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