工单模块分析

0. 关于工单

总的来说就是公司集中管理重要的操作的平台,需要使用各种操作前,提交申请并提交具体操作和操作内容,然后进过审批之后自动执行工单内容

1. 工单的作用:

1)流程审批作用,重要的操作需要提交工单,多层级的经过负责人过审之后才能执行

2)可以记录操作历史、操作人

3)可以对各项操作进行明确分类管控

2. 功能块

1)审批层级(审批人详情):

能有多层级审批,每个层级的负责人可以有一个或多个,只要一个过审,则此层级过审

2)总工单详情:

工单需要进行分类,工单有自己的type,然后还可以对这个type再进行汇总(汇总可以根据需求进行,类似于目录层级)

3)工单子单详情:

每个工单可以有多个子单,子单需求的字段是根据具体工单的具体需求去定义的

4)审批结果回调:

审批流程结束之后,系统进行回调通知审批的结果,可以主动请求其他的api

5)执行单:

审批通过之后的具体执行内容,执行单可以有多个,而执行单的执行方式分为:手动和自动两种

1
2
3
4
5.1)手动是指定的执行人在被通知操作之后线下执行相应要求的操作,并且根据操作的记录进行手动修改执行单的状态(开始执行则修改状态为正在执行,执行完毕则修改为成功或者失败)
5.2)自动执行则是指定其他的api进行执行,而对接的api需要给出相应格式的json,便于记录分析操作结果
5.2.1)关于执行单的执行顺序可以分为:依次执行或者同步执行,而依次执行又可以分为:依赖前面任务结果或者不依赖前面任务结果
5.3)每个执行单结束之后都能回调别的api,整个单子完毕之后也会总体回调一个api

6)通知功能:邮件或者多种方式通知

6.1)通知创建人工单已经创建

6.2)通知审批人进行工单的审批

6.3)通知创建人审批结果

6.4)通知执行单负责人进行执行或者查看执行

6.5)通知创建人工单结果

3. 创建工单的json字段设计:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
	{
// 工单的总信息,或者说是工单的头部信息
"apply_common_info": {
"username":"fengchuanling",
"title":"test_title",
"type":"test_tpye",
"description":"test_reason"
},
// 申请的子单,子单可以是多张,每张子可以定义自己特殊的字段
"apply_spec_info": [
[
{
"key":"test1-1",
"value":"..."
},
{
"key":"test1-2",
"value":"...",
}
],
[
{
"key":"test1-2",
"value":"...",
}
]
],
// 审批人信息,分多个审批等级,每个审批等级可以有一个或多个人
"approve_info": {
"time_out":7, // 存活时间,超过多长时间则默认为审批失败
"total_level":3, // 审批等级数
"approver_list": [
{
"level":1,
"level_name":"",
"approvers": [
"zhangsan",
"lisi",
"wangwu"
]
}
]
},
// 审批结束之后的回调
"result_callback":"http://xxx",
// 执行单列表
"op_info": [
{
"mode":1, // 选择手动或者自动
"op_url":"http: //xxx", // 调用自动执行的api
"operators": [ // 手动操作人,作为手动操作时的执行人,或者自动操作失败之后的重试人员
"xx",
"yy",
"zz"
],
"inform_url": "http://xx",
"alarmers": [
""
]
}
]
}
欢迎打赏!您的鼓励将支持我继续前行!