## 接口文档

文档地址：接口文档地址：[创建/更新任务（申请） | OpenApi](https://openapi.wisedu.com/openapi/open/task/api/saveOrUpdate.html)

推送待办需要用到的接口：
- 创建/更新任务（申请）：向指定用户创建待办或更新待办/已办使用此接口
- 删除待办任务（物理删除）：删除流程或强制收回时使用此接口，删除指定用户下的待办/已办

## 创建/更新任务（申请）接口说明

**任务的理解**
任务就是待办数据，任务以流程和用户区分，相同流程待办推送到不同用户，它们就是不同的任务，每个用户下的任务都不同。

比如：
同一条流程提交后到达用户A、用户B，则需要向用户A（0001）和用户B（0002）创建任务
```
用户A下的任务（待办）：
任务id：1234_0001

用户B下的任务（待办）：
任务id：1234_0002
```
	1234 为请求id

当用户A和用户B都提交之后，需要更新待办为已办，则需要调用接口进行任务更新，更新任务的状态，例如：
- 更新用户A的任务为已办：更新任务（1234_0001）为已办
- 更新用户B的任务为已办：更新任务（1234_0002）为已办

如果用户A提交待办到用户C，则需要向用户C创建任务，如果用户A进行强制收回，则需要调用删除任务接口删除用户C的任务，如果用户C退回到用户A，则更新用户C的任务为已办。

**使用条件：**
向指定用户创建待办或更新待办/已办时使用，适用于推送待办和更新待办为已办

### 创建任务
当金智用户下没有此待办数据时就需要创建任务，也就是没有推送过这条流程的待办到金智用户那边，用户那边是没有这条待办的，需要把这条待办流程推送到金智用户那边时就需要创建任务。

#### 参数说明
创建任务需要传入 `insertModel` 参数，`updateModel` 参数不需要传

**insertModel 主要参数说明**
没有说明的参数可选择性传入

- sceneCode：sceneCode 需从金智获取，调用接口都固定一个值即可
- taskId：任务id，任务的唯一主键，需保证不可重复，组成可为：`流程请求id_用户id `，一个任务（待办）只能存在一个用户中，不能多个用户共享，所以使用用户id组成，该用户的任务创建之后，以后该用户下的相同流程待办更新时只能更新此任务
- subject：取流程标题
- priority：紧急程度，1：特急  2：紧急  3：一般
- taskType：任务类型，可固定为3（普通）
- initiatorType：发起人类型，可固定为1（学工号）
- initiatorId：发起人ID，传用户工号
- processors：处理人列表，为数组，传个对象即可
	- processorType：固定为1（学工号）
	- processorId：处理人ID，传用户工号
- pcViewUrl：pc待办任务地址，传流程表单页面地址，例如：`OA地址/sp/workflow/flowpage/view/1202139626639310853?secondEmpId=1125374314758930594&requestId=1202139626639310853`
- h5ViewUrl: 移动端待办任务地址，传移动端的流程表单页面地址
- processInstanceImgUrl：流程图地址，可传可不传，E10 流程图地址为：`/sp/workflow/frontChart?workflowId={workflowId}&requestId={请求id}`
- nodeId：流程当前节点id
- nodeName ：流程当前节点名称
- prevProcessor：上一步处理人工号，取上节点操作人工号
- createTime：流程创建日期时间

请求示例：

```json

  {
    "insertModel": [
      {
        "nodeName": "05办公室编辑文件",
        "subject": "关于2026-2027-1学期通识教育网络 选修课程在线学习安排的通知 26070700557",
        "pcViewUrl": "http://fwoa.gxust.edu.cn:20600/sp/workflow/flowpage/view/1289414684939771905",
        "initiatorId": "2020005",
        "processors": [
          {
            "processorId": "2015025",
            "processorType": 1
          }
        ],
        "h5ViewUrl": "http://fwoa.gxust.edu.cn:20600/mobile/workflow/flowpage/view/1289414684939771905",
        "prevProcessor": "2000028",
        "priority": 1,
        "taskType": 3,
        "processInstanceImgUrl": "http://fwoa.gxust.edu.cn:20600/sp/workflow/frontChart?workflowId=1207377171697631250&requestId=1289414684939771905",
        "sceneCode": "GXUSTXOA",
        "createTime": "2026-07-07T17:10:04.852763",
        "nodeId": "1207377171697631286",
        "taskId": "1289414684939771905_1183240164139032610_941031049759555584",
        "initiatorType": 1
      }
    ]
  }
```

### 更新任务
当需要将指定用户下的待办更新为已办或其它状态时，执行更新任务

**updateModel 参数说明**
对于更新任务，传入 `updateModel` 参数即可

- taskId：任务id，说明见创建任务
- processorId：处理人ID，传工号
- processorType：处理人类型，固定为1（学工号）
- status：任务状态，ACTIVE(激活)  、COMPLETE（完成）  、ROLLBACK（退回）  、WITHDRAW(撤回)  、TRANSFER(移交)  、DELEGATE(委派)  、ABORT(终止)，详见 `任务状态状态获取说明`
- processInstanceImgUrl：流程图地址，可传可不传，详见创建任务参数

**任务状态状态获取说明**
status 可决定任务的状态，是待办还是已办等。
- ACTIVE(激活)：此状态时任务就为待办
- COMPLETE（完成）：此状态时任务就为已办
- ROLLBACK（退回）：此状态是已办的一种，可在退回流程时设置为该状态
- DELEGATE(委派) ：相当于转办，将此待办转办给其它人后，将此任务状态设为 DELEGATE
- WITHDRAW(撤回)：流程撤回后更新任务为此状态

对于其它状态用不到

**请求示例**

```json
  {
    "updateModel": {
      "taskModels": [
        {
          "processorId": "2015509",
          "processInstanceImgUrl": "http://fwoa.gxust.edu.cn:20600/sp/workflow/frontChart?workflowId=1194699514845290496&requestId=1289752879321702402",
          "processorType": 1,
          "taskId": "1289752879321702402_1224116441732800512_941031049759555584",
          "status": "COMPLETE"
        }
      ]
    }
  }
```

## 删除待办任务接口说明

当发生流程强制收回（删除接收人的待办）和用户删除流程时，调用此接口。

此接口只需要传入 taskId

