办理流程主要用的url
登录
http://localhost:8080/org/login/valid?password=1&account=admin
获取发起申请的列表
/bpm/my/definitionList
获取一个空表单的信息(用来发起的)
bpm/instance/getInstanceData
获取代办列表
bpm/my/todoTaskList
获取一个表单的信息(处理代办的)
bpm/task/getTaskData
在申请单内填好表单信息后,启动、同意、驳回申请,发送申请信息
/bpm/instance/doAction
{
“defId”: “418584007995817985”,
“instanceId”: “”,
“formType”: “INNER”,
“data”: {
“xs”: {
“xm”: “2323232”,
“bj”: “212”
}
},
“action”: “start”,
“nodeId”: “”
}
在表单填写的界面打开当前表单的流程图
bpm/instance/getInstanceAndChildren
获取申请历史
bpm/my/approveList
获取草稿列表
bpm/my/draftList
获取办理历史
bpm/my/approveList
具体使用流程
1用户组织
1)用户管理
这是一个新增和修改单个用户的界面
大量的用户导入可以一次性把用户数据导入agile数据库中的org_user表中
2)组织管理
把用户加入到不同层次的组织中,这在画流程的时候可以选择指定的组织。
3)角色管理
可以自定义各类角色,然后给每类角色分配限权
以上的角色管理在ui界面都只能单个角色操作,要批量操作直接在数据库导入,用户管理的数据库表一般都为org开头。
2表单管理
1)业务实体
业务实体即单张表的对象,可以手动新增,选择表名、字段等信息,也可以,从数据库中导入表结构,直接生成业务实体对象。
2)业务对象
业务对象即将单张数据表连接之后的对象,可以选择将第一步导入的业务实体根据一对一或一对多的关系连接起来,连接起来之后可以查看业务对象的json数据结构,这在之后的数据传输中都会使用这个结构
3)业务表单
业务表单即将业务实体设计为固定的表单分布格式,转成html格式,
点击生成表单即可查看生成的结果,其中富文本编辑器可以手动修改,或者可以转成HTML编辑
4)手机表单
同业务表单,此表单在流程设计时候为手机端提供。
5)表单模板
用HTML在表单模板中可以为业务表单设计可以用的表单格式
3流程管理
1)流程列表
设计流程的地方,也是整个系统的核心,
第一步是设置右边的全局表单设置,以及流程数据模型绑定,这里选择的这张表单即为贯穿全局的表单。
最左边一列是可以拖动到主画板的空间,流程从开始节点开始,在结束节点结束,中间每一个用户任务即为让指定用户对全局表单进行审核。
点击用户任务,右侧配置用户属性,设置节点表单选择在线表单,点击授权管理每个字段是否必填、是否可编辑、是否可读。选择必填列的“所有人”则指定该字段为必填,选择“无”则非必填,然后可以选择操作是否可编辑、可读,如果设定为未配置,则继承该字段的所属表来填,比如这里活动名称是未配置,则继承活动表的选择,也是必填,如果活动表也是未配置,则继承最上方的业务对象的选择。
配置好限权之后选择pc端和移动端的搜索键,选择这个表单。
然后是下面的节点人员,选择加号键添加用户类型,可以是单个用户选择的方式增加用户,或者组,用组织、岗位、角色来指定一类用户来作为这个表单的审核人。这里的审核人中有多个的话,有其中的一个审核过了就算是审核过了。
在下面是节点的按钮,按钮在第一次保存审核流程之后才会生成,可以选择哪个键有,哪个键没有。
最后的节点属性可以配置驳回之后返回哪个节点。这里说一句,在这个系统中,一切按着箭头来,同意就是顺着箭头往前进一步,拒绝就是逆着箭头往后退一步,这里配置驳回可以设置退到指定节点。
另外,新建一个流程的时候默认会跳过第一个节点,因此如果想要不跳过的话在这里把这个选项去掉
这里可以增加分支网关,分支网关会根据表单内的内容或者用户等判断条件来决定下一步的走向
这里的判断是使用groovy脚本来判断的,这里xs指的是表单中的业务对象xs表,其中的bj表示的是xs表中的bj对象,将其转换成数字之后判断,如果为true则表示此路可通,如果为false表示此路不通。
并行网关表示流程到达这里之后并行前进,但是注意在并行结束的时候要用一个并行节点来收回并行,不然一个并行的分支流程会贯穿到最后,而不会等其他分支并流。
子流程可以配合边界定时事件,为流程做一个事件限制
条件并行网关为分支网关和并行网关的结合,同时可以并行前进,也可以根据脚本判断是否前进
4个人办公
1)发起申请
发起审核流程的权限在这里设置:
在限权中的用户就可以对这个流程进行发起申请,这里点击发起申请获得可以申请的列表
Url为http://localhost:8080/bpm/my/definitionList,获取后端传过来可以申请的列表的json。
点击一个流程的启动,即可获取这个表单结构的空表单,url为
http://localhost:8080/bpm/instance/getInstanceData?defId=418584007995817985&flowKey=&instanceId=&readonly=undefined,其中defId表示这个表单结构的id,其他都为空
获取到的表单:
点击启动即可发起一轮申请流程,改表单将会发送到下一个用户任务分配的用户的代办列表中。
Url为http://localhost:8080/bpm/instance/doAction,其实在表单中的“启动”“同意”“驳回”等所有操作都是这个地址,但是发送的json不同,这里的是
{
“defId”: “418584007995817985”, //表单结构id
“instanceId”: “”, //具体表单表单编号,这里这个表单还没发起,所有没编号
“formType”: “INNER”,
“data”: { //表单数据,下面这个是学生表
“xs”: {
“xm”: “2323232”,
“bj”: “212”
}
},
“action”: “start”, //表示为启动
“nodeId”: “”
}
2)代办事项
当一个流程被发起之后,就会被加入到指定用户的代办时间中,该用户获取的代办列表:
Url为:http://localhost:8080/bpm/my/todoTaskList
“code”: “200”,
“isOk”: true,
“page”: 1,
“pageSize”: 10,
“rows”: [
{
“actExecutionId”: “418588363934138369”,
“actInstId”: “418588363934138369”,
“assigneeId”: “1”,
“assigneeNames”: “系统管理员”,
“createBy”: “1”,
“createTime”: “2020-08-07 16:45:42”,
“defId”: “418588359213711361”,
“id”: “418588902652903425”,
“instId”: “418588363919196161”,
“name”: “用户任务4”,
“nodeId”: “UserTask4”,
“parentId”: “0”,
“priority”: 50,
“status”: “NORMAL”,
“subject”: “系统管理员在2020-08-07发起驳回测试”,
“supportMobile”: 0,
“taskId”: “418588902652903425”,
“taskType”: “NORMAL”,
“typeId”: “”
},
],
“total”: 1
}
点击一个流程的办理
Url为:http://localhost:8080/bpm/task/getTaskData?taskId=418588216965201921
taskId是单个流程的编号
然后就能获取待处理的表单的json了,其中表单内容是用html编辑好的,这一部分在业务表单编辑。
处理代办的表单可以有同意、驳回、保存、转办等
Url都为http://localhost:8080/bpm/task/doAction
发送的json为
{
“defId”: “418584007995817985”,
“taskId”: “418586577472061441”,
“instanceId”: “418586515870056449”,
“formType”: “INNER”,
“data”: {
“xs”: {
“xh”: “2112121212”,
“xm”: “212”,
“bj”: “212”
}
},
“action”: “agree”,
“nodeId”: “UserTask1”,
“opinion”: “情况紧急,请尽快处理!”
}
{
“defId”: “418584007995817985”,
“taskId”: “418585789058777089”,
“instanceId”: “418585705217523713”,
“formType”: “INNER”,
“data”: {
“xs”: {
“xh”: “418585705222504449”,
“xm”: “212”,
“bj”: “212”
}
},
“action”: “reject”,
“nodeId”: “UserTask2”,
“opinion”: “情况紧急,请尽快处理!”
}
{
“defId”: “418584007995817985”,
“taskId”: “418585871218114561”,
“instanceId”: “418585705217523713”,
“formType”: “INNER”,
“data”: {
“xs”: {
“xh”: “418585705222504449”,
“xm”: “21233”,
“bj”: “212”
}
},
“action”: “save”,
“nodeId”: “UserTask1”
}
其中action为同意、驳回等选择,而且opinion为必须传入。
转办有所不同,因为要传入转发的用户对象
{
“defId”: “418584007995817985”,
“taskId”: “418585871218114561”,
“instanceId”: “418585705217523713”,
“formType”: “INNER”,
“data”: {
“xs”: {
“xh”: “418585705222504449”,
“xm”: “21233”,
“bj”: “212”
}
},
“action”: “turn”,
“nodeId”: “UserTask1”,
“nodeUsers”: {
“UserTask1”: [ //要转发的用户对象
{
“id”: “1”,
“name”: “系统管理员”,
“type”: “user”
}
]
},
“opinion”: “备注”
}
同时可以查看用户的申请历史
Url为http://localhost:8080/bpm/my/applyTaskList
和办理历史
Url为http://localhost:8080/bpm/my/approveList
Postman:
https://www.getpostman.com/collections/2752f84cc3ee069bacc4
Swagger:
http://127.0.0.1:8080/swagger-ui.html#/ (运行起来后)
官方文档:
http://www.agilebpm.cn/
官方的UI操作视频介绍:
https://www.bilibili.com/video/BV1wz411v7Xv/