diff --git a/cmd/workwxctl/commands/cmd_approval_detail_get.go b/cmd/workwxctl/commands/cmd_approval_detail_get.go new file mode 100644 index 0000000..022ef28 --- /dev/null +++ b/cmd/workwxctl/commands/cmd_approval_detail_get.go @@ -0,0 +1,23 @@ +package commands + +import ( + "fmt" + + "github.com/urfave/cli/v2" +) + +func cmdApprovalDetailGet(c *cli.Context) error { + cfg := mustGetConfig(c) + spNo := c.Args().Get(0) + + app := cfg.MakeWorkwxApp() + info, err := app.GetOAApprovalDetail(spNo) + + if err != nil { + fmt.Printf("error = %+v\n", err) + } else { + fmt.Printf("approval detail = %+v\n", info) + } + + return err +} diff --git a/cmd/workwxctl/commands/decl.go b/cmd/workwxctl/commands/decl.go index 14fd9ed..744863a 100644 --- a/cmd/workwxctl/commands/decl.go +++ b/cmd/workwxctl/commands/decl.go @@ -197,6 +197,11 @@ func InitApp() *cli.App { }, }, }, + { + Name: "approval-detail-get", + Usage: "获取审批详情", + Action: cmdApprovalDetailGet, + }, }, } } diff --git a/docs/oa.md b/docs/oa.md index beff8ba..3bbee45 100644 --- a/docs/oa.md +++ b/docs/oa.md @@ -445,6 +445,7 @@ Name|JSON|Type|Doc `Notifier`|`notifyer`|`[]OAApprovalDetailNotifier`| 抄送信息,可能有多个抄送节点 `ApplyData`|`apply_data`|`OAContents`| 审批申请数据 `Comments`|`comments`|`[]OAApprovalDetailComment`| 审批申请备注信息,可能有多个备注节点 +`ProcessList`|`process_list`|`OAApprovalDetailProcessList`| 流程信息列表(2024年新增) ### `OAApprovalDetailApplicant` 审批申请详情申请人信息 @@ -591,3 +592,28 @@ Name|JSON|Type|Doc `LeftDuration`|`leftduration`|`uint32`| 剩余时长,单位为秒 `VacationName`|`vacationname`|`string`| 假期名称 `RealAssignDuration`|`real_assignduration`|`uint32`| 假期的实际发放时长,通常在设置了按照实际工作时间发放假期后进行计算 + +### `OAApprovalDetailProcessList` 流程信息列表 + +Name|JSON|Type|Doc +:---|:---|:---|:-- +`NodeList`|`node_list`|`[]OAApprovalDetailProcessNode`| 节点列表 + +### `OAApprovalDetailProcessNode` 流程节点 + +Name|JSON|Type|Doc +:---|:---|:---|:-- +`NodeType`|`node_type`|`int`| 节点类型 +`SpStatus`|`sp_status`|`int`| 节点审批状态 +`ApvRel`|`apv_rel`|`int`| 审批关系 +`SubNodeList`|`sub_node_list`|`[]OAApprovalDetailProcessSubNode`| 子节点成员列表 + +### `OAApprovalDetailProcessSubNode` 流程节点成员 + +Name|JSON|Type|Doc +:---|:---|:---|:-- +`UserID`|`userid`|`string`| 审批人userid +`Speech`|`speech`|`string`| 审批意见 +`SpYj`|`sp_yj`|`int`| 审批意见类型 +`SpTime`|`sptime`|`int`| 审批时间戳 +`MediaIDs`|`media_ids`|`[]string`| 图片media_id diff --git a/oa.md.go b/oa.md.go index d638288..4686610 100644 --- a/oa.md.go +++ b/oa.md.go @@ -539,6 +539,8 @@ type OAApprovalDetail struct { ApplyData OAContents `json:"apply_data"` // Comments 审批申请备注信息,可能有多个备注节点 Comments []OAApprovalDetailComment `json:"comments"` + // ProcessList 流程信息列表(2024年新增) + ProcessList OAApprovalDetailProcessList `json:"process_list"` } // OAApprovalDetailApplicant 审批申请详情申请人信息 @@ -723,3 +725,35 @@ type UserVacationQuota struct { // RealAssignDuration 假期的实际发放时长,通常在设置了按照实际工作时间发放假期后进行计算 RealAssignDuration uint32 `json:"real_assignduration"` } + +// OAApprovalDetailProcessList 流程信息列表 +type OAApprovalDetailProcessList struct { + // NodeList 节点列表 + NodeList []OAApprovalDetailProcessNode `json:"node_list"` +} + +// OAApprovalDetailProcessNode 流程节点 +type OAApprovalDetailProcessNode struct { + // NodeType 节点类型 + NodeType int `json:"node_type"` + // SpStatus 节点审批状态 + SpStatus int `json:"sp_status"` + // ApvRel 审批关系 + ApvRel int `json:"apv_rel"` + // SubNodeList 子节点成员列表 + SubNodeList []OAApprovalDetailProcessSubNode `json:"sub_node_list"` +} + +// OAApprovalDetailProcessSubNode 流程节点成员 +type OAApprovalDetailProcessSubNode struct { + // UserID 审批人userid + UserID string `json:"userid"` + // Speech 审批意见 + Speech string `json:"speech"` + // SpYj 审批意见类型 + SpYj int `json:"sp_yj"` + // SpTime 审批时间戳 + SpTime int `json:"sptime"` + // MediaIDs 图片media_id + MediaIDs []string `json:"media_ids"` +}