Query Process Instance By View

通过流程视图查询流程实例。

请求格式

POST https://{apigw-address}/enos-bpm-service/v2.0/work/display-view/{displayViewKey}/process-instances/query

请求参数(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);
    }
}