Query Process Instance By View¶
通过流程视图查询流程实例。
请求格式¶
POST https://{apigw-address}/enos-bpm-service/v2.0/work/display-view/{displayViewKey}/process-instances/query
请求参数(Header)¶
名称 |
位置 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
Authorization |
Header |
必需 |
String |
Access Token,以 Bearer Token 表示,需要通过调用 Log In 或 Refresh Access Token 接口后获取。 |
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
displayViewKey |
Path |
必需 |
String |
流程视图的键。 |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
columns |
可选 |
DisplayViewColumnQueryRepresentation 结构体数组 |
流程视图列筛选项结构体数组。 |
pagination |
可选 |
Pagination 请求结构体 |
分页参数(若不提供,则默认按照每页1000条数据的格式返回第0页的数据)。见 Pagination请求结构体>> |
DisplayViewColumnQueryRepresentation 结构体¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
id |
必需 |
String |
流程视图列 ID。 |
filter |
可选 |
String |
流程实例筛选条件。 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
data 结构体 |
流程实例。 |
data 结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
pagination |
Pagination 结构体 |
分页请求。 |
processInstances |
JSON 结构体数组 |
流程实例数组。 |
Pagination 结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
current |
Integer |
请求页数。 |
pageSize |
Integer |
每页记录数。 |
total |
Long |
总记录数。 |
sorts |
Sorter 结构体数组 |
记录排序。 |
start |
Integer |
开始记录序号。 |
Sorter 结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
field |
String |
排序字段。 |
order |
String |
排序方式(asc,desc)。 |
错误码¶
代码 |
描述 |
---|---|
33404 |
流程视图列 ID 不存在 / 流程视图的键不存在。 |
示例¶
请求示例¶
url: https://{apigw-address}/enos-bpm-service/v2.0/work/display-view/{your_display_view_key}/process-instances/query
method: POST
headers: {"Authorization":"Bearer {your_access_token}"}
requestBody: {
"pagination": {
"current": 0,
"pageSize": 3,
"sorts": [
{
"field": "name",
"order": "asc"
}
],
},
"columns": [
{
"id": "your_display_view_column_id",
"filter": "your_filter_word"
}
]
}
返回示例¶
{
"code": 0,
"msg": "",
"data": {
"pagination": {
"current": 0,
"pageSize":3,
"total": 3,
"sorts": [],
"start": 0
},
"processInstances": [
{
"name": "john.smithTest",
"startedBy": "john.smith",
"started": 1606818878643,
"processStatus": "inProgress",
"taskName": "用户任务",
"assignee": null,
"completedTime": null,
"terminatedTime": null,
"terminatedBy": null,
"processInstanceId": "d04dd109-33c0-11eb-ba35-629b53178e94"
},
{
"name": "john.smithTest",
"startedBy": "john.smith",
"started": 1605876457091,
"processStatus": "inProgress",
"taskName": "用户任务",
"assignee": "john.smith",
"completedTime": null,
"terminatedTime": null,
"terminatedBy": null,
"processInstanceId": "91491e23-2b2e-11eb-aa51-2ee421df69ea"
},
{
"name": "john.smithTest",
"startedBy": "john.smith",
"started": 1605876375581,
"processStatus": "inProgress",
"taskName": "用户任务",
"assignee": "john.smith",
"completedTime": null,
"terminatedTime": null,
"terminatedBy": null,
"processInstanceId": "60b3ad8d-2b2e-11eb-aa51-2ee421df69ea"
}
]
}
}
Java SDK 调用示例¶
public class BpmSdkTest{
@Test
public void queryProcessInstanceByViewTest() {
String bearerToken = "your_bearer_token";
String displayViewKey = "your_display_view_key";
String columnId = "display_view_column_id";
String filter = "display_view_column_filter";
DisplayViewColumnQueryRepresentation column = new DisplayViewColumnQueryRepresentation(columnId, filter);
Pagination pagination = new Pagination();
pagination.setCurrent(0);
pagination.setPageSize(3);
DisplayViewProcessInstanceQueryRequest request = new DisplayViewProcessInstanceQueryRequest(displayViewKey,
Collections.singletonList(column), pagination, bearerToken);
DisplayViewProcessInstanceQueryResponse response = getPoseidon().getResponse(request,
DisplayViewProcessInstanceQueryResponse.class);
assertNotNull("response cannot be null", response);
}
}