`

二十二、如何给角色分配任务,而且拥有此角色的用户均需审批通过之后才能继续往下?

 
阅读更多

解决方法:
* 在一个node-enter事件中,我们自己来接管TaskInstance的创建过程,并给每个TaskInstance设置actorId
* 在定义流程的时候,指定create-tasks="no",告诉JBPM不要自动创建TaskInstance
* 在定义流程的时候,指定signal="last"(或不指定,因为默认就是这个取值)

 

<?xml version="1.0" encoding="UTF-8"?>

<process-definition
  xmlns="urn:jbpm.org:jpdl-3.2"  name="test12">
   <start-state name="开始">
      <transition name="" to="系统管理员审批"></transition>
   </start-state>
   <task-node name="系统管理员审批" create-tasks="no" >
         <event type="node-enter">
             <action class="com.ygtim.domain.RoleAssignmentActionHandler">
                 <roleName>系统管理员</roleName>
             </action>
         </event>

         <task name="审批"/>
      <transition name="" to="结束" ></transition>
   </task-node>
   <end-state name="结束"></end-state>
  
</process-definition>

 

 

public class RoleAssignmentActionHandler implements ActionHandler {
   
    /** Comment for <code>serialVersionUID</code> */
    private static final long    serialVersionUID    = -5348773299229669146L;
    /**
     * 由JBPM来注入
     */
    private String                roleName;
   
    @Override
    public void execute(ExecutionContext executionContext) throws Exception {
       
        List<String> actors = new ArrayList<String>();
       
        //根据roleName来得到该角色下面的所有用户
        if ("系统管理员".equals(roleName)) {
            actors.add("张三");
            actors.add("李四");
        }
        TaskMgmtInstance taskMgmtInstance = executionContext.getTaskMgmtInstance();
        //因为只定义了一个任务
        Task task = (Task) ((TaskNode) executionContext.getNode()).getTasks().iterator().next();
       
        for (String actor : actors) {
            TaskInstance ti = taskMgmtInstance.createTaskInstance(task, executionContext);
            ti.setActorId(actor);
            //注意,这些操作在事务提交的时候会自动保存
        }

    }
}

分享到:
评论

相关推荐

    SAP权限的维护与分配

    2. **分配角色给现有用户**: - 在用户界面中选择目标用户,使用事务代码`SU01`打开用户维护界面。 - 在“活页-用户”中,选择需要分配的角色,并保存更改。 #### 四、权限管理流程 1. **权限申请**: - 用户...

    ZCMS内容管理系统_功能说明文档

    它允许管理员根据用户的职责和角色分配不同的权限,如创建、编辑、删除内容等。通过权限模型,系统能够确保只有授权用户才能执行特定的操作,从而保障了内容的安全性和一致性。 #### 三、内容创建、审核与管理 **...

    2021下半年信息系统项目管理师下午真题+答案解析.pdf

    资源平滑方法通常旨在均匀分配资源,但在此情况下,若所有任务都能同时进行,该方法可能不可行,因为无法进一步减少人员。 3. 第1个月月底的PV(计划价值)、EV(挣值)和AC(实际成本)需根据任务计划表和资金计划...

    Activiti6.0教程例子下载

    可以把任务分配给指定的用户,也可以分配给指定的组,并且可以有多个,详见用户手册。 3.3. Spring配置文件 这里配置了数据源、事务管理、流程引擎及几个必要的xxxService。这里数据源使用的是dbcp。数据库信息就...

    某公司投资计划管理系统室分池模块培训材料.pptx

    同时,通过建立后评估机制,室分池确保了建设站点任务只能从资源池中选择,避免了计划外建设,并影响到分公司下一年的投资分配和审批等级。 室分池业务流程涉及多个角色,包括地市和省公司的室分方案负责人、接口人...

    客户关系管理CRM系统业务需求书.docx

    - **分配功能**:将任务或资源分配给合适的人员。 - **删除功能**:重复列出,实际应理解为“删除功能”。 #### 总结 综上所述,CRM系统的核心价值在于通过高效管理客户信息与互动记录,帮助企业更有效地维护与...

    软件项目管理课程设计报告-学生社团管理系统.doc

    2. **权限管理**:系统需根据用户身份分配不同权限,如学院管理者、社团管理者、社团成员和非社团成员的学院学生,确保每个角色只能执行与其身份相符的操作。 3. **效率优化**:为了提高效率,系统应简化操作步骤,...

    教务管理系统的用例说明

    - 如缺考、迟到、作弊等特殊状态,均需记录在案。 #### 16. 产生考试分组(ProduceTestGroup) - **前置条件**:学生考试状态已设定。 - **流程**: - 根据考场容量与学生数量,系统自动生成考试分组。 - 确保每...

    立项流程.pdf

    7. 最后,所有立项材料、项目经理责任书、任命书等相关文档均需妥善存档,以便后续的审计和追踪。 相关文件包括《项目经理责任书》和《项目经理任命书》,这两份文件是项目经理角色正式确立的法律依据,明确了项目...

    室分池培训材料_V0.pptx

    室分池模式下,立项规划、投资和站数均由省公司固化批复,而配套投资和建设站数可在一定范围内灵活调整。 室分池的业务功能涉及多个角色,包括地市室分方案负责人、各部室的接口人和经理,以及省公司的审核人等。其...

    软件测试计划-标准模板

    - 人员角色可能包括测试经理、测试分析师、测试工程师等,每个角色都有明确的职责和任务,例如: - 测试经理负责整体测试策略和计划。 - 测试分析师设计测试用例和测试方案。 - 测试工程师执行测试用例,记录和...

    项目管理-完整脑图.pdf

    - 两者均需人员实施,并受资源限制。 - 都需要计划执行和监控过程。 **5.2 不同点** - 项目是一次性创新活动,而运营是持续性工作。 - 项目完成后即结束,运营则不断追求新目标。 - 项目管理更注重目标实现,运营则...

    软件项目管理第四章项目规划

    一旦批准,该计划将成为指导项目执行的正式文件,任何改动均需遵循变更管理流程。 4.3 常见问题解答和实施建议 在实际操作中,项目估算往往是项目规划中的难点。项目估算包括工作范围、工作量、人员、进度、资源和...

    各部门工作流程.doc

    市场部和生产工程部在此过程中扮演了关键角色。 7. **投产流程**: - 产品投产流程始于市场部签订合同,由生产工程部分解合同并拟制投产计划,经审批后下达任务书。生产准备、生产、检验、产品验收报告的拟制、...

    设备(设施)检修安全通则及实施流程.docx

    3. 检修会议:检修单位领导和现场负责人需共同召开会议,讨论劳保用品、安全规程、任务分配、应急预案等,所有参与人员均需了解安全措施并签字确认。 4. 特殊作业审批:动火作业和登高作业需经过三级审批,严格按照...

    最新公共自行车系统行业财务管理制度.pdf

    流动资产管理涉及到日常运营中的资金流动,而固定资产的管理则包括添置、外借、出售、捐赠和报废等操作,均需经过董事长审批。固定资产的其他管理事项和低值易耗品的管理参照总公司物资管理规定执行,以保证资产的...

    某公司信息管理中心组织管理课件.pptx

    所有职位变动均需遵循一定的流程,确保组织稳定。 【管理模式】 公司采取分层管理,以部门为单位,由上至下的决策流程。同时,鼓励员工自我推荐担任组长或项目经理,体现了员工参与决策的企业文化。 【管理制度】 ...

    软件需求说明实例

    - **归口管理**:按照管理职能将费用管理责任分配给相关部门,如管理费用由行政部门管理,销售费用由销售部门管理等。 - **分级管理**:将费用控制责任层层分解至各个层级,确保每个层级都有相应的管理责任。 - **...

    客户验收计划消防验收规范.doc

    - **验收测试任务/优先级**:分配了各项任务的优先级,并指定了完成时间及负责人员的工作描述。 5. **附录. 本方案审批意见**:最后,开发方工程经理和客户方负责人需要在文档上签字确认,表示对验收方案的批准和...

    精品专题(2021-2022年收藏)TurboCRM7.2考试题及答案D卷.docx

    - 所有列出的对象,即订单、销售机会、收款单和报价单,均可以设置审批流。审批流的设置有助于规范企业的业务流程,确保重要决策经过适当的审查和批准。 5. **可选择联系人影响关系的对象**: - 在这些选项中,...

Global site tag (gtag.js) - Google Analytics