# 退回
> 退回、任意退回节点列表、任意退回、退回提交、内部退回

![流程操作](../../assets/img/rest/flowaction/reject.png)
## 退回
接口请求调用说明 <br>
http请求方式: POST <br>
请求地址: http://127.0.0.1:8080/demo/horizon/workflow/rest/flow/support/action.wf <br>
**post数据说明：**
```
{
  "accessToken": "",
  "workId": "HZ28858f8113f08b018113f08be70001",
  "trackId": "HZ28858f8113f08b018113f08be90002",
  "actionData": {
    "operate": "reject",
    "operateClazz": "com.horizon.wf.action.ActionReject"
  }
}
```

| 参数          | 是否必须 | 描述            |
|-------------|------|---------------|
| accessToken | 是    | 调用接口凭证，唯一用户标识 |
| workId      | 是    | 流程实例id        |
| trackId     | 是    | 流程路径id        |
| actionData  | 是    | 其他提交数据        |
actionData 数据参数:

| 参数           | 是否必须 | 描述                                        |
|--------------|------|-------------------------------------------|
| operate      | 是    | 退回操作标识，固定值reject                          |
| operateClazz | 是    | 退回操作类路径com.horizon.wf.action.ActionReject |
**返回结果示例：**
```
{
  "alert": "true",
  "nodeId": "Node3",
  "operate": "reject",
  "operateClazz": "com.horizon.wf.action.ActionReject",
  "operateFlag": "1",
  "operateMsg": "退回成功",
  "operateStatus": "success",
  "status": 0,
  "trackId": "HZ28858f8113f08b018113f08be90002",
  "workId": "HZ28858f8113f08b018113f08be70001"
}
```
**结果参数说明:**

| 参数            | 参数类型   | 描述                    |
|---------------|--------|-----------------------|
| alert         | String | 是否弹出操作成功信息，可忽略        |
| nodeId        | String | 退回节点id                |
| operate       | String | 退回操作标识                |
| operateClazz  | String | 退回操作类路径               |
| operateFlag   | String | 操作标记 -1：显示关闭，0、1：正常提交 |
| operateMsg    | String | 流程操作返回信息              |
| operateStatus | String | 流程操作结果                |
| reOpen        | String | 是否重新打开，可忽略            |
| status        | int    | 流程操作状态码               |
| workId        | String | 流程实例id                |

## 任意退回

### 任意退回-节点列表
接口请求调用说明 <br>
http请求方式: POST <br>
请求地址: http://127.0.0.1:8080/demo/horizon/workflow/rest/flow/support/action.wf <br>
**post数据说明：**
```
{
  "accessToken": "",
  "workId": "HZ28858f8113f08b018113f08be70001",
  "trackId": "HZ28858f8113f08b018113f08be90002",
  "actionData": {
    "operate": "jumpreject",
    "operateClazz": "com.horizon.wf.action.ActionRejectByJump"
  }
}
```
请求参数说明:

| 参数          | 是否必须 | 描述            |
|-------------|------|---------------|
| accessToken | 是    | 调用接口凭证，唯一用户标识 |
| workId      | 是    | 流程实例id        |
| trackId     | 是    | 流程路径id        |
| actionData  | 是    | 其他提交数据        |
actionData 数据参数:

| 参数           | 是否必须 | 描述                                              |
|--------------|------|-------------------------------------------------|
| operate      | 是    | 退回操作标识，固定值jumpreject                            |
| operateClazz | 是    | 退回操作类路径com.horizon.wf.action.ActionRejectByJump |
**返回结果示例：**
```
{
  "nextNodeId": "",
  "nextNodes": [
    {
      "authors": {},
      "isDone": "false",
      "isSelect": "false",
      "memo": "",
      "nodeGroup": "Node0",
      "nodeId": "Node1",
      "nodeKey": "Node1",
      "nodeName": "任务1",
      "nodeStatus": "0",
      "selectId": "Node1",
      "selectName": "任务1",
      "timeLimit": "0",
      "timeLimitType": "1"
    },
    {
      "authors": {},
      "isDone": "false",
      "isSelect": "false",
      "memo": "",
      "nodeGroup": "Node0",
      "nodeId": "Node2",
      "nodeKey": "Node2",
      "nodeName": "任务2",
      "nodeStatus": "0",
      "selectId": "Node2",
      "selectName": "任务2",
      "timeLimit": "0",
      "timeLimitType": "1"
    }
  ],
  "operate": "jumpreject",
  "operateClazz": "com.horizon.wf.action.ActionRejectByJump",
  "operateFlag": "1",
  "operateMsg": "请选择退回节点",
  "status": 2,
  "workId": "HZ28858f8113f08b018113f08be70001"
}
```
**结果参数说明:**

