kimi
2020-05-18 c8aee7b9bfd79cfd741d7e5692520f4f51a31a86
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;
   }
}