提交
接口请求调用说明
- HTTP 请求方式:POST
- 请求地址:
http://127.0.0.1:8080/demo/horizon/workflow/rest/flow/support/action.wf
请求参数:
{
"accessToken": "",
"flowId": "flowsupport",
"workId": "HZ2886865bf17466015bf1871de1004b",
"trackId": "HZ2886865bf17466015bf1872089004c",
"subjection": "D_HZ28821856ef63420156ef63429c0000",
"authorKey": "Author",
"comment": "",
"nodeId": "Node1",
"title": "",
"actionData": {
"operate": "submit",
"operateFlag": 0,
"operateClazz": "com.horizon.wf.action.ActionSubmit",
"flowVars": {
"field1": "123"
},
"nextNodes": [
{
"nodeKey": "Line2",
"selectId": "Line2~Node2",
"selectName": "新路由2(任务2)",
"isSelect": "true",
"isDone": "false",
"nodeGroup": "",
"isShowTabs": null,
"timeLimit": "0",
"timeLimitType": "0",
"nodeStatus": "4",
"authors": {
"SecondAuthor": {
"authorId": "SecondAuthor",
"authorName": "协办",
"selectType": "checkbox",
"isFree": "true",
"isUser": "false",
"isDefUser": "false",
"isSelect": "true",
"selectAuthor": null,
"selectAuthorName": null,
"required": null,
"initAuthor": null
},
"Reader": {
"authorId": "Reader",
"authorName": "读者",
"selectType": "checkbox",
"isFree": "true",
"isUser": "false",
"isDefUser": "false",
"isSelect": "true",
"selectAuthor": null,
"selectAuthorName": null,
"required": null,
"initAuthor": null
},
"Author": {
"authorId": "Author",
"authorName": "主办",
"selectType": "radio",
"isFree": "true",
"isUser": "false",
"isDefUser": "false",
"isSelect": "false",
"selectAuthor": "U_admin/D_HZ28821856ef63420156ef63429c0000",
"selectAuthorName": "管理员(慧正通软)",
"required": null,
"initAuthor": null
}
},
"nodeId": "Node2",
"nodeName": "任务2",
"trackId": null
}
]
}
}| 参数 | 是否必须 | 描述 |
|---|---|---|
| accessToken | 是 | 调用接口凭证,唯一用户标识 |
| flowId | 否 | 流程id |
| workId | 是 | 流程实例id |
| trackId | 是 | 流程路径 id,open接口返回flowNode.trackId什么传递什么 |
| subjection | 否 | 提交人所属的组织机构id(如部门id、群组id、岗位id等),格式为D_xxxid、G_xxxxid、P_xxxxid,open接口subjectionId返回什么传递什么 |
| authorKey | 否 | 提交人身份标识 |
| comment | 否 | 意见 |
| nodeId | 否 | 节点id |
| title | 否 | 标题 |
| actionData | 是 | 流程操作json数据对象 |
actionData 数据参数:
| 参数 | 是否必须 | 描述 |
|---|---|---|
| operate | 是 | 操作提交标识,固定值submit |
| operateFlag | 是 | 操作标记 -1:显示关闭,0、1正常提交 |
| operateClazz | 是 | 操作提交操作类路径,固定值com.horizon.wf.action.ActionSubmit |
| flowVars | 否 | 流程变量赋值使用,flowVars为map,支持传多个,key变量名,value为变量值 |
| nextNodes | 否 | 需要选择的节点列表(如果已经设置好路由及办理人信息,可以不填) |
nextNodes 参数说明:
| 参数 | 是否必须 | 描述 |
|---|---|---|
| nodeKey | 是 | 节点主键 |
| selectId | 是 | 需要选择的节点id |
| selectName | 否 | 需要选择的节点名称 |
| isSelect | 是 | 是否已选择 |
| isDone | 否 | 是否已经走过 |
| nodeGroup | 否 | 节点分组,单节点时无值 |
| isShowTabs | 否 | 是否显示办理人页签 |
| timeLimit | 否 | 节点办理时限 |
| timeLimitType | 否 | 办理时限类型:0(自然日)、1(工作日) |
| nodeStatus | 否 | 节点状态 |
| authors | 是 | 下一节点办理人对象 |
| nodeId | 是 | 节点id |
| nodeName | 否 | 节点名称 |
authors 中 Author/SecondAuthor/Reader 对象参数说明:
| 参数 | 是否必须 | 描述 |
|---|---|---|
| authorId | 否 | 办理人类型id:Author(主办)、SecondAuthor(协办)、Reader(读者) |
| authorName | 否 | 办理人名称 |
| selectType | 否 | 人员选择类型:radio(单选)、checkbox(多选) |
| isFree | 否 | 是否自由选择 |
| isUser | 否 | 是否只允许选择人员 |
| isDefUser | 否 | 流程定义列表中选择 |
| isSelect | 否 | 是否允许选择办理人 |
| selectAuthor | 是 | 节点已选择办理人 |
| selectAuthorName | 是 | 节点已选择办理人名称 |
| required | 否 | 办理人必填标识 |
| initAuthor | 否 | 节点初始化办理人id |
返回结果示例:
{
"operate": "submit",
"operateClazz": "com.horizon.wf.action.ActionSubmit",
"operateText": "提交",
"operateFlag": "0",
"operateMsg": "提交成功",
"reOpen": "false",
"workId": "HZ2886865c0ec540015c0fb3103700da",
"trackId": "HZ2886865c0ec540015c0fb3103800db",
"nodeId": "Node1",
"nodeName": "任务1",
"subjection": "",
"authorKey": "Author",
"operateStatus": "success",
"alert": "",
"messageType": "",
"nextNodes": [],
"subFlows": ""
}结果参数说明:
| 参数 | 类型 | 描述 |
|---|---|---|
| operate | String | 提交操作标识 |
| operateClazz | String | 提交操作类路径 |
| operateText | String | 操作显示名称 |
| operateFlag | String | 操作标记 -1:显示关闭,0、1正常提交 |
| operateMsg | String | 返回操作信息 |
| reOpen | String | 是否重新打开,可忽略 |
| workId | String | 流程实例id |
| trackId | String | 流程实例路径id |
| nodeId | String | 当前节点id |
| nodeName | String | 当前节点name |
| subjection | String | 提交人身份标识 |
| authorKey | String | 参与者id |
| operateStatus | String | 流程操作结果 |
| alert | String | 是否弹出操作成功信息,可忽略 |
| messageType | String | 消息发送类型 |
| nextNodes | List | 需要选择的节点列表 |
| subFlows | List | 子流程列表 |
返回多节点-怎么判断节点默认选中/单选/多选
nextNodes参数说明:当返回多节点时,多个节点可能存在默认选中的/单选的/多选的,如何判断每个节点展示时,是默认选中/多选/单选
1)前端通过列表方式展示所有返回节点
2)通过每个节点信息中的 isSelect 的值,判断是否默认选中
2.1)当 isSelect=true 时,表示默认已选中,且不能取消
2.1)当 isSelect=false 时,表示可以自由选择
3)当 isSelect=false 时(自由选择),根据 nodeGroup 的值确认节点是单选/多选
3.1)当 nodeGroup 有值,表示单选节点;nodeGroup相同的为同一个组,可以根据业务判断同一个组下是不是必须选择一个节点;
3.2)当 nodeGroup 无值,表示多选节点
返回选择办理人时,如何判断各个节点是否需要选择办理人,以及选择办理人的方式
1)判断节点是否包含主办,authors.Author 是否存在
1.1)当按钮是发送阅知,或者提交到结束时,authors 只包含 Reader
1.2)当按钮是增加协办,authors 只包含 SecondAuthor
2)当 authors.Author.isSelect=false 时,前端显示 authors.Author.selectAuthorName 值
3)当 authors.Author.isSelect=true 时,标识需要选择办理人,办理人的设置方式见下
3.1)从设置列表中选择,当 authors.Author.initAuthor 有值,且 authors.Author.isDefUser=true 时,标识需要从 initAuthor 中选择
3.1.1)authors.Author.selectAuthor有值,标识可以默认选中,但是也允许从 initAuthor 里选择
3.2)自由选择,当 authors.Author.isFree=true 时,标识,可以自由选择办理人,可以打开业务系统的组织机构选择框,选择办理人
3.3)从设置列表中选择和自由选择可以同时存在,业务系统可根据业务需求判断是否同时支持
