工艺流程服务接口
版本记录
| 版本号 | 日期 | 修改内容 |
|---|
| v0.12.2 | 2024-08-30 | 修复已知问题 |
工艺流程对外接口
1、查询任务
接口功能
待办以及已办任务的分页查询
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 序号 | 名称 | 类型 | 是否必填 | 描述 |
|---|
| 1 | userId | String | 否 | 用户 id(用户 id 与实例 id 不能同时为空) |
| 2 | instanceId | String | 否 | 流程实例 id(用户 id 与实例 id 不能同时为空) |
| 3 | nodeType | String | 否 | 节点类型 |
| 4 | nodeCode | String | 否 | 节点 code |
| 5 | taskId | String | 否 | 任务 id |
- 请求示例
query{
queryTaskList(
data:{
instanceId:"33e2b5d0-3cca-11ee-9c8b-fefcfe52a4b4"
}
){
executedNodeList{
activityId
activityName
activityType
processDefinitionId
processInstanceId
executionId
taskId
calledProcessInstanceId
assignee
startTime
endTime
durationInMillis
transactionOrder
deleteReason
processVariables
}
currentNodeList{
taskId
name
description
priority
owner
assignee
processInstanceId
taskDefinitionKey
processDefinitionId
createTime
category
parentTaskId
formKey
}
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 | schema |
|---|
| executedNodeList | 已执行节点列表 | List<TaskHistoryResp> | 任务执行历史对象列表 |
| currentNodeList | 待执行节点列表 | List<TaskCurrentResp> | 待执行任务对象列表 |
- 任务执行历史对象 TaskHistoryResp:
| 参数名称 | 参数说明 | 数据类型 |
|---|
| activityId | 节点实例 ID | String |
| activityName | 节点名称 | String |
| activityType | 节点类型 | String |
| activityStateType | 节点状态 | String |
| processDefinitionId | 流程定义 ID | String |
| processInstanceId | 流程实例 ID | String |
| executionId | 执行 ID | String |
| taskId | 任务 ID | String |
| calledProcessInstanceId | 调用外部的流程实例 ID | String |
| assignee | 处理人 | String |
| startTime | 开始时间 | String |
| endTime | 结束时间 | String |
| durationInMillis | 耗时 | String |
| transactionOrder | 事务 | Int |
| deleteReason | 删除原因 | String |
| processVariables | 流程变量 | String |
- 待执行任务对象 TaskCurrentResp:
| 参数名称 | 参数说明 | 数据类型 |
|---|
| taskId | 任务编号 | String |
| name | 任务名称 | String |
| description | 说明 | String |
| priority | 优先级 | Int |
| owner | 任务拥有人 | String |
| assignee | 被指派执行该任务的人 | String |
| processInstanceId | 流程实例 ID | String |
| executionId | 任务所在的执行流 ID | String |
| taskDefinitionId | 任务定义的 ID 值 | String |
| processDefinitionId | 流程定义的 ID | String |
| createTime | 创建时间 | String |
| taskDefinitionKey | 任务 key | String |
| dueDate | 耗时 | String |
| category | 类别 | String |
| parentTaskId | 父任务 ID | String |
| formKey | 表单 key | String |
| businessId | 业务编号 | String |
| flowManageId | 流程管理编号 | String |
| extendParam | 扩展参数 | String |
| formId | 表单 id | String |
| nodeCandidateType | 岗位/角色 | String |
| nodeCandidateGroups | 岗位/角色的 Id | String |
| nodeConstraintJson | 约束 json | String |
- 示例说明
{
"data": {
"queryTaskList": {
"executedNodeList": [],
"currentNodeList": [
{
"taskId": "33e8f768-3cca-11ee-9c8b-fefcfe52a4b4",
"name": null,
"description": null,
"priority": 50,
"owner": null,
"assignee": null,
"processInstanceId": "33e2b5d0-3cca-11ee-9c8b-fefcfe52a4b4",
"taskDefinitionKey": "Activity_09fgawe",
"processDefinitionId": "Process_1691484484977:11:2775ac34-391a-11ee-a0c2-fefcfe52a4b4",
"createTime": "2023-08-17 14:49:24",
"category": null,
"parentTaskId": null,
"formKey": null
}
]
}
}
}
2、查询任务是否存在
接口功能
根据 taskId 和 userId 查询任务是否存在,并且是否为当前任务
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 序号 | 名称 | 类型 | 是否必填 | 描述 |
|---|
| 1 | taskId | String | 是 | 任务 id |
| 2 | userId | String | 否 | 用户 id |
- 请求示例
query {
queryTaskExist(
data:{
taskId:"5011"
userId:"clhrdrxjd0000k7mkjik8kqd2"
})
{
isExistTask
isCurrentTask
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| isExistTask | 是否存在任务 | Boolean |
| isCurrentTask | 是否当前任务 | Boolean |
- 示例说明
{
"code": 0,
"message": "success",
"data": {
"queryTaskExist": {
"isExistTask": false,
"isCurrentTask": false
}
}
}
3、流程管理-发布&部署
接口功能
对流程进行发布与部署
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 序号 | 名称 | 类型 | 是否必填 | 描述 |
|---|
| 1 | flowManageId | String | 是 | 流程管理 id |
| 2 | deployFlag | Int | 否 | 部署开关(1-自动部署;0-默认不自动部署) |
- 请求示例
mutation{
publishAndDeployFlow(
data:{
flowManageId:"94BD2FB0BA5D4570AF58D9CC8E2C0544",
deployFlag:1
}
){
processDefId
deployFlag
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| processDefId | 流程定义 id | String |
| deployFlag | 发布及部署结果 | Boolean |
- 示例说明
{
"code": 0,
"message": "success",
"data": {
"publishAndDeployFlow": {
"processDefId": "Process_1708941438671:3:17504",
"deployFlag": true
}
}
}
4、流程管理-升级&部署
接口功能
对流程进行升级与部署
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 序号 | 名称 | 类型 | 是否必填 | 描述 |
|---|
| 1 | flowManageId | String | 是 | 流程管理 id |
| 2 | deployFlag | Int | 否 | 部署开关(1-自动部署;0-默认不自动部署) |
- 请求示例
mutation{
updateAndDeployFlow(
data:{
flowManageId:"7A27213C382A443CBB881950A73FCDF5",
deployFlag:1
}
){
processDefId
deployFlag
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| processDefId | 流程定义 id | String |
| deployFlag | 发布及部署结果 | Boolean |
- 示例说明
{
"code": 0,
"message": "success",
"data": {
"updateAndDeployFlow": {
"processDefId": "Process_1708941438671:4:17510",
"deployFlag": false
}
}
}
5、启动流程
接口功能
启动流程实例
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 序号 | 名称 | 类型 | 是否必填 | 描述 |
|---|
| 1 | flowManageId | String | 是 | 流程管理 id |
| 2 | processDefId | String | 是 | 部署开关(1-自动部署;0-默认不自动部署 |
| 3 | businessId | String | 否 | 业务 id |
| 4 | variablesJson | String | 否 | Json 启动参数 |
| 5 | callbackInterfaceMethod | String | 否 | 流程回调事件请求接口方法 |
- 请求示例
mutation{
startFlow(
data:{
flowManageId:"3ACD8D5212F94A2B8621D8A185250374"
processDefId: "Process_1691484484977:11:2775ac34-391a-11ee-a0c2-fefcfe52a4b4"
businessId:"hh001"
}
){
businessId
processInstanceId
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| businessId | 业务 id | String |
| processInstanceId | 流程运行实例 id | String |
- 示例说明
{
"data": {
"startFlow": {
"businessId": "hh001",
"processInstanceId": "33e2b5d0-3cca-11ee-9c8b-fefcfe52a4b4"
}
}
}
6、流程挂起
接口功能
挂起流程实例
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 序号 | 名称 | 类型 | 是否必填 | 描述 |
|---|
| 1 | processInstanceId | String | 是 | 流程实例 id |
- 请求示例
mutation {
suspendFlow(
data: {
processInstanceId:"15005"
}) {
isSuccess
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| isSuccess | 是否成功 | Boolean |
- 示例说明
{
"code": 0,
"message": "success",
"data": {
"suspendFlow": {
"isSuccess": true
}
}
}
7、流程激活
接口功能
激活流程实例
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 序号 | 名称 | 类型 | 是否必填 | 描述 |
|---|
| 1 | processInstanceId | String | 是 | 流程实例 id |
- 请求示例
mutation {
activateFlow(
data: {
processInstanceId:"15005"
}) {
isSuccess
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| isSuccess | 是否成功 | Boolean |
- 示例说明
{
"code": 0,
"message": "success",
"data": {
"activateFlow": {
"isSuccess": true
}
}
}
8、强制结束流程
接口功能
强制结束流程实例
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 序号 | 名称 | 类型 | 是否必填 | 描述 |
|---|
| 1 | processInstanceId | String | 是 | 流程实例 id |
- 请求示例
mutation {
forceStopFlow(
processInstanceId:"15005"
) {
isSuccess
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| isSuccess | 是否成功 | Boolean |
- 示例说明
{
"code": 0,
"message": "success",
"data": {
"activateFlow": {
"isSuccess": true
}
}
}
9、审批任务
接口功能
通过任务 id 对任务进行审批
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|---|
| taskId | 任务 Id | true | string |
| userId | 用户 Id | true | string |
| comment | 意见 | false | string |
| variablesJson | 全局参数 Json | false | string |
| nodeStateMark | 节点状态标记详情 | false | string |
- 请求示例
mutation{
complete(
data:{
taskId:"67516"
userId:"clhrdrxjd0000k7mkjik8kqd2"
comment:"同意"
{
stateType:"deviation"
extensionJson:""
}
}
){
taskId
userTaskFlag
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| taskId | 业务 id | String |
| userTaskFlag | 任务完成结果 | Boolean |
- 示例说明
{
"data": {
"complete": {
"taskId": "67516",
"userTaskFlag": true
}
}
}
10、跳过任务
接口功能
通过任务 id 对跳过任务
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|---|
| taskId | 任务 Id | true | string |
| userId | 用户 Id | true | string |
- 请求示例
mutation {
skipTask(data: { taskId: "67526", userId: "clhrdrxjd0000k7mkjik8kqd2" }) {
taskId
skipTaskFlag
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| taskId | 任务 id | String |
| skipTaskFlag | 任务完成结果 | Boolean |
- 示例说明
{
"data": {
"complete": {
"taskId": "67526",
"skipTaskFlag": true
}
}
}
11、回退任务-串行回退
接口功能
通过任务 id 对跳过任务
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|---|
| taskId | 任务 Id | true | string |
| targetKey | 目标节点 | true | string |
| comment | 回退意见 | false | string |
- 请求示例
mutation{
taskReturnSerial(
data: {
taskId:"42563"
targetKey:"Activity_1dqknwh"
comment:"test"
}
){
code
message
data
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| code | 响应码 | int |
| message | 响应消息 | string |
| data | 响应数据 | string |
- 示例说明
{
"code": 0,
"message": "success",
"data": {
"taskReturnSerial": {
"code": 0,
"message": "success",
"data": true
}
}
}
12、任务转办
接口功能
通过任务 id 将任务转办到用户或角色或岗位
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|---|
| taskId | 任务 Id | true | string |
| userIdList | 目标用户 list(userIdList、roleIdList 与 postIdList 只有一个不能为空) | fasle | List< String> |
| roleIdList | 目标角色 list | false | List< String> |
| postIdList | 目标岗位 list | false | List< String> |
- 请求示例
mutation{
taskReassign(
data:{
taskId:"20044"
userIdList:["clonoypdy003ng23ey40quyq5","cls9qfjs0001xnat6mxqt7m5x"]
}
){
code
message
data
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| code | 响应码 | int |
| message | 响应消息 | string |
| data | 响应数据 | string |
- 示例说明
{
"code": 0,
"message": "success",
"data": {
"taskReassign": {
"code": 0,
"message": "操作成功",
"data": true
}
}
}
13、任务认领
接口功能
通过任务 id 认领当前任务
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|---|
| taskId | 任务 Id | true | string |
| userId | 用户 Id | false | string |
- 请求示例
mutation {
taskClaim(
data: {
taskId: "20030",
}) {
code
message
data
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| code | 响应码 | int |
| message | 响应消息 | string |
| data | 响应数据 | string |
- 示例说明
{
"code": 0,
"message": "success",
"data": {
"taskClaim": {
"code": 0,
"message": "success",
"data": true
}
}
}
14、任务取消认领
接口功能
通过任务 id 取消认领当前任务
接口类型
HTTP 接口、GQL 接口
接口地址
| URL | /api/java/graphql |
|---|
| http 请求方式 | POST |
请求参数
- 请求参数说明
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|---|
| taskId | 任务 Id | true | string |
- 请求示例
mutation {
taskUnClaim(taskId:"20044"){
code
message
data
}
}
执行结果
- 返回参数:
| 参数名称 | 参数说明 | 类型 |
|---|
| code | 响应码 | int |
| message | 响应消息 | string |
| data | 响应数据 | string |
- 示例说明
{
"code": 0,
"message": "success",
"data": {
"taskUnClaim": {
"code": 0,
"message": "success",
"data": true
}
}
}