# OA工作流

OA工作流:建立于网络办公自动化基础上的事务行政审批,业务申请审批、公文、信息等的网上流转。它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。
JeecgFlow (opens new window)以实际企业需求出发,做了一个OA请假工作流,一起来了解吧!

# 需求描述

我们以三国为主题,假设蜀国是一个组织机构。里面设置有将军,军师,主公三种角色。假设关羽提交一个请假申请,需要诸葛亮进行初审,刘备进行终审。

请假状态说明

待审批: 申请提交后等到上级部门审核
未批准: 上级部门进行了驳回操作,用户可以修改申请内容,重新提交
已取消: 上级取消流程,进入结束状态
已批准: 所有上级部门都同意, 流程结束

撤回,撤销,驳回操作概念说明

撤回: 任务撤回是指发起人或办理人在办理任务后,允许他在的下一个用户任务的办理人在办理任务前将任务撤回。如申请人发起流程发现提交材料有误,但此时 流程已经流转到下一个用户任务,这种情况如果通过沟通将浪费很多时间。这时就可以使用任务撤回来操作。

撤销: 发起人对运行中的流程进行操作,效果是流程恢复到发起时的状态。此时申请人可以重新提交一个任务,而流程所有执行历史则全部清除。流程撤销是一个很常见的 场景,如申请人发起流程后,流程已经流转了若干节点,而申请人发现提交材料内容存在严重错误,这时可以进行流程撤销操作。

驳回: 申请人发起流程后,流转到下一个用户任务办理人进行办理,发现提交材料出现错误,这时可以进行驳回操作。

# 设计流程图

点击节点的右侧,选择小扳手,将节点设置为用户任务(userTask)节点,并且按照下面红色方框设置节点属性。
foo
foo

foo

# 审批演示

# 关羽登陆系统

请使用关羽账号登陆系统,并且提交请假申请。 (账号密码在登陆页面左侧)。
关羽作为将军角色,我们给配置了请假相关菜单,可以在线发起流程。

foo

  • 通过发起流程按钮,提交请假申请表单 foo
  • 提交之后会看到生成流程实例,点击详情可以看到流程流转情况 foo
  • 点击预览,可以看到可视化的流程运行轨迹

# 诸葛亮登陆系统

诸葛亮我们已经绑定了军师角色,登陆之后会看到待办任务和已办任务菜单。 即可完成和查看审批情况

foo

  • 在待办任务菜单,找到用户发起的流程实例数据,并进行同意操作 foo
  • 在已办任务菜单,可以看到流程已经流转到刘备进行审批

# 刘备登陆系统

刘备我们已经绑定了主公角色,登陆之后会看到待办任务和已办任务菜单。 即可完成和查看审批情况

foo

  • 在待办任务菜单,找到用户发起的流程实例数据,并进行同意操作 foo
  • 在已办任务菜单,可以看到流程已经流转到刘备进行审批

以上演示是同意情况的操作, 您可以自己操作驳回,取消等业务操作。

# 撤回演示

任务撤回是指发起人或办理人在办理任务后,允许他在的下一个用户任务的办理人在办理任务前将任务撤回。如申请人发起流程发现提交材料有误,但此时 流程已经流转到下一个用户任务,这种情况如果通过沟通将浪费很多时间。这时就可以使用任务撤回来操作。

使用将军的角色登陆JeecgFlow (opens new window)的Activiti演示站,如关羽,张飞

foo

发起流程,填写相应的表单参数

foo

此时流程预览可以看到当前流转到军师审批节点

foo

此时,用户可以进行撤回操作

foo

点击撤回之后,预览流程运行情况如图,表示流程回到了发起节点,用户可以重新提交信息。该技术方案通过自定义Cmd实现