| 参数           | 参数类型   | 描述                    |
|--------------|--------|-----------------------|
| nextNodeId   | String | 下一节点信息                |
| nextNodes    | List   | 退回节点可选信息              |
| operate      | String | 退回操作标识                |
| operateClazz | String | 退回操作类路径               |
| operateFlag  | String | 操作标记 -1：显示关闭，0、1：正常提交 |
| operateMsg   | String | 流程操作返回信息              |
| status       | int    | 流程操作状态码               |
| workId       | String | 流程实例id                |
nextNodes参数说明：

| 参数            | 参数类型   | 描述                                                             |
|---------------|--------|----------------------------------------------------------------|
| authors       | Map    | 下节点办理人map中key为Author，value为Author对象参数                          |
| isDone        | String | 是否已经走过                                                         |
| isSelect      | String | 是否已选择                                                          |
| memo          | String | 备注信息                                                           |
| nodeGroup     | String | 节点分组，单节点时无值，当前节点有分支节点时，值为上一节点id                                |
| nodeId        | String | 节点id                                                           |
| nodeKey       | String | 节点主键                                                           |
| nodeName      | String | 节点名称                                                           |
| nodeStatus    | String | 节点状态，限定值<br>0.成功<br>1.选择办理人<br>2.选择节点<br>3.未找到办理人<br>4.未找到下一节点 |
| selectId      | String | 需要选择的节点id                                                      |
| selectName    | String | 需要选择的节点名称                                                      |
| timeLimit     | String | 节点办理时限                                                         |
| timeLimitType | String | 办理时限类型，限定值<br>0：自然日<br>1：工作日                                   |

### 任意退回-节点设置
口请求调用说明 <br>
http请求方式: POST <br>
请求地址: http://127.0.0.1:8080/demo/horizon/workflow/rest/flow/support/action.wf <br>
**post数据说明：**
```
{
  "accessToken": "",
  "workId": "HZ28858f8113f08b018113f08be70001",
  "trackId": "HZ28858f8113f08b018113f08be90002",
  "actionData": {
    "operate": "jumpreject",
    "operateClazz": "com.horizon.wf.action.ActionRejectByJump",
    "nextNodes": [
      {
        "isSelect": "true",
        "nodeId": "Node1",
        "nodeKey": "Node1",
        "selectId": "Node1"
      }
    ]
  }
}
```
请求参数说明:

| 参数          | 是否必须 | 描述            |
|-------------|------|---------------|
| accessToken | 是    | 调用接口凭证，唯一用户标识 |
| workId      | 是    | 流程实例id        |
| trackId     | 是    | 流程路径id        |
| actionData  | 是    | 其他提交数据        |
actionData 数据参数:

| 参数           | 是否必须 | 描述                                              |
|--------------|------|-------------------------------------------------|
| operate      | 是    | 退回操作标识，固定值jumpreject                            |
| operateClazz | 是    | 退回操作类路径com.horizon.wf.action.ActionRejectByJump |
| nextNodes    | 是    | 退回节点信息                                          |
nextNodes参数说明：

| 参数       | 是否必须 | 描述        |
|----------|------|-----------|
| isSelect | 是    | 是否已选择     |
| nodeId   | 是    | 退回节点id    |
| nodeKey  | 是    | 节点主键      |
| selectId | 是    | 需要选择的节点id |
**返回结果示例：**
```
{
    "alert": "true",
    "nextNodeId": "Node1",
    "nextNodes": [
        {
            "isSelect": "true",
            "nodeId": "Node1",
            "nodeKey": "Node1",
            "selectId": "Node1"
        }
    ],
    "operate": "jumpreject",
    "operateClazz": "com.horizon.wf.action.ActionRejectByJump",
    "operateFlag": "1",
    "operateMsg": "任意退回成功",
    "operateStatus": "success",
    "status": 0,
    "trackId": "HZ28858f8113f08b018113f08be90002",
    "workId": "HZ28858f8113f08b018113f08be70001"
}
```
**结果参数说明:**

| 参数            | 参数类型   | 描述                    |
|---------------|--------|-----------------------|
| alert         | String | 是否弹出操作成功信息，可忽略        |
| nextNodeId    | String | 退回节点id                |
| nextNodes     | Object | 退回节点信息                |
| operate       | String | 退回操作标识                |
| operateClazz  | String | 退回操作类路径               |
| operateFlag   | String | 操作标记 -1：显示关闭，0、1：正常提交 |
| operateMsg    | String | 流程操作返回信息              |
| operateStatus | String | 流程操作结果                |
| status        | int    | 流程操作状态码               |
| trackId       | String | 流程实例路径id              |
| workId        | String | 流程实例id                |
nextNodes参数说明：

