【问题标题】:How to get workflow taskId of the current task of current user in liferay?如何在liferay中获取当前用户当前任务的工作流taskId?
【发布时间】:2012-04-03 20:14:19
【问题描述】:

我在 liferay 工作并使用 Kaleo Workflow。我想在liferay中获取当前用户当前任务的工作流taskId?

【问题讨论】:

  • 你能否详细说明一下这个问题
  • 你想在你的 liferay 代码中获取当前的 taskId 吗?在哪里?还是别的什么?

标签: workflow liferay liferay-6


【解决方案1】:

来自线程here的这段代码可以帮助你获取taskID。

JournalArticle journalArticle = JournalArticleLocalServiceUtil.getArticle(id);
            getPermissionChecker().init(u.getUser(), true);
        WorkflowInstanceLink wil= WorkflowInstanceLinkLocalServiceUtil.getWorkflowInstanceLink(companyId, journalArticle.getGroupId(), JournalArticle.class.getName(), journalArticle.getId());
        WorkflowInstance workflowInstance = WorkflowInstanceManagerUtil.getWorkflowInstance(companyId, wil.getWorkflowInstanceId());
        Map<String, Serializable> workflowContext = workflowInstance.getWorkflowContext();

        List<Integer> logTypes_assign = new ArrayList<Integer>();
        logTypes_assign.add(WorkflowLog.TASK_ASSIGN);
        List<WorkflowLog> workflowLogs_assign = WorkflowLogManagerUtil.getWorkflowLogsByWorkflowInstance(companyId, wil.getWorkflowInstanceId(), logTypes_assign, QueryUtil.ALL_POS, QueryUtil.ALL_POS, WorkflowComparatorFactoryUtil.getLogCreateDateComparator(true));
        //WorkflowPermissionUtil.hasPermission(permissionChecker, groupId, className, classPK, actionId);

        if(workflowLogs_assign.size() > 0){             
            long taskId = workflowLogs_assign.get(workflowLogs_assign.size()-1).getWorkflowTaskId();
            WorkflowTask task = WorkflowTaskManagerUtil.getWorkflowTask(companyId, taskId);
            _log.info("task : "+task.getName());
            WorkflowTask nextTask = WorkflowTaskManagerUtil.assignWorkflowTaskToUser(companyId, userId, task.getWorkflowTaskId(), userId, "auto assign", task.getDueDate(), workflowContext);               
            WorkflowTaskManagerUtil.completeWorkflowTask(companyId, userId, nextTask.getWorkflowTaskId(), "next task transition name", "next task name", workflowContext);
        }

谢谢。

【讨论】:

  • 对此没有任何解释,所以如果有人可以提供,我也需要一些解释。
猜你喜欢
  • 2012-05-18
  • 1970-01-01
  • 1970-01-01
  • 2012-05-27
  • 2010-09-28
  • 2011-10-05
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多