1
我在liferay工作並使用Kaleo Workflow。我希望在liferay中獲取當前用戶當前任務的工作流taskId?如何在liferay中獲取當前用戶當前任務的工作流taskId?
我在liferay工作並使用Kaleo Workflow。我希望在liferay中獲取當前用戶當前任務的工作流taskId?如何在liferay中獲取當前用戶當前任務的工作流taskId?
來自線程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);
}
謝謝。
對此沒有解釋,所以如果有人能提供,我也需要一些解釋。 – 2015-10-27 12:39:17
你能否詳細說明一下這個問題 – 2012-06-22 15:36:26
你想在你的liferay代碼中獲取當前任務ID?哪裏?或者是其他東西? – 2012-07-19 09:56:38