# OA工作流
OA工作流:建立于网络办公自动化基础上的事务行政审批,业务申请审批、公文、信息等的网上流转。它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。
JeecgFlow (opens new window)以实际企业需求出发,做了一个OA请假工作流,一起来了解吧!
# 需求描述
我们以三国为主题,假设蜀国是一个组织机构。里面设置有将军,军师,主公三种角色。假设关羽提交一个请假申请,需要诸葛亮进行初审,刘备进行终审。
请假状态说明
待审批: 申请提交后等到上级部门审核
未批准: 上级部门进行了驳回操作,用户可以修改申请内容,重新提交
已取消: 上级取消流程,进入结束状态
已批准: 所有上级部门都同意, 流程结束
撤回,撤销,驳回操作概念说明
撤回: 任务撤回是指发起人或办理人在办理任务后,允许他在的下一个用户任务的办理人在办理任务前将任务撤回。如申请人发起流程发现提交材料有误,但此时 流程已经流转到下一个用户任务,这种情况如果通过沟通将浪费很多时间。这时就可以使用任务撤回来操作。
撤销: 发起人对运行中的流程进行操作,效果是流程恢复到发起时的状态。此时申请人可以重新提交一个任务,而流程所有执行历史则全部清除。流程撤销是一个很常见的 场景,如申请人发起流程后,流程已经流转了若干节点,而申请人发现提交材料内容存在严重错误,这时可以进行流程撤销操作。
驳回: 申请人发起流程后,流转到下一个用户任务办理人进行办理,发现提交材料出现错误,这时可以进行驳回操作。
# 设计流程图
点击节点的右侧,选择小扳手,将节点设置为用户任务(userTask)节点,并且按照下面红色方框设置节点属性。
# 审批演示
# 关羽登陆系统
请使用关羽账号登陆系统,并且提交请假申请。 (账号密码在登陆页面左侧)。
关羽作为将军角色,我们给配置了请假相关菜单,可以在线发起流程。
- 通过发起流程按钮,提交请假申请表单
- 提交之后会看到生成流程实例,点击详情可以看到流程流转情况
- 点击预览,可以看到可视化的流程运行轨迹
# 诸葛亮登陆系统
诸葛亮我们已经绑定了军师角色,登陆之后会看到待办任务和已办任务菜单。 即可完成和查看审批情况
- 在待办任务菜单,找到用户发起的流程实例数据,并进行同意操作
- 在已办任务菜单,可以看到流程已经流转到刘备进行审批
# 刘备登陆系统
刘备我们已经绑定了主公角色,登陆之后会看到待办任务和已办任务菜单。 即可完成和查看审批情况
- 在待办任务菜单,找到用户发起的流程实例数据,并进行同意操作
- 在已办任务菜单,可以看到流程已经流转到刘备进行审批
以上演示是同意情况的操作, 您可以自己操作驳回,取消等业务操作。
# 撤回演示
任务撤回是指发起人或办理人在办理任务后,允许他在的下一个用户任务的办理人在办理任务前将任务撤回。如申请人发起流程发现提交材料有误,但此时 流程已经流转到下一个用户任务,这种情况如果通过沟通将浪费很多时间。这时就可以使用任务撤回来操作。
使用将军的角色登陆JeecgFlow (opens new window)的Activiti演示站,如关羽,张飞
发起流程,填写相应的表单参数
此时流程预览可以看到当前流转到军师审批节点
此时,用户可以进行撤回操作
点击撤回之后,预览流程运行情况如图,表示流程回到了发起节点,用户可以重新提交信息。该技术方案通过自定义Cmd实现