- 浏览: 11581 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
请不要骂我,我在别人的基础上改的,但是可以跑通的。
创建子流程:
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.TaskService;
import org.jbpm.api.activity.ActivityExecution;
import org.jbpm.api.activity.ExternalActivityBehaviour;
import org.jbpm.api.model.Activity;
import org.jbpm.api.model.Transition;
import org.jbpm.api.task.Task;
import org.jbpm.pvm.internal.env.EnvironmentImpl;
import org.jbpm.pvm.internal.history.HistoryEvent;
import org.jbpm.pvm.internal.history.events.TaskActivityStart;
import org.jbpm.pvm.internal.model.ExecutionImpl;
import org.jbpm.pvm.internal.session.DbSession;
import org.jbpm.pvm.internal.task.TaskImpl;
/**
* @author zr
*
*/
public class Custom implements ExternalActivityBehaviour {
private static final long serialVersionUID = 1L;
public void execute(ActivityExecution activityExecution) throws Exception {
ExecutionImpl executionimpl = (ExecutionImpl) activityExecution;
executionimpl.setVariable("finalResult", true) ;
DbSession dbsession = EnvironmentImpl.getFromCurrent(DbSession.class);
TaskImpl taskimpl = dbsession.createTask();
taskimpl.setName("customTem");
taskimpl.setExecution(executionimpl);
taskimpl.setProcessInstance(executionimpl.getProcessInstance());
taskimpl.setSignalling(false);
taskimpl.setExecutionDbid(executionimpl.getDbid());
dbsession.save(taskimpl);
HistoryEvent.fire(new TaskActivityStart(taskimpl), executionimpl);
// 子任务
TaskImpl subtaskimpl1 = taskimpl.createSubTask();
subtaskimpl1.setName("huigao1");
subtaskimpl1.setAssignee("huigao1");
subtaskimpl1.setSignalling(false);
subtaskimpl1.setExecutionDbid(executionimpl.getDbid());
dbsession.save(subtaskimpl1);
HistoryEvent.fire(new TaskActivityStart(subtaskimpl1), executionimpl);
TaskImpl subtaskimpl2 = taskimpl.createSubTask();
subtaskimpl2.setName("huigao2");
subtaskimpl2.setAssignee("huigao2");
subtaskimpl2.setExecutionDbid(executionimpl.getDbid());
subtaskimpl2.setSignalling(false);
dbsession.save(subtaskimpl2);
HistoryEvent.fire(new TaskActivityStart(subtaskimpl2), executionimpl);
// 流程等待
executionimpl.waitForSignal();
}
创建子流程:
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.TaskService;
import org.jbpm.api.activity.ActivityExecution;
import org.jbpm.api.activity.ExternalActivityBehaviour;
import org.jbpm.api.model.Activity;
import org.jbpm.api.model.Transition;
import org.jbpm.api.task.Task;
import org.jbpm.pvm.internal.env.EnvironmentImpl;
import org.jbpm.pvm.internal.history.HistoryEvent;
import org.jbpm.pvm.internal.history.events.TaskActivityStart;
import org.jbpm.pvm.internal.model.ExecutionImpl;
import org.jbpm.pvm.internal.session.DbSession;
import org.jbpm.pvm.internal.task.TaskImpl;
/**
* @author zr
*
*/
public class Custom implements ExternalActivityBehaviour {
private static final long serialVersionUID = 1L;
public void execute(ActivityExecution activityExecution) throws Exception {
ExecutionImpl executionimpl = (ExecutionImpl) activityExecution;
executionimpl.setVariable("finalResult", true) ;
DbSession dbsession = EnvironmentImpl.getFromCurrent(DbSession.class);
TaskImpl taskimpl = dbsession.createTask();
taskimpl.setName("customTem");
taskimpl.setExecution(executionimpl);
taskimpl.setProcessInstance(executionimpl.getProcessInstance());
taskimpl.setSignalling(false);
taskimpl.setExecutionDbid(executionimpl.getDbid());
dbsession.save(taskimpl);
HistoryEvent.fire(new TaskActivityStart(taskimpl), executionimpl);
// 子任务
TaskImpl subtaskimpl1 = taskimpl.createSubTask();
subtaskimpl1.setName("huigao1");
subtaskimpl1.setAssignee("huigao1");
subtaskimpl1.setSignalling(false);
subtaskimpl1.setExecutionDbid(executionimpl.getDbid());
dbsession.save(subtaskimpl1);
HistoryEvent.fire(new TaskActivityStart(subtaskimpl1), executionimpl);
TaskImpl subtaskimpl2 = taskimpl.createSubTask();
subtaskimpl2.setName("huigao2");
subtaskimpl2.setAssignee("huigao2");
subtaskimpl2.setExecutionDbid(executionimpl.getDbid());
subtaskimpl2.setSignalling(false);
dbsession.save(subtaskimpl2);
HistoryEvent.fire(new TaskActivityStart(subtaskimpl2), executionimpl);
// 流程等待
executionimpl.waitForSignal();
}
发表评论
-
动态驳回
2012-04-06 11:08 0根据别人的改的: ProcessEngine processE ... -
jbpm4 下一步3
2012-03-28 16:02 0public List<?> getTransit ... -
jbpm4 下一步2
2012-03-28 16:01 0改别人的: public List<?> get ... -
jbpm4 下一步信息
2012-03-28 16:00 0改别人的: public List<?> getA ... -
jbpm4 根据任务得到下一步处理信息
2012-03-28 15:58 0在别人地基础上改的: public List<?> ... -
自己改别人的会签-4.2
2012-03-29 09:04 602请不要骂我,我在别人的基础上改的,但是可以跑通的。 count ... -
自己改别人的会签-4.1
2012-03-28 09:37 705请不要骂我,我在别人的基础上改的,但是可以跑通的。 count ... -
自己改别人的会签-3.3
2012-03-28 09:35 609请不要骂我,我在别人的基础上改的,但是可以跑通的。 servl ... -
自己改别人的会签-3.2
2012-03-28 09:34 817请不要骂我,我在别人的基础上改的,但是可以跑通的。 servl ... -
自己改别人的会签-3.1
2012-03-28 09:33 630请不要骂我,我在别人的基础上改的,但是可以跑通的。 servl ... -
自己改别人的会签-2.2
2012-03-28 09:23 709请不要骂我,我在别人的基础上改的,但是可以跑通的。 完成子任 ... -
自己改别人的会签-1
2012-03-27 19:20 858请不要骂我,我在别人的基础上改的,但是可以跑通的。 流程图: ... -
会签-地址
2012-03-27 15:20 692http://whichway.iteye.com/blog/ ... -
flex3 教程
2012-03-27 09:02 859flex中文帮助.rar 《Flex企业应用开发实战》迷你书. ...
相关推荐
《项目质量计划会签-审批表》是项目管理中一项重要的文档,主要用于确保项目的质量计划在执行前得到了充分的审查和认可。这份表格是品质管理中的一个关键工具,旨在提高项目执行过程中的质量和效率,避免因质量问题...
1. **会签(Parallel Multi-instance)**: 在 Activiti 流程设计中,会签任务允许多个参与者同时处理同一个任务。这通常通过 BPMN 2.0 的并行多实例(Parallel Multi-instance)概念来实现,用以模拟工作流中的...
参与者可以在Activiti的工作流引擎提供的任务列表中看到并处理自己的任务。每个参与者完成任务后,任务状态会在数据库中更新,直到所有参与者都完成,流程会自动进入下一个环节。 至于抽象类与抽象接口,它们都是...
【标题】"Activiti多实例任务实现会签"是指在Activiti工作流引擎中,如何配置和使用多实例任务来实现会签功能。在企业级应用中,会签常常用于决策过程,要求多个参与者共同审批,只有当所有参与者都完成审批后,流程...
本篇文档将深入探讨BPM会签的开发实施,以帮助开发者理解并创建自己的会签流程。 首先,我们要明白BPM的核心是流程自动化和优化,它通过定义、执行和监控业务流程来提高组织效率。会签功能则是其中的关键组成部分,...
在用activiti的时候经常遇到取会签人员的问题,这个文档解决怎么获取会签人员。
【专题讲解】工作流引擎会签,加签,主持人,组长模式专题讲解 工作流引擎在企业管理和自动化流程中扮演着重要角色,ccflow作为一款开源工作流引擎,提供了丰富的功能,包括会签、加签、主持人和组长模式等,以适应...
【jbpm4.3 会签的实现】 在企业级工作流管理系统中,会签(Concurrence Signature)是一种常见的审批流程模式,它允许多个审批人同时参与同一个任务的处理,只有当所有指定的审批人都完成他们的操作后,任务才会被...
《会签记录表》是企业内部管理中一种重要的文档,主要用于跟踪和记录文件的更改过程,确保文件的修订和更新经过多部门的审查与同意,从而保证文件内容的准确性和合规性。以下是对该知识点的详细说明: 1. **会签...
【会签系统 ASP.NET 源码详解】 ASP.NET 是微软公司推出的一种基于 .NET Framework 的Web应用程序开发框架,它提供了丰富的服务器控件、事件驱动模型以及内置的编译和调试支持,使得开发者能够快速构建功能强大的...
【会签功能详解】 会签,作为一种协同决策的机制,是指多个参与者对同一项事务进行共同审查和签署,以达成共识。在工作流系统中,会签被广泛应用于需要多人参与决策的流程环节,比如审批、审核等。在这个过程中,多...
**JBPM4.4会签实例详解** JBPM(Java Business Process Management)是一个开源的工作流管理系统,用于管理和执行业务流程。在JBPM4.4版本中,它提供了一个强大的平台来设计、部署和执行复杂的业务流程,其中包括了...
本文将深入探讨如何在OSWorkflow中实现动态会签功能,这是一种在多个参与者之间灵活分配任务的关键特性。 OSWorkflow是由OpenSymphony团队开发的,它提供了一个基于Java的API,使得开发者可以轻松地在应用中集成...
**jbPM4.4 会签与加签减签功能详解** jbPM(jBoss Business Process Management)是一款开源的工作流管理系统,它允许开发者设计、执行和优化业务流程。在jbPM4.4版本中,会签功能是企业级流程管理中的重要特性,...
标题“多实例会签”指的是在业务流程中,一个任务需要多个参与者进行签署,每个签署者完成自己的部分后,整体任务才能继续推进。这在企业级应用中非常常见,如合同审批、请假申请等流程,通常涉及多个部门或角色的...
在实现会签时,我们可以创建一个custom节点,然后在其中编写Java代码或者使用脚本来处理会签逻辑,包括分配任务给审批人、处理审批结果以及根据需要进行加签或减签操作。 加签功能是在流程运行过程中,根据业务需求...
在会签场景中,每个参与者可能都有自己的书签,当他们完成任务后,流程可以恢复到对应的书签位置。 3. **多书签的创建与管理**:WF4.0允许在一个工作流实例中同时存在多个书签。在代码中,我们可以通过`...
专家论证会签.xlsx