暂时能想到的一些思路如下,要是有高人路过,还望指点!!!
一、名词约定
* 发起人:流程的发起者。如请假流程中填写请假单并请假的人。
* 审批人:流程中需要完成审批任务的人。
* 节点:流程中任一由程序或人为控制的结构单元。
如“发起流程”节点、“部门经理审批”节点、“完成”节点、“打回调整”节点等
* 候选人: 节点中需要人为干预部分的负责人,候选人可能是发起人、审批人或其它相关人员。
* 权限组: 权限组包含一组候选人,组中的任一人、部分人或所有人都有可能成为负责人。
* 管理员: 可以控制工作流的人员(有可能是系统管理员、相关开发人员、相关业务负责人)
二、方案
1) 节点指定
定义流程时,直接在各个节点指定候选人。
如请假流程中,“部门经理审批”节点指定为“张三”,则此流程中所有部门审批均由张三完成。
--> 优点:开发快捷、结构清晰;可用于“总经理审批”等候选人单一且固定的情况。
--> 缺点:A. 缺乏灵活性。如候选人变动,需要改流程定义文件。
B. 如果系统中已有user表,仍需将候选人信息摘要copy到act_id_user表中
2) 发起人指定
流程发起人在将业务单提交审批前,手工指定此业务单需要由谁审批。
如请假流程中,发起人“张三”需要指定该申请由“李四”审批。
--> 优点:A. 后续节点的候选人直接人为指定,开发方便。
B. 存在多个部门经理时,不会存在程序难以区分深圳、济南两地各自审批的问题。
--> 缺点:A. 指定审批人时,难以控制指定的人员范围。
B. 如果误将申请提交给一个无审批权限的人,会造成申请单无法审批。
C. 操作繁杂。如果流程涉及较多审批人,需要一一指定。
D. 需要发起人熟悉整个审批流程,熟悉流程中涉及的节点与公司人员职能的关系。
3) 部门树控制
由部门树结构控制候选人。
如“张三”发起请假流程,程序可通过部门结构,查找到“张三”的部门经理,指定其为“部门经理审批”的候选人。
--> 优点:不会存在程序难以区分深圳、济南两地各自审批的问题。
--> 缺点:A. 要求部门结构清晰且相对固定
B. 流程与业务结合过于紧密,灵活性差。
C. 可能存在跨部门审批,跨层级审批的情况,程序需要逐一控制。
4) 权限组控制
为每个节点分配一个权限组,权限组中的候选人由管理员预先设定。
--> 优点:A. 灵活。部门结构变动,人员变动时不会影响。
B. 可由候选人认领任务,相对方式2),更高权利的人拥有更多决定权。
C. 可由业务人员统一指定节点候选人,比发起人指定、程序控制更具针对性。
--> 缺点:A. 每个流程部署后均需管理员预先设置权限组中的候选人流程才能正常运行。
B. 组内候选人权限等同,很难再做更细致的区分。
C. 需要启用Activiti整个权限模块,结合OA时要编写一定量的辅助性代码。
分享到:
相关推荐
这个压缩包“activiti-选择代理人候选人候选组.rar”显然是为了解决在Activiti流程设计中的一个特定问题,即如何更加便捷地选择流程参与者,包括代理人、候选人和候选组。 在传统的Activiti流程设计中,指定流程...
**OA系统与Activiti结合** 在本压缩包中,"一个完整的oa,activiti后台管理"表明该系统利用了Activiti作为其工作流引擎,来处理OA系统中的各种审批流程、任务分配和状态跟踪。通过Activiti,用户可以图形化设计流程...
**基于Activiti的OA系统详解** Activiti是一个开源的工作流引擎,它被广泛应用于构建企业级的业务流程管理系统(BPM)和办公自动化系统(OA)。在这个“基于Activiti的OA系统”项目中,我们可以看到它被巧妙地应用...
《OA-Shiro-Activiti-Poi初级版本:整合与应用详解》 在信息化办公环境中,OA(Office Automation)系统扮演着至关重要的角色,它能够有效提升企业内部的工作效率和协同能力。而Shiro、Activiti和Poi是三个在Java...
在"oa项目中的activiti流程demo"中,可能包含了不同角色(如申请人、审批人)的任务节点,以及如何通过和驳回的逻辑。 4. **服务任务与JavaDelegate** 为了实现具体的业务逻辑,Activiti支持服务任务。服务任务...
标题中提到的“Activiti入门教程-基于Activiti5工作流实战企业协同OA办公系统.pdf”意味着本教程是针对Activiti 5版本,专门介绍如何使用Activiti框架来构建一个实战的企业协同办公系统(OA)。Activiti 5版本是该...
本项目是一个基于JavaWeb的办公自动化(OA)系统,其后台技术栈采用了经典的SSH(Struts2、Spring、Hibernate)三大框架,并结合了Activiti工作流引擎,为初学者提供了很好的实践示例。下面我们将深入探讨这个项目中...
基于Activiti的OA系统课程设计 Activiti是一个流程管理系统,广泛应用于办公自动化(OA)系统中。基于Activiti的OA系统可以实现自动化的办公流程,提高工作效率,减少人工错误。 课程设计目的 本课程设计的目的是...
在“oa.rar_activiti_itcast oa activiti_审批”这个压缩包中,我们可以看到一个与 Activiti 相关的 OA(Office Automation)系统的实例,特别关注于审批流程。OA 系统是企业信息化建设中的重要组成部分,它通过自动...
activiti工作流oa项目,项目完整,包含前台和后台,是maven结构的java web项目.采用ssh(spring+Struts2+hibernate)技术开发的oa管理项目.有增删改查等基本功能,分页模板,部署工作了.完整的项目资源,采用了hibernate的...
这个名为 "Activiti_OA.rar" 的压缩包包含了使用 Activiti 实现的OA功能的全部源码,这为开发者提供了一个深入了解和学习如何运用 Activiti 开发OA系统的宝贵资源。 首先,让我们来了解一下Activiti的核心特点和...
"activiti入门实例(含源码)-完成调整请假的处理"则是具体的案例,包含了实际开发中可能遇到的问题及解决方案,源码的分析有助于深入理解Activiti5的工作原理和应用技巧。 总的来说,“基于Activiti5的办公系统”...
Spring+SpringMVC+Activiti+mysql实现OA流程,支持多个机构同时使用 1、用户登录、退出、验证码校验 2、个人信息修改、密码修改 首页展示问题发布条数、通知条数、登录人数、新增用户数、发布内部招聘信息数点击展示...
《OA系统Activiti5详解与实践》 OA(Office Automation)系统,即办公自动化系统,是一种利用信息技术,将企业内部的各类办公流程进行自动化处理的软件系统。在众多的OA系统实现框架中,Activiti5是一款广泛应用的...
基于Springboot +activiti实现的一个企业级OA管理系统(源码+数据库),项目经过测试,可完美运行!相关说明: ## 1. 库 > 1. SpringBoot Web库 > 2. Activiti 工作流库 > 3. freemarker 模板 > 4. rapid-core 扩展...
Spring结合Activiti工作流是企业级应用开发中的一个重要实践,它允许开发者在应用程序中实现复杂的业务流程自动化。本文将深入探讨这一主题,介绍如何利用Spring框架集成Activiti工作流引擎,以及如何通过源码示例...
Activiti5工作流实战企业协同OA办公系统开发教学实例。 Activiti5工作流实战企业协同OA办公系统开发教学实例。
【标题】:“activiti 整合 ssm(长城医疗OA系统)” 【正文】: activiti 是一个开源的工作流引擎,它为企业应用提供业务流程自动化(BPM)解决方案。SSM,即Spring、SpringMVC和MyBatis的组合,是Java Web开发中...
9. **故障排查与最佳实践**:分享在实际项目中可能遇到的问题及解决方案,以及在使用Activiti5时应遵循的最佳实践,以确保项目的稳定性和性能。 通过这门课程的学习,学员不仅能够掌握Activiti5的基本使用,还能...