工作流就是“业务过程的部分或整体在计算机应用环境下的自动化”将一组任务组织起来以完成某个特定的过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成。实现工作流程的自动化。

 

在java领域中,JBPM和Actvity是两个主流的工作流系统

python领域中,工作流小程序使用的是workflow工作流引擎。

基于django的工作流引擎,工单(a workflow engine base on django python)

 

工作流引擎的边界:

1、必然存在自己的数据表,用来制定、存储工作流模板和实例

2、必然与操作用户关联

3、必然与用户表单关联

4、可以自定义模板,然后反复实例化(具体的每次运用)

5、模板的创建,可以图形化,可以用XML,可以用HTML本质都是把流程模板持久化

 

下面总结对workflow的理解:

工作流引擎的model主要有以下几个部分:

 

(1)Admin管理系统页面

 

(2)account账户管理

部门信息:名称,部门老大,审批人,还有创建人、时间,更新时间这些基本的信息。

角色信息:名称、描述,还有创建人、时间,更新时间这些基本的信息。

用户信息:用户名、姓名、邮箱、电话、部门id这些,还有创建人、时间,更新时间这些基本的信息。还有返回用户信息的一些基本方法。

用户角色:用户id和角色id进行绑定

 

(3)Tickets工单管理

工单状态:标题,关联的工作流id,流水号,当前状态,父工单id,状态,当前处理人类型,当前处理人,工单关联人,是否结束,是否被拒绝,全部处理的结果。还有创建人、时间,更新时间这些基本的信息。

工单流转日志:工单id,流转id,处理意见,处理人类型,处理人 ,当前状态id,工单数据。

工单自定义字段:包括自己需要添加的时间、整形、bool、字符串这些种类的数据。

完成工单表。

(4)Workflow工作流管理

工作流:名称、描述、流程图、通知、展现表单字段。还有基本的创建人、时间,更新时间这些基本的信息。

工作流的状态记录:名称、工作流id,状态顺序,状态类型id,参与者类型id,参与者,状态标签等。

工单的流转:操作,工作流id,流转类型,源状态id,目的状态id,校验必填项,弹窗提示,弹窗内容。

设置工作流中有哪些自定义字段:工作流id,类型,字段标识,字段名称,排序,默认值,描述,文本域模板。

 

工单处理逻辑:

  1. 新建工单的页面,根据选择的工单类型,后台根据“工单类型和工作流关联”表确定使用哪一个工作流。
  2. 由工作流弹出工单初始页面输入相应的信息,并根据工作流的初始状态表确定下面的按钮,例如是提交、保存、转领导这样的选项。根据源id和目的id,点击相应的按钮,来实现相应的流转。所填写的信息会写到工单表里面,状态、当前处理人也会随之改变。
  3. 根据工单内的处理人和处理人类型确定那些人有权限处理工单,处理人登录的时候会进行接单操作。
  4. 用户在进行查看工单时根据“工单查看页面表单的展现表”来确定需要显示哪些字段
  5. 处理工单的界面通过“工单处理页面表单的展现表” 来确定显示哪些字段,以及哪些字段可以在处理过程中修改之后提交或者进行补充,例如审批意见和需要提交给下一个的待定审批人。
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