网站内容发布审核流程(工作流和审批流的配置,算是对之前工作的总结)
优采云 发布时间: 2022-04-02 16:35网站内容发布审核流程(工作流和审批流的配置,算是对之前工作的总结)
这是我项目中使用的关于工作流和审批流程的一组配置。它相对简单。这里只写核心思想,算是对前人工作的技术总结。
以下是数据库设计;后面会根据例子来分析各个表的作用。
首先是工艺配置表:
如果需要使用工作流,必须先配置好,test_workflow_configuration需要存放流程的基本信息
test_workflow_details 需要存储流程的工作流配置,需要几个级别的审计等信息
然后是过程记录表:
该表存储过程记录。每个流程提交审核后,都会存储在此记录中。一级审查后,插入下一级记录。
最后是申请表:
此表存储申请表信息
ps:我这里省略了一些相关的设计表,只是最核心的想法。这是一个栗子
现在有一个工单请求
首先申请订单的记录要存放在test_order中,包括单据号、创建日期、创建者等信息(相关业务详情单独创建)
然后配置审核流程
这个流程的基本信息应该存放在test_workflow_configuration中
在 test_workflow_details 中设置工作流配置(附图1)
下一个过程开始
第 1 步:工单完成并提交审核
点击【提交审核】按钮时,需要在后台进行如下操作:
1.将test_order中的status改为1进行审核
2.流程记录表test_workflow_records插入工作流的第一条记录(主管审核)
test_workflow_details中的post_id是主管岗位的id,在test_workflow_records中需要主管岗位的人的id作为assignee_id(工作流接受者的id)
第二步:主管登录系统,进入审批页面。根据主管id/当前用户id(assignee_id)和(is_audit = 0)),可以显示当前主管需要审核的所有应用。
主管点击【Review】按钮,根据document_code(申请文件号)显示当前申请的所有详情,选择【Approved】/【Rejection】,并填写评论等,最后点击【Submit】 .
此时,后台需要做以下事情:
1.审核后更新流程记录 (is_audit=1)
2.根据workflow_id查询流程分为多少步(有几条记录为step),取出当前记录的flow_serialnumber,判断是否为最后一步
如果最后一步{
判断当前记录是否通过
如果通过{
编写批准的业务处理代码
}
否则{
直接更新test_order申请状态为rejected(status=3)
}
}
如果不是最后一步{
然后判断当前记录是否通过
如果没有通过{
直接更新test_order申请状态为rejected(status=3)
}
如果通过(这个栗子会离开这个案例)
{
取出flow_serialnumber,+1,查询下一个节点(经理审核)
流程记录表test_workflow_records插入工作流的第二条记录(经理审核)
}
}
插入处理同上
第3步:同第2步,当流程转到管理器时,流程继续。
附上一些截图:
图 1:工作流程配置
图 2:审计记录详细信息
转载于: