-
-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy pathapi_corehr_job_data_query.go
193 lines (169 loc) · 15.6 KB
/
api_corehr_job_data_query.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
// Code generated by lark_sdk_gen. DO NOT EDIT.
/**
* Copyright 2022 chyroc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package lark
import (
"context"
)
// QueryCoreHRJobData 获取任职信息列表。
//
// 该接口会按照应用拥有的「员工资源」的权限范围返回数据, 请确定在「开发者后台 - 权限管理 - 数据权限」中已申请「员工资源」权限范围
//
// doc: https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/corehr-v2/employees-job_data/query
func (r *CoreHRService) QueryCoreHRJobData(ctx context.Context, request *QueryCoreHRJobDataReq, options ...MethodOptionFunc) (*QueryCoreHRJobDataResp, *Response, error) {
if r.cli.mock.mockCoreHRQueryCoreHRJobData != nil {
r.cli.Log(ctx, LogLevelDebug, "[lark] CoreHR#QueryCoreHRJobData mock enable")
return r.cli.mock.mockCoreHRQueryCoreHRJobData(ctx, request, options...)
}
req := &RawRequestReq{
Scope: "CoreHR",
API: "QueryCoreHRJobData",
Method: "POST",
URL: r.cli.openBaseURL + "/open-apis/corehr/v2/employees/job_datas/query",
Body: request,
MethodOption: newMethodOption(options),
NeedTenantAccessToken: true,
}
resp := new(queryCoreHRJobDataResp)
response, err := r.cli.RawRequest(ctx, req, resp)
return resp.Data, response, err
}
// MockCoreHRQueryCoreHRJobData mock CoreHRQueryCoreHRJobData method
func (r *Mock) MockCoreHRQueryCoreHRJobData(f func(ctx context.Context, request *QueryCoreHRJobDataReq, options ...MethodOptionFunc) (*QueryCoreHRJobDataResp, *Response, error)) {
r.mockCoreHRQueryCoreHRJobData = f
}
// UnMockCoreHRQueryCoreHRJobData un-mock CoreHRQueryCoreHRJobData method
func (r *Mock) UnMockCoreHRQueryCoreHRJobData() {
r.mockCoreHRQueryCoreHRJobData = nil
}
// QueryCoreHRJobDataReq ...
type QueryCoreHRJobDataReq struct {
PageSize int64 `query:"page_size" json:"-"` // 分页大小, 最大 100, 示例值: 100, 取值范围: `1` ~ `100`
PageToken *string `query:"page_token" json:"-"` // 分页标记, 第一次请求不填, 表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token, 下次遍历可采用该 page_token 获取查询结果, 示例值: 6891251722631890445
UserIDType *IDType `query:"user_id_type" json:"-"` // 用户 ID 类型, 示例值: open_id, 可选值有: open_id: 标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多: 如何获取 Open ID](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-openid), union_id: 标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的, 在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID, 应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多: 如何获取 Union ID?](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-union-id), user_id: 标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内, 一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多: 如何获取 User ID?](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-user-id), people_corehr_id: 以飞书人事的 ID 来识别用户, 默认值: `open_id`, 当值为 `user_id`, 字段权限要求: 获取用户 user ID
DepartmentIDType *DepartmentIDType `query:"department_id_type" json:"-"` // 此次调用中使用的部门 ID 类型, 示例值: people_corehr_department_id, 可选值有: open_department_id: 以 open_department_id 来标识部门, department_id: 以 department_id 来标识部门, people_corehr_department_id: 以 people_corehr_department_id 来标识部门, 默认值: `people_corehr_department_id`
GetAllVersion *bool `json:"get_all_version,omitempty"` // 是否获取所有任职记录, true 为获取员工所有版本的任职记录, false 为仅获取当前生效的任职记录, 默认为 false, 示例值: false
DataDate *string `json:"data_date,omitempty"` // 查看数据日期, 示例值: "2020-01-01"
EffectiveDateStart *string `json:"effective_date_start,omitempty"` // 生效日期 - 搜索范围开始, 示例值: "2020-01-01"
EffectiveDateEnd *string `json:"effective_date_end,omitempty"` // 生效日期 - 搜索范围结束, 示例值: "2020-01-01"
}
// QueryCoreHRJobDataResp ...
type QueryCoreHRJobDataResp struct {
Items []*QueryCoreHRJobDataRespItem `json:"items,omitempty"` // 任职信息
PageToken string `json:"page_token,omitempty"` // 分页标记, 当 has_more 为 true 时, 会同时返回新的 page_token, 否则不返回 page_token
HasMore bool `json:"has_more,omitempty"` // 是否还有更多项
}
// QueryCoreHRJobDataRespItem ...
type QueryCoreHRJobDataRespItem struct {
EmploymentID string `json:"employment_id,omitempty"` // Employment ID
JobDatas []*QueryCoreHRJobDataRespItemJobData `json:"job_datas,omitempty"` // 实体在 CoreHR 内部的唯一键
}
// QueryCoreHRJobDataRespItemJobData ...
type QueryCoreHRJobDataRespItemJobData struct {
JobDataID string `json:"job_data_id,omitempty"` // 任职信息 ID
VersionID string `json:"version_id,omitempty"` // 任职记录版本 ID
EmployeeTypeID string `json:"employee_type_id,omitempty"` // 人员类型 ID, 枚举值及详细信息可通过[查询单个人员类型](https://open.feishu.cn/document/server-docs/corehr-v1/basic-infomation/employee_type/get)接口查询获得
WorkingHoursTypeID string `json:"working_hours_type_id,omitempty"` // 工时制度 ID, 枚举值及详细信息可通过[查询单个工时制度](https://open.feishu.cn/document/server-docs/corehr-v1/basic-infomation/working_hours_type/get)接口查询获得
WorkLocationID string `json:"work_location_id,omitempty"` // 工作地点 ID, 枚举值及详细信息可通过[查询单个地点](https://open.feishu.cn/document/server-docs/corehr-v1/organization-management/location/get)接口查询获得
DepartmentID string `json:"department_id,omitempty"` // 部门 ID, 枚举值及详细信息可通过[查询单个部门](https://open.feishu.cn/document/server-docs/corehr-v1/organization-management/department/get)接口查询获得
JobID string `json:"job_id,omitempty"` // 职务 ID, 枚举值及详细信息可通过[查询单个职务](https://open.feishu.cn/document/server-docs/corehr-v1/job-management/job/get)接口查询获得, 字段权限要求(满足任一): 获取员工的职务信息, 获取职务级别信息, 读写员工的职务级别信息
JobLevelID string `json:"job_level_id,omitempty"` // 职级 ID, 枚举值及详细信息可通过[查询单个职级](https://open.feishu.cn/document/server-docs/corehr-v1/job-management/job_level/get)接口查询获得, 字段权限要求(满足任一): 获取职务级别信息, 读写员工的职务级别信息
JobGradeID string `json:"job_grade_id,omitempty"` // 职等 ID, 字段权限要求(满足任一): 获取职等信息, 读写职等信息
JobFamilyID string `json:"job_family_id,omitempty"` // 序列 ID, 枚举值及详细信息可通过[查询单个序列](https://open.feishu.cn/document/server-docs/corehr-v1/job-management/job_family/get)接口查询获得
ProbationStartDate string `json:"probation_start_date,omitempty"` // 试用期开始日期
ProbationEndDate string `json:"probation_end_date,omitempty"` // 试用期结束日期(实际结束日期)
PrimaryJobData bool `json:"primary_job_data,omitempty"` // 是否为主任职
EmploymentID string `json:"employment_id,omitempty"` // 雇佣 ID
EffectiveTime string `json:"effective_time,omitempty"` // 生效时间
ExpirationTime string `json:"expiration_time,omitempty"` // 失效时间
AssignmentStartReason *QueryCoreHRJobDataRespItemJobDataAssignmentStartReason `json:"assignment_start_reason,omitempty"` // 任职原因, 枚举值可通过文档[枚举常量介绍](https://open.feishu.cn/document/server-docs/corehr-v1/feishu-people-enum-constant)任职原因(assignment_start_reason)枚举定义部分获得, 字段权限要求: 查看任职记录的原因字段
ProbationExpectedEndDate string `json:"probation_expected_end_date,omitempty"` // 预计试用期结束日期
ProbationOutcome *QueryCoreHRJobDataRespItemJobDataProbationOutcome `json:"probation_outcome,omitempty"` // 试用期结果, 枚举值可通过文档[枚举常量介绍](https://open.feishu.cn/document/server-docs/corehr-v1/feishu-people-enum-constant)试用期结果(probation_outcome)枚举定义部分获得
DirectManager *QueryCoreHRJobDataRespItemJobDataDirectManager `json:"direct_manager,omitempty"` // 直属上级
DottedLineManagers []*QueryCoreHRJobDataRespItemJobDataDottedLineManager `json:"dotted_line_managers,omitempty"` // 虚线上级
SecondDirectManager *QueryCoreHRJobDataRespItemJobDataSecondDirectManager `json:"second_direct_manager,omitempty"` // 第二实线主管
CostCenterRates []*QueryCoreHRJobDataRespItemJobDataCostCenterRate `json:"cost_center_rates,omitempty"` // 成本中心分摊信息
WorkShift *QueryCoreHRJobDataRespItemJobDataWorkShift `json:"work_shift,omitempty"` // 排班类型, 字段权限要求: 获取排班信息
CompensationType *QueryCoreHRJobDataRespItemJobDataCompensationType `json:"compensation_type,omitempty"` // 薪资类型, 字段权限要求: 获取薪资类型
ServiceCompany string `json:"service_company,omitempty"` // 任职公司, 字段权限要求: 获取任职公司
}
// QueryCoreHRJobDataRespItemJobDataAssignmentStartReason ...
type QueryCoreHRJobDataRespItemJobDataAssignmentStartReason struct {
EnumName string `json:"enum_name,omitempty"` // 枚举值
Display []*QueryCoreHRJobDataRespItemJobDataAssignmentStartReasonDisplay `json:"display,omitempty"` // 枚举多语展示
}
// QueryCoreHRJobDataRespItemJobDataAssignmentStartReasonDisplay ...
type QueryCoreHRJobDataRespItemJobDataAssignmentStartReasonDisplay struct {
Lang string `json:"lang,omitempty"` // 语言
Value string `json:"value,omitempty"` // 内容
}
// QueryCoreHRJobDataRespItemJobDataCompensationType ...
type QueryCoreHRJobDataRespItemJobDataCompensationType struct {
EnumName string `json:"enum_name,omitempty"` // 枚举值
Display []*QueryCoreHRJobDataRespItemJobDataCompensationTypeDisplay `json:"display,omitempty"` // 枚举多语展示
}
// QueryCoreHRJobDataRespItemJobDataCompensationTypeDisplay ...
type QueryCoreHRJobDataRespItemJobDataCompensationTypeDisplay struct {
Lang string `json:"lang,omitempty"` // 语言
Value string `json:"value,omitempty"` // 内容
}
// QueryCoreHRJobDataRespItemJobDataCostCenterRate ...
type QueryCoreHRJobDataRespItemJobDataCostCenterRate struct {
CostCenterID string `json:"cost_center_id,omitempty"` // 成本中心 ID, 可以通过[搜索成本中心信息](https://open.feishu.cn/document/server-docs/corehr-v1/organization-management/cost_center/search)接口获取对应的成本中心信息
Rate int64 `json:"rate,omitempty"` // 分摊比例
}
// QueryCoreHRJobDataRespItemJobDataDirectManager ...
type QueryCoreHRJobDataRespItemJobDataDirectManager struct {
JobDataID string `json:"job_data_id,omitempty"` // 任职信息 ID
EmploymentID string `json:"employment_id,omitempty"` // 雇佣 ID
}
// QueryCoreHRJobDataRespItemJobDataDottedLineManager ...
type QueryCoreHRJobDataRespItemJobDataDottedLineManager struct {
JobDataID string `json:"job_data_id,omitempty"` // 任职信息 ID
EmploymentID string `json:"employment_id,omitempty"` // 雇佣 ID
}
// QueryCoreHRJobDataRespItemJobDataProbationOutcome ...
type QueryCoreHRJobDataRespItemJobDataProbationOutcome struct {
EnumName string `json:"enum_name,omitempty"` // 枚举值
Display []*QueryCoreHRJobDataRespItemJobDataProbationOutcomeDisplay `json:"display,omitempty"` // 枚举多语展示
}
// QueryCoreHRJobDataRespItemJobDataProbationOutcomeDisplay ...
type QueryCoreHRJobDataRespItemJobDataProbationOutcomeDisplay struct {
Lang string `json:"lang,omitempty"` // 语言
Value string `json:"value,omitempty"` // 内容
}
// QueryCoreHRJobDataRespItemJobDataSecondDirectManager ...
type QueryCoreHRJobDataRespItemJobDataSecondDirectManager struct {
JobDataID string `json:"job_data_id,omitempty"` // 任职信息 ID
EmploymentID string `json:"employment_id,omitempty"` // 雇佣 ID
}
// QueryCoreHRJobDataRespItemJobDataWorkShift ...
type QueryCoreHRJobDataRespItemJobDataWorkShift struct {
EnumName string `json:"enum_name,omitempty"` // 枚举值
Display []*QueryCoreHRJobDataRespItemJobDataWorkShiftDisplay `json:"display,omitempty"` // 枚举多语展示
}
// QueryCoreHRJobDataRespItemJobDataWorkShiftDisplay ...
type QueryCoreHRJobDataRespItemJobDataWorkShiftDisplay struct {
Lang string `json:"lang,omitempty"` // 语言
Value string `json:"value,omitempty"` // 内容
}
// queryCoreHRJobDataResp ...
type queryCoreHRJobDataResp struct {
Code int64 `json:"code,omitempty"` // 错误码, 非 0 表示失败
Msg string `json:"msg,omitempty"` // 错误描述
Data *QueryCoreHRJobDataResp `json:"data,omitempty"`
Error *ErrorDetail `json:"error,omitempty"`
}