Content management system 是否在liferay中以编程方式执行工作流转换?

Content management system 是否在liferay中以编程方式执行工作流转换?,content-management-system,workflow,portlet,liferay-6,Content Management System,Workflow,Portlet,Liferay 6,在工作流的最后一步,我有两个名为“approved”和“reject”的转换,但我想从我的portlet控制工作流操作 有人知道如何在liferay中以编程方式执行工作流转换吗 我的当前代码 workflowInstance1 = WorkflowInstanceManagerUtil.signalWorkflowInstance(service.getCompanyId(), user.getUserId(), workflowInstanceId, transitio

在工作流的最后一步,我有两个名为“approved”和“reject”的转换,但我想从我的portlet控制工作流操作

有人知道如何在liferay中以编程方式执行工作流转换吗

我的当前代码

workflowInstance1 = WorkflowInstanceManagerUtil.signalWorkflowInstance(service.getCompanyId(), user.getUserId(),
            workflowInstanceId, transitionNAME, workflowInstance.getWorkflowContext());
  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);
            }
JournalArticle JournalArticle=JournalArticleLocalServiceUtil.getArticle(id);
getPermissionChecker().init(u.getUser(),true);
WorkflowInstanceLink wil=WorkflowInstanceLinkLocalServiceUtil.getWorkflowInstanceLink(公司ID,journalArticle.getGroupId(),journalArticle.class.getName(),journalArticle.getId());
WorkflowInstance WorkflowInstance=WorkflowInstanceManagerUtil.getWorkflowInstance(companyId,wil.getWorkflowInstanceId());
Map workflowContext=workflowInstance.getWorkflowContext();
列出日志类型_assign=new ArrayList();
日志类型\u分配.add(WorkflowLog.TASK\u分配);
List 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);
如果(workflowLogs_assign.size()>0){
long taskId=workflowLogs\u assign.get(workflowLogs\u assign.size()-1).getWorkflowTaskId();
WorkflowTask task=WorkflowTaskManagerUtil.getWorkflowTask(公司ID,任务ID);
_log.info(“任务:+task.getName());
WorkflowTask nextTask=WorkflowTaskManagerUtil.assignWorkflowTaskToUser(公司ID、用户ID、task.getWorkflowTaskId()、用户ID、“自动分配”、task.getDueDate()、workflowContext);
WorkflowTaskManagerUtil.completeWorkflowTask(公司ID,用户ID,nextTask.getWorkflowTaskId(),“下一个任务转换名称”,“下一个任务名称”,workflowContext);
}
我的当前代码

  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);
            }
JournalArticle JournalArticle=JournalArticleLocalServiceUtil.getArticle(id);
getPermissionChecker().init(u.getUser(),true);
WorkflowInstanceLink wil=WorkflowInstanceLinkLocalServiceUtil.getWorkflowInstanceLink(公司ID,journalArticle.getGroupId(),journalArticle.class.getName(),journalArticle.getId());
WorkflowInstance WorkflowInstance=WorkflowInstanceManagerUtil.getWorkflowInstance(companyId,wil.getWorkflowInstanceId());
Map workflowContext=workflowInstance.getWorkflowContext();
列出日志类型_assign=new ArrayList();
日志类型\u分配.add(WorkflowLog.TASK\u分配);
List 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);
如果(workflowLogs_assign.size()>0){
long taskId=workflowLogs\u assign.get(workflowLogs\u assign.size()-1).getWorkflowTaskId();
WorkflowTask task=WorkflowTaskManagerUtil.getWorkflowTask(公司ID,任务ID);
_log.info(“任务:+task.getName());
WorkflowTask nextTask=WorkflowTaskManagerUtil.assignWorkflowTaskToUser(公司ID、用户ID、task.getWorkflowTaskId()、用户ID、“自动分配”、task.getDueDate()、workflowContext);
WorkflowTaskManagerUtil.completeWorkflowTask(公司ID,用户ID,nextTask.getWorkflowTaskId(),“下一个任务转换名称”,“下一个任务名称”,workflowContext);
}

一点解释将非常有用:)一点解释将非常有用:)用户1487380在本例中如何使用工作流?您是否正在附加kaleo工作流?我喜欢用代码进行工作流转换。但我想知道你的问题是否也适用于kaleo?请看我的问题。提前谢谢你能告诉我们你是如何得到这段代码的,因为我找不到任何关于这段代码的解释或文档。谢谢。user1487380在本例中如何使用工作流?您是否正在附加kaleo工作流?我喜欢用代码进行工作流转换。但我想知道你的问题是否也适用于kaleo?请看我的问题。提前谢谢你能告诉我们你是如何得到这段代码的,因为我找不到任何关于这段代码的解释或文档。谢谢