这里仅讨论通过action动态创建task来实现的方式。
决定会签的方式主要是通过task-node的signal属性来决定的。
- 会签中,一个人reject,则结束会签,退回起草人;全部通过,则流到下一个node。
- 会签中,等待所有的人完成会签任务,然后根据会签人的意见(即所选的transition),来决定流程流向哪个node。
第一种情况,signal="last-wait",只要一个人拒绝,则系统需要将其他没有完成的任务完成掉,在完成时需要以拒绝的那个transition来做end,具体可以参考 http://tomkoo.iteye.com/blog/24690 ,里面有很清楚的代码及解释。
第二种情况, signal="never",这种情况正是我现在需要解决的。以前一直没有空来测试。今天看了一下signal的说面,突然来了灵感,以前也问过别人,好像也这么说的。因为使用never后,流程不会往下执行,需要通过processInstance.signal("xx")来确定流程流程哪个节点。
请看下面我的实现。
第一步一样,进入节点(node-enter)需要动态创建会签任务实例。
xml 代码
- <event type="node-enter">
- <action name="createInstance" class="com.ivo.bpm.action.DynamicCreateTaskAction">
- </action>
- </event>
java 代码
- public class DynamicCreateTaskAction extends BaseAction {
-
- private static final long serialVersionUID = 1L;
-
- public void execute(ExecutionContext executionContext) throws Exception {
- Token token = executionContext.getToken();
- TaskMgmtInstance tmi = executionContext.getTaskMgmtInstance();
- TaskNode taskNode = (TaskNode) executionContext.getNode();
- Task task = (Task)taskNode.getTasks().iterator().next();
-
- tmi.createTaskInstance(task, token).setActorId( "T0512001" );
- tmi.createTaskInstance(task, token).setActorId( "T0512002" );
- }
- }
为了方便,随便指定了两个参与者。在实际情况中,这些参与者应该是在客户端指定的。然后通过流程变量的方式传入jbpm中。
第二步是关键,在结束任务(task-end)事件中,判断用户到底选择了哪个transition,然后再判断任务有无全部结束,如果已经全部结束,则通过processInstance.signal(transition)驱动流程流程指定的node。经过测试,在task-end事件中,无法再调用signal方法,两个方法冲突,本身task-end就在signal方法中。只能在task-end完成之后,通过另外的session来驱动流程的流向。
分享到:
相关推荐
【jbpm4.3 会签的实现】 在企业级工作流管理系统中,会签...在实际项目中,结合测试(如压缩包中的"test"目录中的测试用例)和持续学习(如"sofocus"可能包含的相关文档或讨论),将进一步加深对jbpm会签机制的理解。
它要求相关部门或人员对文件进行审查并签署意见,确保文件的内容得到充分讨论和认可,避免因单方面决策导致的误解或错误。 2. **文件编号**:文件编号是文件管理的基础,用于唯一标识每个文件,方便检索和管理。...
即通过实施文件会签制度,强化对公司各车间、部门的文件管理工作,确保文件内容在涉及到其他部门职能和业务时,能够经过充分讨论和协商,从而达到共识,提高文件质量,并遵循国家法律法规、环保政策以及公司内部的...
- 各方参与:所有相关单位需出席验收会议,讨论并签署验收意见。 - 文件归档:会签表作为附件,附在分部(子分部)工程质量验收记录表后,作为工程质量档案的一部分。 4. **管理与责任**: - 监理(建设)单位在...
接下来,我们讨论加签(SignForward)。加签是在流程进行中添加新的办理人,分为前加签、后加签和并行加签。前加签新参与者位于原办理人之前,后加签在其之后,两者都是串行的;并行加签则是两者同时处理任务。加签...
专家论证会签表的出现,源自于对技术问题深入讨论和集体决策的需求。在软件开发、系统集成和网络建设等项目中,方案的制定往往涉及到众多的技术细节和业务知识。一个错误的技术决策不仅会导致项目失败,还可能带来...
由于未提供具体的子文件名,我们无法详细讨论每个文件。通常,一个基于ASP.NET的电子会签系统源码可能包含以下组件: 1. **网页文件**(.aspx):这些是用户交互的界面,可能包括登录页面、会签流程展示、用户管理等...
5. **会签意见**:会签是指相关部门或人员对文件内容进行审核并签名确认的过程,体现了企业内部的审批流程。在评标中,会签意见可能来自财务、技术、法务等部门,确保各项规定得到遵循。 6. **记录人**:负责整理...
审批结论部分表明了经过专题会议的讨论和审查,所有参会人员,包括生产经理、总工办、工程部和经营部的相关负责人,对旁站方案达成了一致意见。这表明方案已经过各相关部门的集体审议,确保了其科学性和可执行性。...
- 一般而言,“会签版”的含义是指该管理制度是经过公司内不同部门或相关负责人集体讨论、审核和签字确认的版本。这表示该制度在实行前已经得到了公司内部的广泛认同和监督,能够更加公平、合理地实施。 3. 费用...
在建筑工程领域,安全施工组织设计(方案、技术措施)是项目管理的重要...在实际操作中,应严格按照表格要求进行操作,确保每一个变更都能经过充分讨论和审批,降低因变更引发的安全事故概率,提升建筑工程的管理水平。
1. **修订标准**:修订意见应及时提交,月度考核会上讨论决定。 2. **工资发放原则**:工资发放系数控制在0.8-1.2之间,以丰补歉,节余工资可累计。 3. **办法解释权**:归办公室所有。 **二级单位工资考核分配办法...
- **发起单位**:提出会签需求的单位,可能因某个问题或决策需要多方讨论和确认。 - **项目负责人**:各参与单位的项目负责人,负责协调和执行相关工作。 - **监理单位意见**:监理单位对施工事项的评估和建议。 ...
- 根据《中华人民共和国合同法》和其他相关法律法规,结合集团实际情况制定合同管理办法。 - 所有合同都应进行会签,除非有特别规定。 - 合同需以书面形式签订,特殊情况下可例外,如金额小于5000元且能即时清结...
- 会签评审:适合讨论较少、主要为表达评审意见的情况,因地理位置原因不便召开会议。 3. **角色与职责**: - 项目组:负责编制评审材料和提出评审需求。 - 项目经理:审阅文件、确定评审时间和人员、组织形式、...
- 会签:起草部门填写《文件签发审批单》,文件会签按顺序进行,涉及相关部门、副总、总经办/人事行政部和总经理。各部门需认真对待,如有必要可提供意见和资料,会签单位和个人需在会签单上签字并标注日期。 - ...
- **部门内部会签**:部门负责人对合同草案进行审核,如有必要,会组织谈判小组进行讨论。谈判小组包括主谈人和成员,他们对合同内容进行深入研究,确保条款符合公司利益。 - **跨部门评审**:合同草案需经过工程...
作出鼓励变革的决策,提供各种资源支持,审批项目预算及监督费用支出,根据项目实施过程中的问题提出解决方法或处理建议,对可能出现的权责划分争议,提供必要的仲裁,参与业务流程、制度的讨论、会签、发布,100%...
- 项目评估报告及相关附件需由相关单位会签,反馈意见,最终由总经理核准。 - 如未通过,项目资料将存档作为参考。 4. **产品设计**: - 设计过程分为设计及审查、验证、试产、量产四个阶段,由工程主管指定...