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 结构体数组 流程实例数组。

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);
    }
}