From c8aee7b9bfd79cfd741d7e5692520f4f51a31a86 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期一, 18 五月 2020 18:30:01 +0800
Subject: [PATCH] bak  修改 获取版本数据前

---
 src/main/java/com/highdatas/mdm/service/act/impl/TaskServiceImpl.java |   38 ++++++++++++++++++++++++--------------
 1 files changed, 24 insertions(+), 14 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 8037cfd..87b6d3b 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
@@ -2,6 +2,7 @@
 
 import com.highdatas.mdm.entity.TUser;
 import com.highdatas.mdm.pojo.NextTaskUserInfo;
+import com.highdatas.mdm.util.DbUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.activiti.engine.*;
 import org.activiti.engine.delegate.Expression;
@@ -64,13 +65,10 @@
 	}
 
 	
-	public boolean completeTask(String taskId, boolean pass, String reason, Map<String,Object> other) {
+	public boolean completeTask(String taskId, Object pass, String reason, Map<String,Object> other) {
 		Map<String, Object> variables = new LinkedHashMap<String, Object>();
 		if(other != null){
-			Set<String> keySet = other.keySet();
-			for (String key : keySet) {
-				variables.put(key, other.get(key));
-			}
+			variables.putAll(other);
 		}
 		variables.put("pass", pass);
 		variables.put("reason", reason);
@@ -87,10 +85,10 @@
 		}
 	}	
 	
-	public boolean completeTask(String taskId, boolean pass, String reason) {
+	public boolean completeTask(String taskId, Object pass, String reason) {
 		return completeTask(taskId,pass,reason,null);
-	}	
-	
+	}
+
 	public List<String> getTodoTask()  {
         TUser onlineUser = getOnlineUser();
         Set<String> result = new HashSet<>();
@@ -142,16 +140,28 @@
 		TaskDefinition taskDef = (TaskDefinition)activityImpl.getProperties().get("taskDefinition");
 		Set<Expression> userCodes = taskDef.getCandidateUserIdExpressions();//鍊欓�変汉
 		Set<Expression> roleCodes = taskDef.getCandidateGroupIdExpressions();//鍊欓�夌粍
-		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;
+		Set<String> userList = new HashSet<>();
+		if (userCodes != null) {
+			Set userSet = userCodes.stream().map(expression -> expression.getExpressionText()).collect(Collectors.toSet());
+			userList.addAll(userSet);
+		}
+        List<String> roleIdList = nextTaskUserInfo.getRoleIdList();
+		if (roleIdList == null || roleIdList.isEmpty()) {
+		    nextTaskUserInfo.addUserList(userList);
+            return nextTaskUserInfo;
+        }
+        for (String roleId : roleIdList) {
+            Set<String> userByRole = DbUtils.getUserByRole(roleId);
+            userList.addAll(userByRole);
+        }
+        nextTaskUserInfo.addUserList(userList);
+        return nextTaskUserInfo;
+
+
 	}
 
 }

--
Gitblit v1.8.0