| 参数       | 是否必须    | 描述      |
|----------|---------|---------|
| isSelect | String  | 是否已选择   |
| nodeId   | String  | 退回的节点id |
| nodeKey  | String  | 退回节点主键  |
| selectId | String  | 退回的节点id |

## 退回提交
接口请求调用说明 <br>
http请求方式: POST <br>
请求地址: http://127.0.0.1:8080/demo/horizon/workflow/rest/flow/support/action.wf <br>
**post数据说明：**
```
{
  "accessToken": "",
  "workId": "HZ28858f8113f08b018113f08be70001",
  "trackId": "HZ28858f8113f08b018113f08be90002",
  "actionData": {
    "operate": "rejectSubmit",
    "operateClazz": "com.horizon.wf.action.ActionSubmitForReject"
  }
}
```

| 参数          | 是否必须 | 描述            |
|-------------|------|---------------|
| accessToken | 是    | 调用接口凭证，唯一用户标识 |
| workId      | 是    | 流程实例id        |
| trackId     | 是    | 流程路径id        |
| actionData  | 是    | 流程操作json数据    |
actionData 数据参数:

| 参数           | 是否必须 | 描述                                                   |
|--------------|------|------------------------------------------------------|
| operate      | 是    | 退回提交操作标识，固定值reject                                   |
| operateClazz | 是    | 退回提交操作类路径com.horizon.wf.action.ActionSubmitForReject |
**返回结果示例：**
```
{
  "alert": "true",
  "operate": "rejectSubmit",
  "operateClazz": "com.horizon.wf.action.ActionSubmitForReject",
  "operateFlag": "1",
  "operateMsg": "退回提交成功",
  "operateStatus": "success",
  "reOpen": "false",
  "status": 0,
  "trackId": "HZ28858f8113f08b018113f08be90002",
  "workId": "HZ28858f8113f08b018113f08be70001"
}
```
**结果参数说明:**

| 参数            | 参数类型   | 描述                    |
|---------------|--------|-----------------------|
| alert         | String | 是否弹出操作成功信息，可忽略        |
| operate       | String | 退回操作标识                |
| operateClazz  | String | 退回提交操作类路径             |
| operateFlag   | String | 操作标记 -1：显示关闭，0、1：正常提交 |
| operateMsg    | String | 流程操作返回信息              |
| operateStatus | String | 流程操作结果                |
| reOpen        | String | 是否重新打开，可忽略            |
| status        | int    | 流程操作状态码               |
| trackId       | String | 流程实例路径id              |
| workId        | String | 流程实例id                |

## 内部退回
接口请求调用说明 <br>
http请求方式: POST <br>
请求地址: http://127.0.0.1:8080/demo/horizon/workflow/rest/flow/support/action.wf <br>
**post数据说明：**
```
{
  "accessToken": "",
  "workId": "HZ28858f8113f08b01811456bf9e01ae",
  "trackId": "HZ28858f8113f08b01811456bf9e01af",
  "actionData": {
    "operate": "innerreject",
    "operateClazz": "com.horizon.wf.action.ActionRejectForInner"
  }
}
```
请求参数说明:

| 参数          | 是否必须 | 描述            |
|-------------|------|---------------|
| accessToken | 是    | 调用接口凭证，唯一用户标识 |
| workId      | 是    | 流程实例id        |
| trackId     | 是    | 流程路径id        |
| actionData  | 是    | 流程操作json数据    |
actionData 数据参数:

| 参数           | 是否必须 | 描述                                                  |
|--------------|------|-----------------------------------------------------|
| operate      | 是    | 退回提交操作标识，固定值innerreject                             |
| operateClazz | 是    | 退回提交操作类路径com.horizon.wf.action.ActionRejectForInner |
**返回结果示例：**
```
{
  "alert": "true",
  "operate": "innerreject",
  "operateClazz": "com.horizon.wf.action.ActionRejectForInner",
  "operateFlag": "1",
  "operateMsg": "内部退回成功",
  "operateStatus": "success",
  "reOpen": "false",
  "status": 0,
  "workId": "HZ28858f8113f08b01811456bf9e01ae"
}
```
**结果参数说明:**

| 参数            | 参数类型   | 描述                    |
|---------------|--------|-----------------------|
| alert         | String | 是否弹出操作成功信息，可忽略        |
| operate       | String | 内部退回操作标识              |
| operateClazz  | String | 内部退回提交操作类路径           |
| operateFlag   | String | 操作标记 -1：显示关闭，0、1：正常提交 |
| operateMsg    | String | 流程操作返回信息              |
| operateStatus | String | 流程操作结果                |
| reOpen        | String | 是否重新打开，可忽略            |
| status        | int    | 流程操作状态码               |
| workId        | String | 流程实例id                |
