sdk/dingdingSdk/alibabacloud_dingtalk/attendance_1_0/client.py

5908 lines
254 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
# This file is auto-generated, don't edit it. Thanks.
from Tea.core import TeaCore
from alibabacloud_tea_openapi.client import Client as OpenApiClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_gateway_dingtalk.client import Client as GatewayClientClient
from alibabacloud_tea_util.client import Client as UtilClient
from alibabacloud_dingtalk.attendance_1_0 import models as dingtalkattendance__1__0_models
from alibabacloud_tea_util import models as util_models
from alibabacloud_openapi_util.client import Client as OpenApiUtilClient
class Client(OpenApiClient):
"""
*\
"""
def __init__(
self,
config: open_api_models.Config,
):
super().__init__(config)
gateway_client = GatewayClientClient()
self._spi = gateway_client
self._endpoint_rule = ''
if UtilClient.empty(self._endpoint):
self._endpoint = 'api.dingtalk.com'
def add_leave_type_with_options(
self,
request: dingtalkattendance__1__0_models.AddLeaveTypeRequest,
headers: dingtalkattendance__1__0_models.AddLeaveTypeHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.AddLeaveTypeResponse:
"""
@summary 添加假期规则
@param request: AddLeaveTypeRequest
@param headers: AddLeaveTypeHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: AddLeaveTypeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.biz_type):
body['bizType'] = request.biz_type
if not UtilClient.is_unset(request.extras):
body['extras'] = request.extras
if not UtilClient.is_unset(request.freedom_leave):
body['freedomLeave'] = request.freedom_leave
if not UtilClient.is_unset(request.hours_in_per_day):
body['hoursInPerDay'] = request.hours_in_per_day
if not UtilClient.is_unset(request.leave_certificate):
body['leaveCertificate'] = request.leave_certificate
if not UtilClient.is_unset(request.leave_hour_ceil):
body['leaveHourCeil'] = request.leave_hour_ceil
if not UtilClient.is_unset(request.leave_name):
body['leaveName'] = request.leave_name
if not UtilClient.is_unset(request.leave_time_ceil):
body['leaveTimeCeil'] = request.leave_time_ceil
if not UtilClient.is_unset(request.leave_time_ceil_min_unit):
body['leaveTimeCeilMinUnit'] = request.leave_time_ceil_min_unit
if not UtilClient.is_unset(request.leave_view_unit):
body['leaveViewUnit'] = request.leave_view_unit
if not UtilClient.is_unset(request.max_leave_time):
body['maxLeaveTime'] = request.max_leave_time
if not UtilClient.is_unset(request.min_leave_hour):
body['minLeaveHour'] = request.min_leave_hour
if not UtilClient.is_unset(request.natural_day_leave):
body['naturalDayLeave'] = request.natural_day_leave
if not UtilClient.is_unset(request.paid_leave):
body['paidLeave'] = request.paid_leave
if not UtilClient.is_unset(request.submit_time_rule):
body['submitTimeRule'] = request.submit_time_rule
if not UtilClient.is_unset(request.visibility_rules):
body['visibilityRules'] = request.visibility_rules
if not UtilClient.is_unset(request.when_can_leave):
body['whenCanLeave'] = request.when_can_leave
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='AddLeaveType',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/leaves/types',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.AddLeaveTypeResponse(),
self.execute(params, req, runtime)
)
async def add_leave_type_with_options_async(
self,
request: dingtalkattendance__1__0_models.AddLeaveTypeRequest,
headers: dingtalkattendance__1__0_models.AddLeaveTypeHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.AddLeaveTypeResponse:
"""
@summary 添加假期规则
@param request: AddLeaveTypeRequest
@param headers: AddLeaveTypeHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: AddLeaveTypeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.biz_type):
body['bizType'] = request.biz_type
if not UtilClient.is_unset(request.extras):
body['extras'] = request.extras
if not UtilClient.is_unset(request.freedom_leave):
body['freedomLeave'] = request.freedom_leave
if not UtilClient.is_unset(request.hours_in_per_day):
body['hoursInPerDay'] = request.hours_in_per_day
if not UtilClient.is_unset(request.leave_certificate):
body['leaveCertificate'] = request.leave_certificate
if not UtilClient.is_unset(request.leave_hour_ceil):
body['leaveHourCeil'] = request.leave_hour_ceil
if not UtilClient.is_unset(request.leave_name):
body['leaveName'] = request.leave_name
if not UtilClient.is_unset(request.leave_time_ceil):
body['leaveTimeCeil'] = request.leave_time_ceil
if not UtilClient.is_unset(request.leave_time_ceil_min_unit):
body['leaveTimeCeilMinUnit'] = request.leave_time_ceil_min_unit
if not UtilClient.is_unset(request.leave_view_unit):
body['leaveViewUnit'] = request.leave_view_unit
if not UtilClient.is_unset(request.max_leave_time):
body['maxLeaveTime'] = request.max_leave_time
if not UtilClient.is_unset(request.min_leave_hour):
body['minLeaveHour'] = request.min_leave_hour
if not UtilClient.is_unset(request.natural_day_leave):
body['naturalDayLeave'] = request.natural_day_leave
if not UtilClient.is_unset(request.paid_leave):
body['paidLeave'] = request.paid_leave
if not UtilClient.is_unset(request.submit_time_rule):
body['submitTimeRule'] = request.submit_time_rule
if not UtilClient.is_unset(request.visibility_rules):
body['visibilityRules'] = request.visibility_rules
if not UtilClient.is_unset(request.when_can_leave):
body['whenCanLeave'] = request.when_can_leave
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='AddLeaveType',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/leaves/types',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.AddLeaveTypeResponse(),
await self.execute_async(params, req, runtime)
)
def add_leave_type(
self,
request: dingtalkattendance__1__0_models.AddLeaveTypeRequest,
) -> dingtalkattendance__1__0_models.AddLeaveTypeResponse:
"""
@summary 添加假期规则
@param request: AddLeaveTypeRequest
@return: AddLeaveTypeResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.AddLeaveTypeHeaders()
return self.add_leave_type_with_options(request, headers, runtime)
async def add_leave_type_async(
self,
request: dingtalkattendance__1__0_models.AddLeaveTypeRequest,
) -> dingtalkattendance__1__0_models.AddLeaveTypeResponse:
"""
@summary 添加假期规则
@param request: AddLeaveTypeRequest
@return: AddLeaveTypeResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.AddLeaveTypeHeaders()
return await self.add_leave_type_with_options_async(request, headers, runtime)
def attendance_ble_devices_add_with_options(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesAddRequest,
headers: dingtalkattendance__1__0_models.AttendanceBleDevicesAddHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesAddResponse:
"""
@summary 批量给考勤组添加蓝牙设备
@param request: AttendanceBleDevicesAddRequest
@param headers: AttendanceBleDevicesAddHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: AttendanceBleDevicesAddResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.device_id_list):
body['deviceIdList'] = request.device_id_list
if not UtilClient.is_unset(request.group_key):
body['groupKey'] = request.group_key
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='AttendanceBleDevicesAdd',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/group/bledevices',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.AttendanceBleDevicesAddResponse(),
self.execute(params, req, runtime)
)
async def attendance_ble_devices_add_with_options_async(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesAddRequest,
headers: dingtalkattendance__1__0_models.AttendanceBleDevicesAddHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesAddResponse:
"""
@summary 批量给考勤组添加蓝牙设备
@param request: AttendanceBleDevicesAddRequest
@param headers: AttendanceBleDevicesAddHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: AttendanceBleDevicesAddResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.device_id_list):
body['deviceIdList'] = request.device_id_list
if not UtilClient.is_unset(request.group_key):
body['groupKey'] = request.group_key
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='AttendanceBleDevicesAdd',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/group/bledevices',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.AttendanceBleDevicesAddResponse(),
await self.execute_async(params, req, runtime)
)
def attendance_ble_devices_add(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesAddRequest,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesAddResponse:
"""
@summary 批量给考勤组添加蓝牙设备
@param request: AttendanceBleDevicesAddRequest
@return: AttendanceBleDevicesAddResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.AttendanceBleDevicesAddHeaders()
return self.attendance_ble_devices_add_with_options(request, headers, runtime)
async def attendance_ble_devices_add_async(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesAddRequest,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesAddResponse:
"""
@summary 批量给考勤组添加蓝牙设备
@param request: AttendanceBleDevicesAddRequest
@return: AttendanceBleDevicesAddResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.AttendanceBleDevicesAddHeaders()
return await self.attendance_ble_devices_add_with_options_async(request, headers, runtime)
def attendance_ble_devices_query_with_options(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesQueryRequest,
headers: dingtalkattendance__1__0_models.AttendanceBleDevicesQueryHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesQueryResponse:
"""
@summary 批量查询蓝牙设备
@param request: AttendanceBleDevicesQueryRequest
@param headers: AttendanceBleDevicesQueryHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: AttendanceBleDevicesQueryResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.group_key):
body['groupKey'] = request.group_key
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='AttendanceBleDevicesQuery',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/group/bledevices/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.AttendanceBleDevicesQueryResponse(),
self.execute(params, req, runtime)
)
async def attendance_ble_devices_query_with_options_async(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesQueryRequest,
headers: dingtalkattendance__1__0_models.AttendanceBleDevicesQueryHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesQueryResponse:
"""
@summary 批量查询蓝牙设备
@param request: AttendanceBleDevicesQueryRequest
@param headers: AttendanceBleDevicesQueryHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: AttendanceBleDevicesQueryResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.group_key):
body['groupKey'] = request.group_key
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='AttendanceBleDevicesQuery',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/group/bledevices/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.AttendanceBleDevicesQueryResponse(),
await self.execute_async(params, req, runtime)
)
def attendance_ble_devices_query(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesQueryRequest,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesQueryResponse:
"""
@summary 批量查询蓝牙设备
@param request: AttendanceBleDevicesQueryRequest
@return: AttendanceBleDevicesQueryResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.AttendanceBleDevicesQueryHeaders()
return self.attendance_ble_devices_query_with_options(request, headers, runtime)
async def attendance_ble_devices_query_async(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesQueryRequest,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesQueryResponse:
"""
@summary 批量查询蓝牙设备
@param request: AttendanceBleDevicesQueryRequest
@return: AttendanceBleDevicesQueryResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.AttendanceBleDevicesQueryHeaders()
return await self.attendance_ble_devices_query_with_options_async(request, headers, runtime)
def attendance_ble_devices_remove_with_options(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveRequest,
headers: dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveResponse:
"""
@summary 批量删除考勤组的蓝牙设备
@param request: AttendanceBleDevicesRemoveRequest
@param headers: AttendanceBleDevicesRemoveHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: AttendanceBleDevicesRemoveResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.device_id_list):
body['deviceIdList'] = request.device_id_list
if not UtilClient.is_unset(request.group_key):
body['groupKey'] = request.group_key
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='AttendanceBleDevicesRemove',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/group/bledevices/remove',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveResponse(),
self.execute(params, req, runtime)
)
async def attendance_ble_devices_remove_with_options_async(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveRequest,
headers: dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveResponse:
"""
@summary 批量删除考勤组的蓝牙设备
@param request: AttendanceBleDevicesRemoveRequest
@param headers: AttendanceBleDevicesRemoveHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: AttendanceBleDevicesRemoveResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.device_id_list):
body['deviceIdList'] = request.device_id_list
if not UtilClient.is_unset(request.group_key):
body['groupKey'] = request.group_key
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='AttendanceBleDevicesRemove',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/group/bledevices/remove',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveResponse(),
await self.execute_async(params, req, runtime)
)
def attendance_ble_devices_remove(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveRequest,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveResponse:
"""
@summary 批量删除考勤组的蓝牙设备
@param request: AttendanceBleDevicesRemoveRequest
@return: AttendanceBleDevicesRemoveResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveHeaders()
return self.attendance_ble_devices_remove_with_options(request, headers, runtime)
async def attendance_ble_devices_remove_async(
self,
request: dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveRequest,
) -> dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveResponse:
"""
@summary 批量删除考勤组的蓝牙设备
@param request: AttendanceBleDevicesRemoveRequest
@return: AttendanceBleDevicesRemoveResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.AttendanceBleDevicesRemoveHeaders()
return await self.attendance_ble_devices_remove_with_options_async(request, headers, runtime)
def batch_boss_check_with_options(
self,
request: dingtalkattendance__1__0_models.BatchBossCheckRequest,
headers: dingtalkattendance__1__0_models.BatchBossCheckHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.BatchBossCheckResponse:
"""
@summary 批量修改考勤结果
@param request: BatchBossCheckRequest
@param headers: BatchBossCheckHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: BatchBossCheckResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.models):
body['models'] = request.models
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='BatchBossCheck',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/results/batch',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.BatchBossCheckResponse(),
self.execute(params, req, runtime)
)
async def batch_boss_check_with_options_async(
self,
request: dingtalkattendance__1__0_models.BatchBossCheckRequest,
headers: dingtalkattendance__1__0_models.BatchBossCheckHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.BatchBossCheckResponse:
"""
@summary 批量修改考勤结果
@param request: BatchBossCheckRequest
@param headers: BatchBossCheckHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: BatchBossCheckResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.models):
body['models'] = request.models
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='BatchBossCheck',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/results/batch',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.BatchBossCheckResponse(),
await self.execute_async(params, req, runtime)
)
def batch_boss_check(
self,
request: dingtalkattendance__1__0_models.BatchBossCheckRequest,
) -> dingtalkattendance__1__0_models.BatchBossCheckResponse:
"""
@summary 批量修改考勤结果
@param request: BatchBossCheckRequest
@return: BatchBossCheckResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.BatchBossCheckHeaders()
return self.batch_boss_check_with_options(request, headers, runtime)
async def batch_boss_check_async(
self,
request: dingtalkattendance__1__0_models.BatchBossCheckRequest,
) -> dingtalkattendance__1__0_models.BatchBossCheckResponse:
"""
@summary 批量修改考勤结果
@param request: BatchBossCheckRequest
@return: BatchBossCheckResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.BatchBossCheckHeaders()
return await self.batch_boss_check_with_options_async(request, headers, runtime)
def calculate_duration_with_options(
self,
request: dingtalkattendance__1__0_models.CalculateDurationRequest,
headers: dingtalkattendance__1__0_models.CalculateDurationHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.CalculateDurationResponse:
"""
@summary 预计算时长
@param request: CalculateDurationRequest
@param headers: CalculateDurationHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CalculateDurationResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
body = {}
if not UtilClient.is_unset(request.biz_type):
body['bizType'] = request.biz_type
if not UtilClient.is_unset(request.calculate_model):
body['calculateModel'] = request.calculate_model
if not UtilClient.is_unset(request.duration_unit):
body['durationUnit'] = request.duration_unit
if not UtilClient.is_unset(request.from_time):
body['fromTime'] = request.from_time
if not UtilClient.is_unset(request.leave_code):
body['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.to_time):
body['toTime'] = request.to_time
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CalculateDuration',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/approvals/durations/calculate',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.CalculateDurationResponse(),
self.execute(params, req, runtime)
)
async def calculate_duration_with_options_async(
self,
request: dingtalkattendance__1__0_models.CalculateDurationRequest,
headers: dingtalkattendance__1__0_models.CalculateDurationHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.CalculateDurationResponse:
"""
@summary 预计算时长
@param request: CalculateDurationRequest
@param headers: CalculateDurationHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CalculateDurationResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
body = {}
if not UtilClient.is_unset(request.biz_type):
body['bizType'] = request.biz_type
if not UtilClient.is_unset(request.calculate_model):
body['calculateModel'] = request.calculate_model
if not UtilClient.is_unset(request.duration_unit):
body['durationUnit'] = request.duration_unit
if not UtilClient.is_unset(request.from_time):
body['fromTime'] = request.from_time
if not UtilClient.is_unset(request.leave_code):
body['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.to_time):
body['toTime'] = request.to_time
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CalculateDuration',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/approvals/durations/calculate',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.CalculateDurationResponse(),
await self.execute_async(params, req, runtime)
)
def calculate_duration(
self,
request: dingtalkattendance__1__0_models.CalculateDurationRequest,
) -> dingtalkattendance__1__0_models.CalculateDurationResponse:
"""
@summary 预计算时长
@param request: CalculateDurationRequest
@return: CalculateDurationResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.CalculateDurationHeaders()
return self.calculate_duration_with_options(request, headers, runtime)
async def calculate_duration_async(
self,
request: dingtalkattendance__1__0_models.CalculateDurationRequest,
) -> dingtalkattendance__1__0_models.CalculateDurationResponse:
"""
@summary 预计算时长
@param request: CalculateDurationRequest
@return: CalculateDurationResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.CalculateDurationHeaders()
return await self.calculate_duration_with_options_async(request, headers, runtime)
def check_closing_account_with_options(
self,
request: dingtalkattendance__1__0_models.CheckClosingAccountRequest,
headers: dingtalkattendance__1__0_models.CheckClosingAccountHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.CheckClosingAccountResponse:
"""
@summary 针对某些员工某段时间内封账状态的查询
@param request: CheckClosingAccountRequest
@param headers: CheckClosingAccountHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CheckClosingAccountResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.biz_code):
body['bizCode'] = request.biz_code
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
if not UtilClient.is_unset(request.user_time_range):
body['userTimeRange'] = request.user_time_range
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CheckClosingAccount',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/closingAccounts/status/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.CheckClosingAccountResponse(),
self.execute(params, req, runtime)
)
async def check_closing_account_with_options_async(
self,
request: dingtalkattendance__1__0_models.CheckClosingAccountRequest,
headers: dingtalkattendance__1__0_models.CheckClosingAccountHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.CheckClosingAccountResponse:
"""
@summary 针对某些员工某段时间内封账状态的查询
@param request: CheckClosingAccountRequest
@param headers: CheckClosingAccountHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CheckClosingAccountResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.biz_code):
body['bizCode'] = request.biz_code
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
if not UtilClient.is_unset(request.user_time_range):
body['userTimeRange'] = request.user_time_range
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CheckClosingAccount',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/closingAccounts/status/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.CheckClosingAccountResponse(),
await self.execute_async(params, req, runtime)
)
def check_closing_account(
self,
request: dingtalkattendance__1__0_models.CheckClosingAccountRequest,
) -> dingtalkattendance__1__0_models.CheckClosingAccountResponse:
"""
@summary 针对某些员工某段时间内封账状态的查询
@param request: CheckClosingAccountRequest
@return: CheckClosingAccountResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.CheckClosingAccountHeaders()
return self.check_closing_account_with_options(request, headers, runtime)
async def check_closing_account_async(
self,
request: dingtalkattendance__1__0_models.CheckClosingAccountRequest,
) -> dingtalkattendance__1__0_models.CheckClosingAccountResponse:
"""
@summary 针对某些员工某段时间内封账状态的查询
@param request: CheckClosingAccountRequest
@return: CheckClosingAccountResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.CheckClosingAccountHeaders()
return await self.check_closing_account_with_options_async(request, headers, runtime)
def check_write_permission_with_options(
self,
request: dingtalkattendance__1__0_models.CheckWritePermissionRequest,
headers: dingtalkattendance__1__0_models.CheckWritePermissionHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.CheckWritePermissionResponse:
"""
@summary 考勤资源的写权限查询
@param request: CheckWritePermissionRequest
@param headers: CheckWritePermissionHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CheckWritePermissionResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.category):
body['category'] = request.category
if not UtilClient.is_unset(request.entity_ids):
body['entityIds'] = request.entity_ids
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.resource_key):
body['resourceKey'] = request.resource_key
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CheckWritePermission',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/writePermissions/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.CheckWritePermissionResponse(),
self.execute(params, req, runtime)
)
async def check_write_permission_with_options_async(
self,
request: dingtalkattendance__1__0_models.CheckWritePermissionRequest,
headers: dingtalkattendance__1__0_models.CheckWritePermissionHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.CheckWritePermissionResponse:
"""
@summary 考勤资源的写权限查询
@param request: CheckWritePermissionRequest
@param headers: CheckWritePermissionHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CheckWritePermissionResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.category):
body['category'] = request.category
if not UtilClient.is_unset(request.entity_ids):
body['entityIds'] = request.entity_ids
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.resource_key):
body['resourceKey'] = request.resource_key
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CheckWritePermission',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/writePermissions/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.CheckWritePermissionResponse(),
await self.execute_async(params, req, runtime)
)
def check_write_permission(
self,
request: dingtalkattendance__1__0_models.CheckWritePermissionRequest,
) -> dingtalkattendance__1__0_models.CheckWritePermissionResponse:
"""
@summary 考勤资源的写权限查询
@param request: CheckWritePermissionRequest
@return: CheckWritePermissionResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.CheckWritePermissionHeaders()
return self.check_write_permission_with_options(request, headers, runtime)
async def check_write_permission_async(
self,
request: dingtalkattendance__1__0_models.CheckWritePermissionRequest,
) -> dingtalkattendance__1__0_models.CheckWritePermissionResponse:
"""
@summary 考勤资源的写权限查询
@param request: CheckWritePermissionRequest
@return: CheckWritePermissionResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.CheckWritePermissionHeaders()
return await self.check_write_permission_with_options_async(request, headers, runtime)
def create_approve_with_options(
self,
request: dingtalkattendance__1__0_models.CreateApproveRequest,
headers: dingtalkattendance__1__0_models.CreateApproveHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.CreateApproveResponse:
"""
@summary 创建考勤打卡审批单
@param request: CreateApproveRequest
@param headers: CreateApproveHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CreateApproveResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.approve_id):
body['approveId'] = request.approve_id
if not UtilClient.is_unset(request.op_userid):
body['opUserid'] = request.op_userid
if not UtilClient.is_unset(request.punch_param):
body['punchParam'] = request.punch_param
if not UtilClient.is_unset(request.sub_type):
body['subType'] = request.sub_type
if not UtilClient.is_unset(request.tag_name):
body['tagName'] = request.tag_name
if not UtilClient.is_unset(request.userid):
body['userid'] = request.userid
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CreateApprove',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/approves',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.CreateApproveResponse(),
self.execute(params, req, runtime)
)
async def create_approve_with_options_async(
self,
request: dingtalkattendance__1__0_models.CreateApproveRequest,
headers: dingtalkattendance__1__0_models.CreateApproveHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.CreateApproveResponse:
"""
@summary 创建考勤打卡审批单
@param request: CreateApproveRequest
@param headers: CreateApproveHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: CreateApproveResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.approve_id):
body['approveId'] = request.approve_id
if not UtilClient.is_unset(request.op_userid):
body['opUserid'] = request.op_userid
if not UtilClient.is_unset(request.punch_param):
body['punchParam'] = request.punch_param
if not UtilClient.is_unset(request.sub_type):
body['subType'] = request.sub_type
if not UtilClient.is_unset(request.tag_name):
body['tagName'] = request.tag_name
if not UtilClient.is_unset(request.userid):
body['userid'] = request.userid
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='CreateApprove',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/approves',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.CreateApproveResponse(),
await self.execute_async(params, req, runtime)
)
def create_approve(
self,
request: dingtalkattendance__1__0_models.CreateApproveRequest,
) -> dingtalkattendance__1__0_models.CreateApproveResponse:
"""
@summary 创建考勤打卡审批单
@param request: CreateApproveRequest
@return: CreateApproveResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.CreateApproveHeaders()
return self.create_approve_with_options(request, headers, runtime)
async def create_approve_async(
self,
request: dingtalkattendance__1__0_models.CreateApproveRequest,
) -> dingtalkattendance__1__0_models.CreateApproveResponse:
"""
@summary 创建考勤打卡审批单
@param request: CreateApproveRequest
@return: CreateApproveResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.CreateApproveHeaders()
return await self.create_approve_with_options_async(request, headers, runtime)
def delete_leave_request_with_options(
self,
union_id: str,
request: dingtalkattendance__1__0_models.DeleteLeaveRequestRequest,
headers: dingtalkattendance__1__0_models.DeleteLeaveRequestHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.DeleteLeaveRequestResponse:
"""
@summary 撤销请假
@param request: DeleteLeaveRequestRequest
@param headers: DeleteLeaveRequestHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteLeaveRequestResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.outer_id):
body['outerId'] = request.outer_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='DeleteLeaveRequest',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/users/{union_id}/vacations/records/revoke',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.DeleteLeaveRequestResponse(),
self.execute(params, req, runtime)
)
async def delete_leave_request_with_options_async(
self,
union_id: str,
request: dingtalkattendance__1__0_models.DeleteLeaveRequestRequest,
headers: dingtalkattendance__1__0_models.DeleteLeaveRequestHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.DeleteLeaveRequestResponse:
"""
@summary 撤销请假
@param request: DeleteLeaveRequestRequest
@param headers: DeleteLeaveRequestHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteLeaveRequestResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.outer_id):
body['outerId'] = request.outer_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='DeleteLeaveRequest',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/users/{union_id}/vacations/records/revoke',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.DeleteLeaveRequestResponse(),
await self.execute_async(params, req, runtime)
)
def delete_leave_request(
self,
union_id: str,
request: dingtalkattendance__1__0_models.DeleteLeaveRequestRequest,
) -> dingtalkattendance__1__0_models.DeleteLeaveRequestResponse:
"""
@summary 撤销请假
@param request: DeleteLeaveRequestRequest
@return: DeleteLeaveRequestResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.DeleteLeaveRequestHeaders()
return self.delete_leave_request_with_options(union_id, request, headers, runtime)
async def delete_leave_request_async(
self,
union_id: str,
request: dingtalkattendance__1__0_models.DeleteLeaveRequestRequest,
) -> dingtalkattendance__1__0_models.DeleteLeaveRequestResponse:
"""
@summary 撤销请假
@param request: DeleteLeaveRequestRequest
@return: DeleteLeaveRequestResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.DeleteLeaveRequestHeaders()
return await self.delete_leave_request_with_options_async(union_id, request, headers, runtime)
def delete_water_mark_template_with_options(
self,
request: dingtalkattendance__1__0_models.DeleteWaterMarkTemplateRequest,
headers: dingtalkattendance__1__0_models.DeleteWaterMarkTemplateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.DeleteWaterMarkTemplateResponse:
"""
@summary 删除水印模板
@param request: DeleteWaterMarkTemplateRequest
@param headers: DeleteWaterMarkTemplateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteWaterMarkTemplateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.form_code):
query['formCode'] = request.form_code
if not UtilClient.is_unset(request.form_content):
query['formContent'] = request.form_content
if not UtilClient.is_unset(request.open_conversation_id):
query['openConversationId'] = request.open_conversation_id
if not UtilClient.is_unset(request.system_template):
query['systemTemplate'] = request.system_template
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteWaterMarkTemplate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/watermarks/templates',
method='DELETE',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.DeleteWaterMarkTemplateResponse(),
self.execute(params, req, runtime)
)
async def delete_water_mark_template_with_options_async(
self,
request: dingtalkattendance__1__0_models.DeleteWaterMarkTemplateRequest,
headers: dingtalkattendance__1__0_models.DeleteWaterMarkTemplateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.DeleteWaterMarkTemplateResponse:
"""
@summary 删除水印模板
@param request: DeleteWaterMarkTemplateRequest
@param headers: DeleteWaterMarkTemplateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: DeleteWaterMarkTemplateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.form_code):
query['formCode'] = request.form_code
if not UtilClient.is_unset(request.form_content):
query['formContent'] = request.form_content
if not UtilClient.is_unset(request.open_conversation_id):
query['openConversationId'] = request.open_conversation_id
if not UtilClient.is_unset(request.system_template):
query['systemTemplate'] = request.system_template
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='DeleteWaterMarkTemplate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/watermarks/templates',
method='DELETE',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.DeleteWaterMarkTemplateResponse(),
await self.execute_async(params, req, runtime)
)
def delete_water_mark_template(
self,
request: dingtalkattendance__1__0_models.DeleteWaterMarkTemplateRequest,
) -> dingtalkattendance__1__0_models.DeleteWaterMarkTemplateResponse:
"""
@summary 删除水印模板
@param request: DeleteWaterMarkTemplateRequest
@return: DeleteWaterMarkTemplateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.DeleteWaterMarkTemplateHeaders()
return self.delete_water_mark_template_with_options(request, headers, runtime)
async def delete_water_mark_template_async(
self,
request: dingtalkattendance__1__0_models.DeleteWaterMarkTemplateRequest,
) -> dingtalkattendance__1__0_models.DeleteWaterMarkTemplateResponse:
"""
@summary 删除水印模板
@param request: DeleteWaterMarkTemplateRequest
@return: DeleteWaterMarkTemplateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.DeleteWaterMarkTemplateHeaders()
return await self.delete_water_mark_template_with_options_async(request, headers, runtime)
def ding_talk_security_check_with_options(
self,
request: dingtalkattendance__1__0_models.DingTalkSecurityCheckRequest,
headers: dingtalkattendance__1__0_models.DingTalkSecurityCheckHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.DingTalkSecurityCheckResponse:
"""
@summary 钉钉安全检查
@param request: DingTalkSecurityCheckRequest
@param headers: DingTalkSecurityCheckHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: DingTalkSecurityCheckResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.client_ver):
body['clientVer'] = request.client_ver
if not UtilClient.is_unset(request.platform):
body['platform'] = request.platform
if not UtilClient.is_unset(request.platform_ver):
body['platformVer'] = request.platform_ver
if not UtilClient.is_unset(request.sec):
body['sec'] = request.sec
if not UtilClient.is_unset(request.user_id):
body['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='DingTalkSecurityCheck',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/securities/check',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.DingTalkSecurityCheckResponse(),
self.execute(params, req, runtime)
)
async def ding_talk_security_check_with_options_async(
self,
request: dingtalkattendance__1__0_models.DingTalkSecurityCheckRequest,
headers: dingtalkattendance__1__0_models.DingTalkSecurityCheckHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.DingTalkSecurityCheckResponse:
"""
@summary 钉钉安全检查
@param request: DingTalkSecurityCheckRequest
@param headers: DingTalkSecurityCheckHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: DingTalkSecurityCheckResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.client_ver):
body['clientVer'] = request.client_ver
if not UtilClient.is_unset(request.platform):
body['platform'] = request.platform
if not UtilClient.is_unset(request.platform_ver):
body['platformVer'] = request.platform_ver
if not UtilClient.is_unset(request.sec):
body['sec'] = request.sec
if not UtilClient.is_unset(request.user_id):
body['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='DingTalkSecurityCheck',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/securities/check',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.DingTalkSecurityCheckResponse(),
await self.execute_async(params, req, runtime)
)
def ding_talk_security_check(
self,
request: dingtalkattendance__1__0_models.DingTalkSecurityCheckRequest,
) -> dingtalkattendance__1__0_models.DingTalkSecurityCheckResponse:
"""
@summary 钉钉安全检查
@param request: DingTalkSecurityCheckRequest
@return: DingTalkSecurityCheckResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.DingTalkSecurityCheckHeaders()
return self.ding_talk_security_check_with_options(request, headers, runtime)
async def ding_talk_security_check_async(
self,
request: dingtalkattendance__1__0_models.DingTalkSecurityCheckRequest,
) -> dingtalkattendance__1__0_models.DingTalkSecurityCheckResponse:
"""
@summary 钉钉安全检查
@param request: DingTalkSecurityCheckRequest
@return: DingTalkSecurityCheckResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.DingTalkSecurityCheckHeaders()
return await self.ding_talk_security_check_with_options_async(request, headers, runtime)
def get_atmanage_scope_with_options(
self,
request: dingtalkattendance__1__0_models.GetATManageScopeRequest,
headers: dingtalkattendance__1__0_models.GetATManageScopeHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetATManageScopeResponse:
"""
@summary 查询管理员管理范围下的userid
@param request: GetATManageScopeRequest
@param headers: GetATManageScopeHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetATManageScopeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['maxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['nextToken'] = request.next_token
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetATManageScope',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/manageScopes',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetATManageScopeResponse(),
self.execute(params, req, runtime)
)
async def get_atmanage_scope_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetATManageScopeRequest,
headers: dingtalkattendance__1__0_models.GetATManageScopeHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetATManageScopeResponse:
"""
@summary 查询管理员管理范围下的userid
@param request: GetATManageScopeRequest
@param headers: GetATManageScopeHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetATManageScopeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['maxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['nextToken'] = request.next_token
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetATManageScope',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/manageScopes',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetATManageScopeResponse(),
await self.execute_async(params, req, runtime)
)
def get_atmanage_scope(
self,
request: dingtalkattendance__1__0_models.GetATManageScopeRequest,
) -> dingtalkattendance__1__0_models.GetATManageScopeResponse:
"""
@summary 查询管理员管理范围下的userid
@param request: GetATManageScopeRequest
@return: GetATManageScopeResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetATManageScopeHeaders()
return self.get_atmanage_scope_with_options(request, headers, runtime)
async def get_atmanage_scope_async(
self,
request: dingtalkattendance__1__0_models.GetATManageScopeRequest,
) -> dingtalkattendance__1__0_models.GetATManageScopeResponse:
"""
@summary 查询管理员管理范围下的userid
@param request: GetATManageScopeRequest
@return: GetATManageScopeResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetATManageScopeHeaders()
return await self.get_atmanage_scope_with_options_async(request, headers, runtime)
def get_adjustments_with_options(
self,
request: dingtalkattendance__1__0_models.GetAdjustmentsRequest,
headers: dingtalkattendance__1__0_models.GetAdjustmentsHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetAdjustmentsResponse:
"""
@summary 获取补卡规则列表
@param request: GetAdjustmentsRequest
@param headers: GetAdjustmentsHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetAdjustmentsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.page_number):
query['pageNumber'] = request.page_number
if not UtilClient.is_unset(request.page_size):
query['pageSize'] = request.page_size
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetAdjustments',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/adjustments',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetAdjustmentsResponse(),
self.execute(params, req, runtime)
)
async def get_adjustments_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetAdjustmentsRequest,
headers: dingtalkattendance__1__0_models.GetAdjustmentsHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetAdjustmentsResponse:
"""
@summary 获取补卡规则列表
@param request: GetAdjustmentsRequest
@param headers: GetAdjustmentsHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetAdjustmentsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.page_number):
query['pageNumber'] = request.page_number
if not UtilClient.is_unset(request.page_size):
query['pageSize'] = request.page_size
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetAdjustments',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/adjustments',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetAdjustmentsResponse(),
await self.execute_async(params, req, runtime)
)
def get_adjustments(
self,
request: dingtalkattendance__1__0_models.GetAdjustmentsRequest,
) -> dingtalkattendance__1__0_models.GetAdjustmentsResponse:
"""
@summary 获取补卡规则列表
@param request: GetAdjustmentsRequest
@return: GetAdjustmentsResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetAdjustmentsHeaders()
return self.get_adjustments_with_options(request, headers, runtime)
async def get_adjustments_async(
self,
request: dingtalkattendance__1__0_models.GetAdjustmentsRequest,
) -> dingtalkattendance__1__0_models.GetAdjustmentsResponse:
"""
@summary 获取补卡规则列表
@param request: GetAdjustmentsRequest
@return: GetAdjustmentsResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetAdjustmentsHeaders()
return await self.get_adjustments_with_options_async(request, headers, runtime)
def get_check_in_schema_template_with_options(
self,
request: dingtalkattendance__1__0_models.GetCheckInSchemaTemplateRequest,
headers: dingtalkattendance__1__0_models.GetCheckInSchemaTemplateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetCheckInSchemaTemplateResponse:
"""
@summary 获取水印打卡模板
@param request: GetCheckInSchemaTemplateRequest
@param headers: GetCheckInSchemaTemplateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetCheckInSchemaTemplateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.biz_code):
query['bizCode'] = request.biz_code
if not UtilClient.is_unset(request.open_conversation_id):
query['openConversationId'] = request.open_conversation_id
if not UtilClient.is_unset(request.scene_code):
query['sceneCode'] = request.scene_code
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetCheckInSchemaTemplate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/watermarks/templates',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetCheckInSchemaTemplateResponse(),
self.execute(params, req, runtime)
)
async def get_check_in_schema_template_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetCheckInSchemaTemplateRequest,
headers: dingtalkattendance__1__0_models.GetCheckInSchemaTemplateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetCheckInSchemaTemplateResponse:
"""
@summary 获取水印打卡模板
@param request: GetCheckInSchemaTemplateRequest
@param headers: GetCheckInSchemaTemplateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetCheckInSchemaTemplateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.biz_code):
query['bizCode'] = request.biz_code
if not UtilClient.is_unset(request.open_conversation_id):
query['openConversationId'] = request.open_conversation_id
if not UtilClient.is_unset(request.scene_code):
query['sceneCode'] = request.scene_code
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetCheckInSchemaTemplate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/watermarks/templates',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetCheckInSchemaTemplateResponse(),
await self.execute_async(params, req, runtime)
)
def get_check_in_schema_template(
self,
request: dingtalkattendance__1__0_models.GetCheckInSchemaTemplateRequest,
) -> dingtalkattendance__1__0_models.GetCheckInSchemaTemplateResponse:
"""
@summary 获取水印打卡模板
@param request: GetCheckInSchemaTemplateRequest
@return: GetCheckInSchemaTemplateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetCheckInSchemaTemplateHeaders()
return self.get_check_in_schema_template_with_options(request, headers, runtime)
async def get_check_in_schema_template_async(
self,
request: dingtalkattendance__1__0_models.GetCheckInSchemaTemplateRequest,
) -> dingtalkattendance__1__0_models.GetCheckInSchemaTemplateResponse:
"""
@summary 获取水印打卡模板
@param request: GetCheckInSchemaTemplateRequest
@return: GetCheckInSchemaTemplateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetCheckInSchemaTemplateHeaders()
return await self.get_check_in_schema_template_with_options_async(request, headers, runtime)
def get_checkin_record_by_user_with_options(
self,
request: dingtalkattendance__1__0_models.GetCheckinRecordByUserRequest,
headers: dingtalkattendance__1__0_models.GetCheckinRecordByUserHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetCheckinRecordByUserResponse:
"""
@summary 调用本接口,获取用户签到记录。
@param request: GetCheckinRecordByUserRequest
@param headers: GetCheckinRecordByUserHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetCheckinRecordByUserResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.end_time):
body['endTime'] = request.end_time
if not UtilClient.is_unset(request.max_results):
body['maxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
body['nextToken'] = request.next_token
if not UtilClient.is_unset(request.operator_user_id):
body['operatorUserId'] = request.operator_user_id
if not UtilClient.is_unset(request.start_time):
body['startTime'] = request.start_time
if not UtilClient.is_unset(request.user_id_list):
body['userIdList'] = request.user_id_list
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetCheckinRecordByUser',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/checkin/records/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetCheckinRecordByUserResponse(),
self.execute(params, req, runtime)
)
async def get_checkin_record_by_user_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetCheckinRecordByUserRequest,
headers: dingtalkattendance__1__0_models.GetCheckinRecordByUserHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetCheckinRecordByUserResponse:
"""
@summary 调用本接口,获取用户签到记录。
@param request: GetCheckinRecordByUserRequest
@param headers: GetCheckinRecordByUserHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetCheckinRecordByUserResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.end_time):
body['endTime'] = request.end_time
if not UtilClient.is_unset(request.max_results):
body['maxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
body['nextToken'] = request.next_token
if not UtilClient.is_unset(request.operator_user_id):
body['operatorUserId'] = request.operator_user_id
if not UtilClient.is_unset(request.start_time):
body['startTime'] = request.start_time
if not UtilClient.is_unset(request.user_id_list):
body['userIdList'] = request.user_id_list
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetCheckinRecordByUser',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/checkin/records/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetCheckinRecordByUserResponse(),
await self.execute_async(params, req, runtime)
)
def get_checkin_record_by_user(
self,
request: dingtalkattendance__1__0_models.GetCheckinRecordByUserRequest,
) -> dingtalkattendance__1__0_models.GetCheckinRecordByUserResponse:
"""
@summary 调用本接口,获取用户签到记录。
@param request: GetCheckinRecordByUserRequest
@return: GetCheckinRecordByUserResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetCheckinRecordByUserHeaders()
return self.get_checkin_record_by_user_with_options(request, headers, runtime)
async def get_checkin_record_by_user_async(
self,
request: dingtalkattendance__1__0_models.GetCheckinRecordByUserRequest,
) -> dingtalkattendance__1__0_models.GetCheckinRecordByUserResponse:
"""
@summary 调用本接口,获取用户签到记录。
@param request: GetCheckinRecordByUserRequest
@return: GetCheckinRecordByUserResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetCheckinRecordByUserHeaders()
return await self.get_checkin_record_by_user_with_options_async(request, headers, runtime)
def get_class_with_deleted_with_options(
self,
class_id: str,
headers: dingtalkattendance__1__0_models.GetClassWithDeletedHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetClassWithDeletedResponse:
"""
@summary 班次查询(包含已删除班次)
@param headers: GetClassWithDeletedHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetClassWithDeletedResponse
"""
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers
)
params = open_api_models.Params(
action='GetClassWithDeleted',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/classWithDeleted/{class_id}',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetClassWithDeletedResponse(),
self.execute(params, req, runtime)
)
async def get_class_with_deleted_with_options_async(
self,
class_id: str,
headers: dingtalkattendance__1__0_models.GetClassWithDeletedHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetClassWithDeletedResponse:
"""
@summary 班次查询(包含已删除班次)
@param headers: GetClassWithDeletedHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetClassWithDeletedResponse
"""
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers
)
params = open_api_models.Params(
action='GetClassWithDeleted',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/classWithDeleted/{class_id}',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetClassWithDeletedResponse(),
await self.execute_async(params, req, runtime)
)
def get_class_with_deleted(
self,
class_id: str,
) -> dingtalkattendance__1__0_models.GetClassWithDeletedResponse:
"""
@summary 班次查询(包含已删除班次)
@return: GetClassWithDeletedResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetClassWithDeletedHeaders()
return self.get_class_with_deleted_with_options(class_id, headers, runtime)
async def get_class_with_deleted_async(
self,
class_id: str,
) -> dingtalkattendance__1__0_models.GetClassWithDeletedResponse:
"""
@summary 班次查询(包含已删除班次)
@return: GetClassWithDeletedResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetClassWithDeletedHeaders()
return await self.get_class_with_deleted_with_options_async(class_id, headers, runtime)
def get_closing_accounts_with_options(
self,
request: dingtalkattendance__1__0_models.GetClosingAccountsRequest,
headers: dingtalkattendance__1__0_models.GetClosingAccountsHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetClosingAccountsResponse:
"""
@summary 查询指定用户的封账规则
@param request: GetClosingAccountsRequest
@param headers: GetClosingAccountsHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetClosingAccountsResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetClosingAccounts',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/closingAccounts/rules/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetClosingAccountsResponse(),
self.execute(params, req, runtime)
)
async def get_closing_accounts_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetClosingAccountsRequest,
headers: dingtalkattendance__1__0_models.GetClosingAccountsHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetClosingAccountsResponse:
"""
@summary 查询指定用户的封账规则
@param request: GetClosingAccountsRequest
@param headers: GetClosingAccountsHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetClosingAccountsResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetClosingAccounts',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/closingAccounts/rules/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetClosingAccountsResponse(),
await self.execute_async(params, req, runtime)
)
def get_closing_accounts(
self,
request: dingtalkattendance__1__0_models.GetClosingAccountsRequest,
) -> dingtalkattendance__1__0_models.GetClosingAccountsResponse:
"""
@summary 查询指定用户的封账规则
@param request: GetClosingAccountsRequest
@return: GetClosingAccountsResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetClosingAccountsHeaders()
return self.get_closing_accounts_with_options(request, headers, runtime)
async def get_closing_accounts_async(
self,
request: dingtalkattendance__1__0_models.GetClosingAccountsRequest,
) -> dingtalkattendance__1__0_models.GetClosingAccountsResponse:
"""
@summary 查询指定用户的封账规则
@param request: GetClosingAccountsRequest
@return: GetClosingAccountsResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetClosingAccountsHeaders()
return await self.get_closing_accounts_with_options_async(request, headers, runtime)
def get_columnvals_with_options(
self,
request: dingtalkattendance__1__0_models.GetColumnvalsRequest,
headers: dingtalkattendance__1__0_models.GetColumnvalsHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetColumnvalsResponse:
"""
@summary 获取多个用户的智能考勤报表的列值
@param request: GetColumnvalsRequest
@param headers: GetColumnvalsHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetColumnvalsResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.column_id_list):
body['columnIdList'] = request.column_id_list
if not UtilClient.is_unset(request.from_date):
body['fromDate'] = request.from_date
if not UtilClient.is_unset(request.to_date):
body['toDate'] = request.to_date
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetColumnvals',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/columnValues/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetColumnvalsResponse(),
self.execute(params, req, runtime)
)
async def get_columnvals_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetColumnvalsRequest,
headers: dingtalkattendance__1__0_models.GetColumnvalsHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetColumnvalsResponse:
"""
@summary 获取多个用户的智能考勤报表的列值
@param request: GetColumnvalsRequest
@param headers: GetColumnvalsHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetColumnvalsResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.column_id_list):
body['columnIdList'] = request.column_id_list
if not UtilClient.is_unset(request.from_date):
body['fromDate'] = request.from_date
if not UtilClient.is_unset(request.to_date):
body['toDate'] = request.to_date
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetColumnvals',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/columnValues/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetColumnvalsResponse(),
await self.execute_async(params, req, runtime)
)
def get_columnvals(
self,
request: dingtalkattendance__1__0_models.GetColumnvalsRequest,
) -> dingtalkattendance__1__0_models.GetColumnvalsResponse:
"""
@summary 获取多个用户的智能考勤报表的列值
@param request: GetColumnvalsRequest
@return: GetColumnvalsResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetColumnvalsHeaders()
return self.get_columnvals_with_options(request, headers, runtime)
async def get_columnvals_async(
self,
request: dingtalkattendance__1__0_models.GetColumnvalsRequest,
) -> dingtalkattendance__1__0_models.GetColumnvalsResponse:
"""
@summary 获取多个用户的智能考勤报表的列值
@param request: GetColumnvalsRequest
@return: GetColumnvalsResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetColumnvalsHeaders()
return await self.get_columnvals_with_options_async(request, headers, runtime)
def get_leave_records_with_options(
self,
request: dingtalkattendance__1__0_models.GetLeaveRecordsRequest,
headers: dingtalkattendance__1__0_models.GetLeaveRecordsHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetLeaveRecordsResponse:
"""
@summary 批量查询员工假期余额变更记录
@param request: GetLeaveRecordsRequest
@param headers: GetLeaveRecordsHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetLeaveRecordsResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.leave_code):
body['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.page_number):
body['pageNumber'] = request.page_number
if not UtilClient.is_unset(request.page_size):
body['pageSize'] = request.page_size
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetLeaveRecords',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/vacations/records/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetLeaveRecordsResponse(),
self.execute(params, req, runtime)
)
async def get_leave_records_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetLeaveRecordsRequest,
headers: dingtalkattendance__1__0_models.GetLeaveRecordsHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetLeaveRecordsResponse:
"""
@summary 批量查询员工假期余额变更记录
@param request: GetLeaveRecordsRequest
@param headers: GetLeaveRecordsHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetLeaveRecordsResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.leave_code):
body['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.page_number):
body['pageNumber'] = request.page_number
if not UtilClient.is_unset(request.page_size):
body['pageSize'] = request.page_size
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetLeaveRecords',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/vacations/records/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetLeaveRecordsResponse(),
await self.execute_async(params, req, runtime)
)
def get_leave_records(
self,
request: dingtalkattendance__1__0_models.GetLeaveRecordsRequest,
) -> dingtalkattendance__1__0_models.GetLeaveRecordsResponse:
"""
@summary 批量查询员工假期余额变更记录
@param request: GetLeaveRecordsRequest
@return: GetLeaveRecordsResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetLeaveRecordsHeaders()
return self.get_leave_records_with_options(request, headers, runtime)
async def get_leave_records_async(
self,
request: dingtalkattendance__1__0_models.GetLeaveRecordsRequest,
) -> dingtalkattendance__1__0_models.GetLeaveRecordsResponse:
"""
@summary 批量查询员工假期余额变更记录
@param request: GetLeaveRecordsRequest
@return: GetLeaveRecordsResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetLeaveRecordsHeaders()
return await self.get_leave_records_with_options_async(request, headers, runtime)
def get_leave_type_with_options(
self,
request: dingtalkattendance__1__0_models.GetLeaveTypeRequest,
headers: dingtalkattendance__1__0_models.GetLeaveTypeHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetLeaveTypeResponse:
"""
@summary 查询假期规则列表
@param request: GetLeaveTypeRequest
@param headers: GetLeaveTypeHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetLeaveTypeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.vacation_source):
query['vacationSource'] = request.vacation_source
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetLeaveType',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/leaves/types',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetLeaveTypeResponse(),
self.execute(params, req, runtime)
)
async def get_leave_type_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetLeaveTypeRequest,
headers: dingtalkattendance__1__0_models.GetLeaveTypeHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetLeaveTypeResponse:
"""
@summary 查询假期规则列表
@param request: GetLeaveTypeRequest
@param headers: GetLeaveTypeHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetLeaveTypeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.vacation_source):
query['vacationSource'] = request.vacation_source
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetLeaveType',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/leaves/types',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetLeaveTypeResponse(),
await self.execute_async(params, req, runtime)
)
def get_leave_type(
self,
request: dingtalkattendance__1__0_models.GetLeaveTypeRequest,
) -> dingtalkattendance__1__0_models.GetLeaveTypeResponse:
"""
@summary 查询假期规则列表
@param request: GetLeaveTypeRequest
@return: GetLeaveTypeResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetLeaveTypeHeaders()
return self.get_leave_type_with_options(request, headers, runtime)
async def get_leave_type_async(
self,
request: dingtalkattendance__1__0_models.GetLeaveTypeRequest,
) -> dingtalkattendance__1__0_models.GetLeaveTypeResponse:
"""
@summary 查询假期规则列表
@param request: GetLeaveTypeRequest
@return: GetLeaveTypeResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetLeaveTypeHeaders()
return await self.get_leave_type_with_options_async(request, headers, runtime)
def get_machine_with_options(
self,
dev_id: str,
headers: dingtalkattendance__1__0_models.GetMachineHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetMachineResponse:
"""
@summary 根据设备id获取考勤机信息
@param headers: GetMachineHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetMachineResponse
"""
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers
)
params = open_api_models.Params(
action='GetMachine',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/machines/{dev_id}',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetMachineResponse(),
self.execute(params, req, runtime)
)
async def get_machine_with_options_async(
self,
dev_id: str,
headers: dingtalkattendance__1__0_models.GetMachineHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetMachineResponse:
"""
@summary 根据设备id获取考勤机信息
@param headers: GetMachineHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetMachineResponse
"""
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers
)
params = open_api_models.Params(
action='GetMachine',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/machines/{dev_id}',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetMachineResponse(),
await self.execute_async(params, req, runtime)
)
def get_machine(
self,
dev_id: str,
) -> dingtalkattendance__1__0_models.GetMachineResponse:
"""
@summary 根据设备id获取考勤机信息
@return: GetMachineResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetMachineHeaders()
return self.get_machine_with_options(dev_id, headers, runtime)
async def get_machine_async(
self,
dev_id: str,
) -> dingtalkattendance__1__0_models.GetMachineResponse:
"""
@summary 根据设备id获取考勤机信息
@return: GetMachineResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetMachineHeaders()
return await self.get_machine_with_options_async(dev_id, headers, runtime)
def get_machine_user_with_options(
self,
dev_id: str,
request: dingtalkattendance__1__0_models.GetMachineUserRequest,
headers: dingtalkattendance__1__0_models.GetMachineUserHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetMachineUserResponse:
"""
@summary 根据设备id获取员工信息
@param request: GetMachineUserRequest
@param headers: GetMachineUserHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetMachineUserResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['maxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['nextToken'] = request.next_token
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetMachineUser',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/machines/getUser/{dev_id}',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetMachineUserResponse(),
self.execute(params, req, runtime)
)
async def get_machine_user_with_options_async(
self,
dev_id: str,
request: dingtalkattendance__1__0_models.GetMachineUserRequest,
headers: dingtalkattendance__1__0_models.GetMachineUserHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetMachineUserResponse:
"""
@summary 根据设备id获取员工信息
@param request: GetMachineUserRequest
@param headers: GetMachineUserHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetMachineUserResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['maxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['nextToken'] = request.next_token
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetMachineUser',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/machines/getUser/{dev_id}',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetMachineUserResponse(),
await self.execute_async(params, req, runtime)
)
def get_machine_user(
self,
dev_id: str,
request: dingtalkattendance__1__0_models.GetMachineUserRequest,
) -> dingtalkattendance__1__0_models.GetMachineUserResponse:
"""
@summary 根据设备id获取员工信息
@param request: GetMachineUserRequest
@return: GetMachineUserResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetMachineUserHeaders()
return self.get_machine_user_with_options(dev_id, request, headers, runtime)
async def get_machine_user_async(
self,
dev_id: str,
request: dingtalkattendance__1__0_models.GetMachineUserRequest,
) -> dingtalkattendance__1__0_models.GetMachineUserResponse:
"""
@summary 根据设备id获取员工信息
@param request: GetMachineUserRequest
@return: GetMachineUserResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetMachineUserHeaders()
return await self.get_machine_user_with_options_async(dev_id, request, headers, runtime)
def get_overdraft_info_with_options(
self,
request: dingtalkattendance__1__0_models.GetOverdraftInfoRequest,
headers: dingtalkattendance__1__0_models.GetOverdraftInfoHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetOverdraftInfoResponse:
"""
@summary 假期透支信息查询
@param request: GetOverdraftInfoRequest
@param headers: GetOverdraftInfoHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetOverdraftInfoResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.leave_code):
body['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.user_id_list):
body['userIdList'] = request.user_id_list
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetOverdraftInfo',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/vacations/overdraft/get',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetOverdraftInfoResponse(),
self.execute(params, req, runtime)
)
async def get_overdraft_info_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetOverdraftInfoRequest,
headers: dingtalkattendance__1__0_models.GetOverdraftInfoHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetOverdraftInfoResponse:
"""
@summary 假期透支信息查询
@param request: GetOverdraftInfoRequest
@param headers: GetOverdraftInfoHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetOverdraftInfoResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.leave_code):
body['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.user_id_list):
body['userIdList'] = request.user_id_list
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetOverdraftInfo',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/vacations/overdraft/get',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetOverdraftInfoResponse(),
await self.execute_async(params, req, runtime)
)
def get_overdraft_info(
self,
request: dingtalkattendance__1__0_models.GetOverdraftInfoRequest,
) -> dingtalkattendance__1__0_models.GetOverdraftInfoResponse:
"""
@summary 假期透支信息查询
@param request: GetOverdraftInfoRequest
@return: GetOverdraftInfoResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetOverdraftInfoHeaders()
return self.get_overdraft_info_with_options(request, headers, runtime)
async def get_overdraft_info_async(
self,
request: dingtalkattendance__1__0_models.GetOverdraftInfoRequest,
) -> dingtalkattendance__1__0_models.GetOverdraftInfoResponse:
"""
@summary 假期透支信息查询
@param request: GetOverdraftInfoRequest
@return: GetOverdraftInfoResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetOverdraftInfoHeaders()
return await self.get_overdraft_info_with_options_async(request, headers, runtime)
def get_overtime_setting_with_options(
self,
request: dingtalkattendance__1__0_models.GetOvertimeSettingRequest,
headers: dingtalkattendance__1__0_models.GetOvertimeSettingHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetOvertimeSettingResponse:
"""
@summary 批量获取加班规则设置
@param request: GetOvertimeSettingRequest
@param headers: GetOvertimeSettingHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetOvertimeSettingResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.overtime_setting_ids):
body['overtimeSettingIds'] = request.overtime_setting_ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetOvertimeSetting',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/overtimeSettings/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetOvertimeSettingResponse(),
self.execute(params, req, runtime)
)
async def get_overtime_setting_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetOvertimeSettingRequest,
headers: dingtalkattendance__1__0_models.GetOvertimeSettingHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetOvertimeSettingResponse:
"""
@summary 批量获取加班规则设置
@param request: GetOvertimeSettingRequest
@param headers: GetOvertimeSettingHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetOvertimeSettingResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.overtime_setting_ids):
body['overtimeSettingIds'] = request.overtime_setting_ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetOvertimeSetting',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/overtimeSettings/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetOvertimeSettingResponse(),
await self.execute_async(params, req, runtime)
)
def get_overtime_setting(
self,
request: dingtalkattendance__1__0_models.GetOvertimeSettingRequest,
) -> dingtalkattendance__1__0_models.GetOvertimeSettingResponse:
"""
@summary 批量获取加班规则设置
@param request: GetOvertimeSettingRequest
@return: GetOvertimeSettingResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetOvertimeSettingHeaders()
return self.get_overtime_setting_with_options(request, headers, runtime)
async def get_overtime_setting_async(
self,
request: dingtalkattendance__1__0_models.GetOvertimeSettingRequest,
) -> dingtalkattendance__1__0_models.GetOvertimeSettingResponse:
"""
@summary 批量获取加班规则设置
@param request: GetOvertimeSettingRequest
@return: GetOvertimeSettingResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetOvertimeSettingHeaders()
return await self.get_overtime_setting_with_options_async(request, headers, runtime)
def get_shift_with_options(
self,
request: dingtalkattendance__1__0_models.GetShiftRequest,
headers: dingtalkattendance__1__0_models.GetShiftHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetShiftResponse:
"""
@summary 班次详情
@param request: GetShiftRequest
@param headers: GetShiftHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetShiftResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.shift_id):
query['shiftId'] = request.shift_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetShift',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/shifts',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetShiftResponse(),
self.execute(params, req, runtime)
)
async def get_shift_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetShiftRequest,
headers: dingtalkattendance__1__0_models.GetShiftHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetShiftResponse:
"""
@summary 班次详情
@param request: GetShiftRequest
@param headers: GetShiftHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetShiftResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.shift_id):
query['shiftId'] = request.shift_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetShift',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/shifts',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetShiftResponse(),
await self.execute_async(params, req, runtime)
)
def get_shift(
self,
request: dingtalkattendance__1__0_models.GetShiftRequest,
) -> dingtalkattendance__1__0_models.GetShiftResponse:
"""
@summary 班次详情
@param request: GetShiftRequest
@return: GetShiftResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetShiftHeaders()
return self.get_shift_with_options(request, headers, runtime)
async def get_shift_async(
self,
request: dingtalkattendance__1__0_models.GetShiftRequest,
) -> dingtalkattendance__1__0_models.GetShiftResponse:
"""
@summary 班次详情
@param request: GetShiftRequest
@return: GetShiftResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetShiftHeaders()
return await self.get_shift_with_options_async(request, headers, runtime)
def get_simple_groups_with_options(
self,
request: dingtalkattendance__1__0_models.GetSimpleGroupsRequest,
headers: dingtalkattendance__1__0_models.GetSimpleGroupsHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetSimpleGroupsResponse:
"""
@summary 获取考勤组列表详情
@param request: GetSimpleGroupsRequest
@param headers: GetSimpleGroupsHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetSimpleGroupsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['maxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['nextToken'] = request.next_token
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetSimpleGroups',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/groupDetails',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetSimpleGroupsResponse(),
self.execute(params, req, runtime)
)
async def get_simple_groups_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetSimpleGroupsRequest,
headers: dingtalkattendance__1__0_models.GetSimpleGroupsHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetSimpleGroupsResponse:
"""
@summary 获取考勤组列表详情
@param request: GetSimpleGroupsRequest
@param headers: GetSimpleGroupsHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetSimpleGroupsResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.max_results):
query['maxResults'] = request.max_results
if not UtilClient.is_unset(request.next_token):
query['nextToken'] = request.next_token
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetSimpleGroups',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/groupDetails',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetSimpleGroupsResponse(),
await self.execute_async(params, req, runtime)
)
def get_simple_groups(
self,
request: dingtalkattendance__1__0_models.GetSimpleGroupsRequest,
) -> dingtalkattendance__1__0_models.GetSimpleGroupsResponse:
"""
@summary 获取考勤组列表详情
@param request: GetSimpleGroupsRequest
@return: GetSimpleGroupsResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetSimpleGroupsHeaders()
return self.get_simple_groups_with_options(request, headers, runtime)
async def get_simple_groups_async(
self,
request: dingtalkattendance__1__0_models.GetSimpleGroupsRequest,
) -> dingtalkattendance__1__0_models.GetSimpleGroupsResponse:
"""
@summary 获取考勤组列表详情
@param request: GetSimpleGroupsRequest
@return: GetSimpleGroupsResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetSimpleGroupsHeaders()
return await self.get_simple_groups_with_options_async(request, headers, runtime)
def get_simple_overtime_setting_with_options(
self,
request: dingtalkattendance__1__0_models.GetSimpleOvertimeSettingRequest,
headers: dingtalkattendance__1__0_models.GetSimpleOvertimeSettingHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetSimpleOvertimeSettingResponse:
"""
@summary 加班规则列表
@param request: GetSimpleOvertimeSettingRequest
@param headers: GetSimpleOvertimeSettingHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetSimpleOvertimeSettingResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.page_number):
query['pageNumber'] = request.page_number
if not UtilClient.is_unset(request.page_size):
query['pageSize'] = request.page_size
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetSimpleOvertimeSetting',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/overtimeSettings',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetSimpleOvertimeSettingResponse(),
self.execute(params, req, runtime)
)
async def get_simple_overtime_setting_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetSimpleOvertimeSettingRequest,
headers: dingtalkattendance__1__0_models.GetSimpleOvertimeSettingHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetSimpleOvertimeSettingResponse:
"""
@summary 加班规则列表
@param request: GetSimpleOvertimeSettingRequest
@param headers: GetSimpleOvertimeSettingHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetSimpleOvertimeSettingResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.page_number):
query['pageNumber'] = request.page_number
if not UtilClient.is_unset(request.page_size):
query['pageSize'] = request.page_size
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='GetSimpleOvertimeSetting',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/overtimeSettings',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetSimpleOvertimeSettingResponse(),
await self.execute_async(params, req, runtime)
)
def get_simple_overtime_setting(
self,
request: dingtalkattendance__1__0_models.GetSimpleOvertimeSettingRequest,
) -> dingtalkattendance__1__0_models.GetSimpleOvertimeSettingResponse:
"""
@summary 加班规则列表
@param request: GetSimpleOvertimeSettingRequest
@return: GetSimpleOvertimeSettingResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetSimpleOvertimeSettingHeaders()
return self.get_simple_overtime_setting_with_options(request, headers, runtime)
async def get_simple_overtime_setting_async(
self,
request: dingtalkattendance__1__0_models.GetSimpleOvertimeSettingRequest,
) -> dingtalkattendance__1__0_models.GetSimpleOvertimeSettingResponse:
"""
@summary 加班规则列表
@param request: GetSimpleOvertimeSettingRequest
@return: GetSimpleOvertimeSettingResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetSimpleOvertimeSettingHeaders()
return await self.get_simple_overtime_setting_with_options_async(request, headers, runtime)
def get_user_holidays_with_options(
self,
request: dingtalkattendance__1__0_models.GetUserHolidaysRequest,
headers: dingtalkattendance__1__0_models.GetUserHolidaysHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetUserHolidaysResponse:
"""
@summary 查询员工某段时间的假期
@param request: GetUserHolidaysRequest
@param headers: GetUserHolidaysHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetUserHolidaysResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
if not UtilClient.is_unset(request.work_date_from):
body['workDateFrom'] = request.work_date_from
if not UtilClient.is_unset(request.work_date_to):
body['workDateTo'] = request.work_date_to
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetUserHolidays',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/holidays',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetUserHolidaysResponse(),
self.execute(params, req, runtime)
)
async def get_user_holidays_with_options_async(
self,
request: dingtalkattendance__1__0_models.GetUserHolidaysRequest,
headers: dingtalkattendance__1__0_models.GetUserHolidaysHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GetUserHolidaysResponse:
"""
@summary 查询员工某段时间的假期
@param request: GetUserHolidaysRequest
@param headers: GetUserHolidaysHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GetUserHolidaysResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
if not UtilClient.is_unset(request.work_date_from):
body['workDateFrom'] = request.work_date_from
if not UtilClient.is_unset(request.work_date_to):
body['workDateTo'] = request.work_date_to
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GetUserHolidays',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/holidays',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='json',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GetUserHolidaysResponse(),
await self.execute_async(params, req, runtime)
)
def get_user_holidays(
self,
request: dingtalkattendance__1__0_models.GetUserHolidaysRequest,
) -> dingtalkattendance__1__0_models.GetUserHolidaysResponse:
"""
@summary 查询员工某段时间的假期
@param request: GetUserHolidaysRequest
@return: GetUserHolidaysResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetUserHolidaysHeaders()
return self.get_user_holidays_with_options(request, headers, runtime)
async def get_user_holidays_async(
self,
request: dingtalkattendance__1__0_models.GetUserHolidaysRequest,
) -> dingtalkattendance__1__0_models.GetUserHolidaysResponse:
"""
@summary 查询员工某段时间的假期
@param request: GetUserHolidaysRequest
@return: GetUserHolidaysResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GetUserHolidaysHeaders()
return await self.get_user_holidays_with_options_async(request, headers, runtime)
def group_add_with_options(
self,
request: dingtalkattendance__1__0_models.GroupAddRequest,
headers: dingtalkattendance__1__0_models.GroupAddHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GroupAddResponse:
"""
@summary 创建考勤组
@param request: GroupAddRequest
@param headers: GroupAddHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GroupAddResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.adjustment_setting_id):
body['adjustmentSettingId'] = request.adjustment_setting_id
if not UtilClient.is_unset(request.ble_device_list):
body['bleDeviceList'] = request.ble_device_list
if not UtilClient.is_unset(request.check_need_healthy_code):
body['checkNeedHealthyCode'] = request.check_need_healthy_code
if not UtilClient.is_unset(request.default_class_id):
body['defaultClassId'] = request.default_class_id
if not UtilClient.is_unset(request.disable_check_when_rest):
body['disableCheckWhenRest'] = request.disable_check_when_rest
if not UtilClient.is_unset(request.disable_check_without_schedule):
body['disableCheckWithoutSchedule'] = request.disable_check_without_schedule
if not UtilClient.is_unset(request.enable_camera_check):
body['enableCameraCheck'] = request.enable_camera_check
if not UtilClient.is_unset(request.enable_emp_select_class):
body['enableEmpSelectClass'] = request.enable_emp_select_class
if not UtilClient.is_unset(request.enable_face_check):
body['enableFaceCheck'] = request.enable_face_check
if not UtilClient.is_unset(request.enable_face_strict_mode):
body['enableFaceStrictMode'] = request.enable_face_strict_mode
if not UtilClient.is_unset(request.enable_next_day):
body['enableNextDay'] = request.enable_next_day
if not UtilClient.is_unset(request.enable_out_side_update_normal_check):
body['enableOutSideUpdateNormalCheck'] = request.enable_out_side_update_normal_check
if not UtilClient.is_unset(request.enable_outside_apply):
body['enableOutsideApply'] = request.enable_outside_apply
if not UtilClient.is_unset(request.enable_outside_camera_check):
body['enableOutsideCameraCheck'] = request.enable_outside_camera_check
if not UtilClient.is_unset(request.enable_outside_check):
body['enableOutsideCheck'] = request.enable_outside_check
if not UtilClient.is_unset(request.enable_outside_remark):
body['enableOutsideRemark'] = request.enable_outside_remark
if not UtilClient.is_unset(request.enable_position_ble):
body['enablePositionBle'] = request.enable_position_ble
if not UtilClient.is_unset(request.enable_trim_distance):
body['enableTrimDistance'] = request.enable_trim_distance
if not UtilClient.is_unset(request.forbid_hide_out_side_address):
body['forbidHideOutSideAddress'] = request.forbid_hide_out_side_address
if not UtilClient.is_unset(request.free_check_demand_work_minutes):
body['freeCheckDemandWorkMinutes'] = request.free_check_demand_work_minutes
if not UtilClient.is_unset(request.free_check_setting):
body['freeCheckSetting'] = request.free_check_setting
if not UtilClient.is_unset(request.free_check_type_id):
body['freeCheckTypeId'] = request.free_check_type_id
if not UtilClient.is_unset(request.freecheck_day_start_min_offset):
body['freecheckDayStartMinOffset'] = request.freecheck_day_start_min_offset
if not UtilClient.is_unset(request.freecheck_work_days):
body['freecheckWorkDays'] = request.freecheck_work_days
if not UtilClient.is_unset(request.group_id):
body['groupId'] = request.group_id
if not UtilClient.is_unset(request.group_name):
body['groupName'] = request.group_name
if not UtilClient.is_unset(request.manager_list):
body['managerList'] = request.manager_list
if not UtilClient.is_unset(request.members):
body['members'] = request.members
if not UtilClient.is_unset(request.modify_member):
body['modifyMember'] = request.modify_member
if not UtilClient.is_unset(request.offset):
body['offset'] = request.offset
if not UtilClient.is_unset(request.only_machine_check):
body['onlyMachineCheck'] = request.only_machine_check
if not UtilClient.is_unset(request.open_camera_check):
body['openCameraCheck'] = request.open_camera_check
if not UtilClient.is_unset(request.open_face_check):
body['openFaceCheck'] = request.open_face_check
if not UtilClient.is_unset(request.outside_check_approve_mode_id):
body['outsideCheckApproveModeId'] = request.outside_check_approve_mode_id
if not UtilClient.is_unset(request.overtime_setting_id):
body['overtimeSettingId'] = request.overtime_setting_id
if not UtilClient.is_unset(request.owner):
body['owner'] = request.owner
if not UtilClient.is_unset(request.positions):
body['positions'] = request.positions
if not UtilClient.is_unset(request.resource_permission_map):
body['resourcePermissionMap'] = request.resource_permission_map
if not UtilClient.is_unset(request.shift_volist):
body['shiftVOList'] = request.shift_volist
if not UtilClient.is_unset(request.skip_holidays):
body['skipHolidays'] = request.skip_holidays
if not UtilClient.is_unset(request.special_days):
body['specialDays'] = request.special_days
if not UtilClient.is_unset(request.trim_distance):
body['trimDistance'] = request.trim_distance
if not UtilClient.is_unset(request.type):
body['type'] = request.type
if not UtilClient.is_unset(request.wifis):
body['wifis'] = request.wifis
if not UtilClient.is_unset(request.workday_class_list):
body['workdayClassList'] = request.workday_class_list
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GroupAdd',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/groups',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GroupAddResponse(),
self.execute(params, req, runtime)
)
async def group_add_with_options_async(
self,
request: dingtalkattendance__1__0_models.GroupAddRequest,
headers: dingtalkattendance__1__0_models.GroupAddHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GroupAddResponse:
"""
@summary 创建考勤组
@param request: GroupAddRequest
@param headers: GroupAddHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GroupAddResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.adjustment_setting_id):
body['adjustmentSettingId'] = request.adjustment_setting_id
if not UtilClient.is_unset(request.ble_device_list):
body['bleDeviceList'] = request.ble_device_list
if not UtilClient.is_unset(request.check_need_healthy_code):
body['checkNeedHealthyCode'] = request.check_need_healthy_code
if not UtilClient.is_unset(request.default_class_id):
body['defaultClassId'] = request.default_class_id
if not UtilClient.is_unset(request.disable_check_when_rest):
body['disableCheckWhenRest'] = request.disable_check_when_rest
if not UtilClient.is_unset(request.disable_check_without_schedule):
body['disableCheckWithoutSchedule'] = request.disable_check_without_schedule
if not UtilClient.is_unset(request.enable_camera_check):
body['enableCameraCheck'] = request.enable_camera_check
if not UtilClient.is_unset(request.enable_emp_select_class):
body['enableEmpSelectClass'] = request.enable_emp_select_class
if not UtilClient.is_unset(request.enable_face_check):
body['enableFaceCheck'] = request.enable_face_check
if not UtilClient.is_unset(request.enable_face_strict_mode):
body['enableFaceStrictMode'] = request.enable_face_strict_mode
if not UtilClient.is_unset(request.enable_next_day):
body['enableNextDay'] = request.enable_next_day
if not UtilClient.is_unset(request.enable_out_side_update_normal_check):
body['enableOutSideUpdateNormalCheck'] = request.enable_out_side_update_normal_check
if not UtilClient.is_unset(request.enable_outside_apply):
body['enableOutsideApply'] = request.enable_outside_apply
if not UtilClient.is_unset(request.enable_outside_camera_check):
body['enableOutsideCameraCheck'] = request.enable_outside_camera_check
if not UtilClient.is_unset(request.enable_outside_check):
body['enableOutsideCheck'] = request.enable_outside_check
if not UtilClient.is_unset(request.enable_outside_remark):
body['enableOutsideRemark'] = request.enable_outside_remark
if not UtilClient.is_unset(request.enable_position_ble):
body['enablePositionBle'] = request.enable_position_ble
if not UtilClient.is_unset(request.enable_trim_distance):
body['enableTrimDistance'] = request.enable_trim_distance
if not UtilClient.is_unset(request.forbid_hide_out_side_address):
body['forbidHideOutSideAddress'] = request.forbid_hide_out_side_address
if not UtilClient.is_unset(request.free_check_demand_work_minutes):
body['freeCheckDemandWorkMinutes'] = request.free_check_demand_work_minutes
if not UtilClient.is_unset(request.free_check_setting):
body['freeCheckSetting'] = request.free_check_setting
if not UtilClient.is_unset(request.free_check_type_id):
body['freeCheckTypeId'] = request.free_check_type_id
if not UtilClient.is_unset(request.freecheck_day_start_min_offset):
body['freecheckDayStartMinOffset'] = request.freecheck_day_start_min_offset
if not UtilClient.is_unset(request.freecheck_work_days):
body['freecheckWorkDays'] = request.freecheck_work_days
if not UtilClient.is_unset(request.group_id):
body['groupId'] = request.group_id
if not UtilClient.is_unset(request.group_name):
body['groupName'] = request.group_name
if not UtilClient.is_unset(request.manager_list):
body['managerList'] = request.manager_list
if not UtilClient.is_unset(request.members):
body['members'] = request.members
if not UtilClient.is_unset(request.modify_member):
body['modifyMember'] = request.modify_member
if not UtilClient.is_unset(request.offset):
body['offset'] = request.offset
if not UtilClient.is_unset(request.only_machine_check):
body['onlyMachineCheck'] = request.only_machine_check
if not UtilClient.is_unset(request.open_camera_check):
body['openCameraCheck'] = request.open_camera_check
if not UtilClient.is_unset(request.open_face_check):
body['openFaceCheck'] = request.open_face_check
if not UtilClient.is_unset(request.outside_check_approve_mode_id):
body['outsideCheckApproveModeId'] = request.outside_check_approve_mode_id
if not UtilClient.is_unset(request.overtime_setting_id):
body['overtimeSettingId'] = request.overtime_setting_id
if not UtilClient.is_unset(request.owner):
body['owner'] = request.owner
if not UtilClient.is_unset(request.positions):
body['positions'] = request.positions
if not UtilClient.is_unset(request.resource_permission_map):
body['resourcePermissionMap'] = request.resource_permission_map
if not UtilClient.is_unset(request.shift_volist):
body['shiftVOList'] = request.shift_volist
if not UtilClient.is_unset(request.skip_holidays):
body['skipHolidays'] = request.skip_holidays
if not UtilClient.is_unset(request.special_days):
body['specialDays'] = request.special_days
if not UtilClient.is_unset(request.trim_distance):
body['trimDistance'] = request.trim_distance
if not UtilClient.is_unset(request.type):
body['type'] = request.type
if not UtilClient.is_unset(request.wifis):
body['wifis'] = request.wifis
if not UtilClient.is_unset(request.workday_class_list):
body['workdayClassList'] = request.workday_class_list
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GroupAdd',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/groups',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GroupAddResponse(),
await self.execute_async(params, req, runtime)
)
def group_add(
self,
request: dingtalkattendance__1__0_models.GroupAddRequest,
) -> dingtalkattendance__1__0_models.GroupAddResponse:
"""
@summary 创建考勤组
@param request: GroupAddRequest
@return: GroupAddResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GroupAddHeaders()
return self.group_add_with_options(request, headers, runtime)
async def group_add_async(
self,
request: dingtalkattendance__1__0_models.GroupAddRequest,
) -> dingtalkattendance__1__0_models.GroupAddResponse:
"""
@summary 创建考勤组
@param request: GroupAddRequest
@return: GroupAddResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GroupAddHeaders()
return await self.group_add_with_options_async(request, headers, runtime)
def group_update_with_options(
self,
request: dingtalkattendance__1__0_models.GroupUpdateRequest,
headers: dingtalkattendance__1__0_models.GroupUpdateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GroupUpdateResponse:
"""
@summary 修改考勤组
@param request: GroupUpdateRequest
@param headers: GroupUpdateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GroupUpdateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.adjustment_setting_id):
body['adjustmentSettingId'] = request.adjustment_setting_id
if not UtilClient.is_unset(request.default_class_id):
body['defaultClassId'] = request.default_class_id
if not UtilClient.is_unset(request.disable_check_when_rest):
body['disableCheckWhenRest'] = request.disable_check_when_rest
if not UtilClient.is_unset(request.disable_check_without_schedule):
body['disableCheckWithoutSchedule'] = request.disable_check_without_schedule
if not UtilClient.is_unset(request.enable_camera_check):
body['enableCameraCheck'] = request.enable_camera_check
if not UtilClient.is_unset(request.enable_emp_select_class):
body['enableEmpSelectClass'] = request.enable_emp_select_class
if not UtilClient.is_unset(request.enable_face_check):
body['enableFaceCheck'] = request.enable_face_check
if not UtilClient.is_unset(request.enable_face_strict_mode):
body['enableFaceStrictMode'] = request.enable_face_strict_mode
if not UtilClient.is_unset(request.enable_out_side_update_normal_check):
body['enableOutSideUpdateNormalCheck'] = request.enable_out_side_update_normal_check
if not UtilClient.is_unset(request.enable_outside_apply):
body['enableOutsideApply'] = request.enable_outside_apply
if not UtilClient.is_unset(request.enable_outside_camera_check):
body['enableOutsideCameraCheck'] = request.enable_outside_camera_check
if not UtilClient.is_unset(request.enable_outside_check):
body['enableOutsideCheck'] = request.enable_outside_check
if not UtilClient.is_unset(request.enable_outside_remark):
body['enableOutsideRemark'] = request.enable_outside_remark
if not UtilClient.is_unset(request.enable_trim_distance):
body['enableTrimDistance'] = request.enable_trim_distance
if not UtilClient.is_unset(request.forbid_hide_out_side_address):
body['forbidHideOutSideAddress'] = request.forbid_hide_out_side_address
if not UtilClient.is_unset(request.free_check_setting):
body['freeCheckSetting'] = request.free_check_setting
if not UtilClient.is_unset(request.free_check_type_id):
body['freeCheckTypeId'] = request.free_check_type_id
if not UtilClient.is_unset(request.freecheck_day_start_min_offset):
body['freecheckDayStartMinOffset'] = request.freecheck_day_start_min_offset
if not UtilClient.is_unset(request.group_id):
body['groupId'] = request.group_id
if not UtilClient.is_unset(request.group_name):
body['groupName'] = request.group_name
if not UtilClient.is_unset(request.manager_list):
body['managerList'] = request.manager_list
if not UtilClient.is_unset(request.offset):
body['offset'] = request.offset
if not UtilClient.is_unset(request.only_machine_check):
body['onlyMachineCheck'] = request.only_machine_check
if not UtilClient.is_unset(request.open_camera_check):
body['openCameraCheck'] = request.open_camera_check
if not UtilClient.is_unset(request.open_face_check):
body['openFaceCheck'] = request.open_face_check
if not UtilClient.is_unset(request.outside_check_approve_mode_id):
body['outsideCheckApproveModeId'] = request.outside_check_approve_mode_id
if not UtilClient.is_unset(request.overtime_setting_id):
body['overtimeSettingId'] = request.overtime_setting_id
if not UtilClient.is_unset(request.owner):
body['owner'] = request.owner
if not UtilClient.is_unset(request.positions):
body['positions'] = request.positions
if not UtilClient.is_unset(request.resource_permission_map):
body['resourcePermissionMap'] = request.resource_permission_map
if not UtilClient.is_unset(request.shift_volist):
body['shiftVOList'] = request.shift_volist
if not UtilClient.is_unset(request.skip_holidays):
body['skipHolidays'] = request.skip_holidays
if not UtilClient.is_unset(request.trim_distance):
body['trimDistance'] = request.trim_distance
if not UtilClient.is_unset(request.workday_class_list):
body['workdayClassList'] = request.workday_class_list
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GroupUpdate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/groups',
method='PUT',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GroupUpdateResponse(),
self.execute(params, req, runtime)
)
async def group_update_with_options_async(
self,
request: dingtalkattendance__1__0_models.GroupUpdateRequest,
headers: dingtalkattendance__1__0_models.GroupUpdateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.GroupUpdateResponse:
"""
@summary 修改考勤组
@param request: GroupUpdateRequest
@param headers: GroupUpdateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: GroupUpdateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.adjustment_setting_id):
body['adjustmentSettingId'] = request.adjustment_setting_id
if not UtilClient.is_unset(request.default_class_id):
body['defaultClassId'] = request.default_class_id
if not UtilClient.is_unset(request.disable_check_when_rest):
body['disableCheckWhenRest'] = request.disable_check_when_rest
if not UtilClient.is_unset(request.disable_check_without_schedule):
body['disableCheckWithoutSchedule'] = request.disable_check_without_schedule
if not UtilClient.is_unset(request.enable_camera_check):
body['enableCameraCheck'] = request.enable_camera_check
if not UtilClient.is_unset(request.enable_emp_select_class):
body['enableEmpSelectClass'] = request.enable_emp_select_class
if not UtilClient.is_unset(request.enable_face_check):
body['enableFaceCheck'] = request.enable_face_check
if not UtilClient.is_unset(request.enable_face_strict_mode):
body['enableFaceStrictMode'] = request.enable_face_strict_mode
if not UtilClient.is_unset(request.enable_out_side_update_normal_check):
body['enableOutSideUpdateNormalCheck'] = request.enable_out_side_update_normal_check
if not UtilClient.is_unset(request.enable_outside_apply):
body['enableOutsideApply'] = request.enable_outside_apply
if not UtilClient.is_unset(request.enable_outside_camera_check):
body['enableOutsideCameraCheck'] = request.enable_outside_camera_check
if not UtilClient.is_unset(request.enable_outside_check):
body['enableOutsideCheck'] = request.enable_outside_check
if not UtilClient.is_unset(request.enable_outside_remark):
body['enableOutsideRemark'] = request.enable_outside_remark
if not UtilClient.is_unset(request.enable_trim_distance):
body['enableTrimDistance'] = request.enable_trim_distance
if not UtilClient.is_unset(request.forbid_hide_out_side_address):
body['forbidHideOutSideAddress'] = request.forbid_hide_out_side_address
if not UtilClient.is_unset(request.free_check_setting):
body['freeCheckSetting'] = request.free_check_setting
if not UtilClient.is_unset(request.free_check_type_id):
body['freeCheckTypeId'] = request.free_check_type_id
if not UtilClient.is_unset(request.freecheck_day_start_min_offset):
body['freecheckDayStartMinOffset'] = request.freecheck_day_start_min_offset
if not UtilClient.is_unset(request.group_id):
body['groupId'] = request.group_id
if not UtilClient.is_unset(request.group_name):
body['groupName'] = request.group_name
if not UtilClient.is_unset(request.manager_list):
body['managerList'] = request.manager_list
if not UtilClient.is_unset(request.offset):
body['offset'] = request.offset
if not UtilClient.is_unset(request.only_machine_check):
body['onlyMachineCheck'] = request.only_machine_check
if not UtilClient.is_unset(request.open_camera_check):
body['openCameraCheck'] = request.open_camera_check
if not UtilClient.is_unset(request.open_face_check):
body['openFaceCheck'] = request.open_face_check
if not UtilClient.is_unset(request.outside_check_approve_mode_id):
body['outsideCheckApproveModeId'] = request.outside_check_approve_mode_id
if not UtilClient.is_unset(request.overtime_setting_id):
body['overtimeSettingId'] = request.overtime_setting_id
if not UtilClient.is_unset(request.owner):
body['owner'] = request.owner
if not UtilClient.is_unset(request.positions):
body['positions'] = request.positions
if not UtilClient.is_unset(request.resource_permission_map):
body['resourcePermissionMap'] = request.resource_permission_map
if not UtilClient.is_unset(request.shift_volist):
body['shiftVOList'] = request.shift_volist
if not UtilClient.is_unset(request.skip_holidays):
body['skipHolidays'] = request.skip_holidays
if not UtilClient.is_unset(request.trim_distance):
body['trimDistance'] = request.trim_distance
if not UtilClient.is_unset(request.workday_class_list):
body['workdayClassList'] = request.workday_class_list
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='GroupUpdate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/groups',
method='PUT',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.GroupUpdateResponse(),
await self.execute_async(params, req, runtime)
)
def group_update(
self,
request: dingtalkattendance__1__0_models.GroupUpdateRequest,
) -> dingtalkattendance__1__0_models.GroupUpdateResponse:
"""
@summary 修改考勤组
@param request: GroupUpdateRequest
@return: GroupUpdateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GroupUpdateHeaders()
return self.group_update_with_options(request, headers, runtime)
async def group_update_async(
self,
request: dingtalkattendance__1__0_models.GroupUpdateRequest,
) -> dingtalkattendance__1__0_models.GroupUpdateResponse:
"""
@summary 修改考勤组
@param request: GroupUpdateRequest
@return: GroupUpdateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.GroupUpdateHeaders()
return await self.group_update_with_options_async(request, headers, runtime)
def init_and_get_leave_allocation_quotas_with_options(
self,
request: dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasRequest,
headers: dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasResponse:
"""
@summary 生态系统假期初始化查询余额接口
@param request: InitAndGetLeaveALlocationQuotasRequest
@param headers: InitAndGetLeaveALlocationQuotasHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: InitAndGetLeaveALlocationQuotasResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.leave_code):
query['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='InitAndGetLeaveALlocationQuotas',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/leaves/initializations/balances',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasResponse(),
self.execute(params, req, runtime)
)
async def init_and_get_leave_allocation_quotas_with_options_async(
self,
request: dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasRequest,
headers: dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasResponse:
"""
@summary 生态系统假期初始化查询余额接口
@param request: InitAndGetLeaveALlocationQuotasRequest
@param headers: InitAndGetLeaveALlocationQuotasHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: InitAndGetLeaveALlocationQuotasResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.leave_code):
query['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='InitAndGetLeaveALlocationQuotas',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/leaves/initializations/balances',
method='GET',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasResponse(),
await self.execute_async(params, req, runtime)
)
def init_and_get_leave_allocation_quotas(
self,
request: dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasRequest,
) -> dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasResponse:
"""
@summary 生态系统假期初始化查询余额接口
@param request: InitAndGetLeaveALlocationQuotasRequest
@return: InitAndGetLeaveALlocationQuotasResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasHeaders()
return self.init_and_get_leave_allocation_quotas_with_options(request, headers, runtime)
async def init_and_get_leave_allocation_quotas_async(
self,
request: dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasRequest,
) -> dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasResponse:
"""
@summary 生态系统假期初始化查询余额接口
@param request: InitAndGetLeaveALlocationQuotasRequest
@return: InitAndGetLeaveALlocationQuotasResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.InitAndGetLeaveALlocationQuotasHeaders()
return await self.init_and_get_leave_allocation_quotas_with_options_async(request, headers, runtime)
def list_approve_by_users_with_options(
self,
request: dingtalkattendance__1__0_models.ListApproveByUsersRequest,
headers: dingtalkattendance__1__0_models.ListApproveByUsersHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ListApproveByUsersResponse:
"""
@summary 获取用户某段时间内同步到考勤的审批单信息
@param request: ListApproveByUsersRequest
@param headers: ListApproveByUsersHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ListApproveByUsersResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.biz_types):
body['bizTypes'] = request.biz_types
if not UtilClient.is_unset(request.from_date_time):
body['fromDateTime'] = request.from_date_time
if not UtilClient.is_unset(request.to_date_time):
body['toDateTime'] = request.to_date_time
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ListApproveByUsers',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/approvals/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ListApproveByUsersResponse(),
self.execute(params, req, runtime)
)
async def list_approve_by_users_with_options_async(
self,
request: dingtalkattendance__1__0_models.ListApproveByUsersRequest,
headers: dingtalkattendance__1__0_models.ListApproveByUsersHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ListApproveByUsersResponse:
"""
@summary 获取用户某段时间内同步到考勤的审批单信息
@param request: ListApproveByUsersRequest
@param headers: ListApproveByUsersHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ListApproveByUsersResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.biz_types):
body['bizTypes'] = request.biz_types
if not UtilClient.is_unset(request.from_date_time):
body['fromDateTime'] = request.from_date_time
if not UtilClient.is_unset(request.to_date_time):
body['toDateTime'] = request.to_date_time
if not UtilClient.is_unset(request.user_ids):
body['userIds'] = request.user_ids
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ListApproveByUsers',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/approvals/query',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ListApproveByUsersResponse(),
await self.execute_async(params, req, runtime)
)
def list_approve_by_users(
self,
request: dingtalkattendance__1__0_models.ListApproveByUsersRequest,
) -> dingtalkattendance__1__0_models.ListApproveByUsersResponse:
"""
@summary 获取用户某段时间内同步到考勤的审批单信息
@param request: ListApproveByUsersRequest
@return: ListApproveByUsersResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ListApproveByUsersHeaders()
return self.list_approve_by_users_with_options(request, headers, runtime)
async def list_approve_by_users_async(
self,
request: dingtalkattendance__1__0_models.ListApproveByUsersRequest,
) -> dingtalkattendance__1__0_models.ListApproveByUsersResponse:
"""
@summary 获取用户某段时间内同步到考勤的审批单信息
@param request: ListApproveByUsersRequest
@return: ListApproveByUsersResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ListApproveByUsersHeaders()
return await self.list_approve_by_users_with_options_async(request, headers, runtime)
def modify_water_mark_template_with_options(
self,
request: dingtalkattendance__1__0_models.ModifyWaterMarkTemplateRequest,
headers: dingtalkattendance__1__0_models.ModifyWaterMarkTemplateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ModifyWaterMarkTemplateResponse:
"""
@summary 修改水印模板
@param request: ModifyWaterMarkTemplateRequest
@param headers: ModifyWaterMarkTemplateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyWaterMarkTemplateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.open_conversation_id):
query['openConversationId'] = request.open_conversation_id
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
body = {}
if not UtilClient.is_unset(request.form_code):
body['formCode'] = request.form_code
if not UtilClient.is_unset(request.icon):
body['icon'] = request.icon
if not UtilClient.is_unset(request.layout_design_id):
body['layoutDesignId'] = request.layout_design_id
if not UtilClient.is_unset(request.schema_content):
body['schemaContent'] = request.schema_content
if not UtilClient.is_unset(request.title):
body['title'] = request.title
if not UtilClient.is_unset(request.water_mark_id):
body['waterMarkId'] = request.water_mark_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ModifyWaterMarkTemplate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/watermarks/templates',
method='PUT',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ModifyWaterMarkTemplateResponse(),
self.execute(params, req, runtime)
)
async def modify_water_mark_template_with_options_async(
self,
request: dingtalkattendance__1__0_models.ModifyWaterMarkTemplateRequest,
headers: dingtalkattendance__1__0_models.ModifyWaterMarkTemplateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ModifyWaterMarkTemplateResponse:
"""
@summary 修改水印模板
@param request: ModifyWaterMarkTemplateRequest
@param headers: ModifyWaterMarkTemplateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ModifyWaterMarkTemplateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.open_conversation_id):
query['openConversationId'] = request.open_conversation_id
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
body = {}
if not UtilClient.is_unset(request.form_code):
body['formCode'] = request.form_code
if not UtilClient.is_unset(request.icon):
body['icon'] = request.icon
if not UtilClient.is_unset(request.layout_design_id):
body['layoutDesignId'] = request.layout_design_id
if not UtilClient.is_unset(request.schema_content):
body['schemaContent'] = request.schema_content
if not UtilClient.is_unset(request.title):
body['title'] = request.title
if not UtilClient.is_unset(request.water_mark_id):
body['waterMarkId'] = request.water_mark_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ModifyWaterMarkTemplate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/watermarks/templates',
method='PUT',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ModifyWaterMarkTemplateResponse(),
await self.execute_async(params, req, runtime)
)
def modify_water_mark_template(
self,
request: dingtalkattendance__1__0_models.ModifyWaterMarkTemplateRequest,
) -> dingtalkattendance__1__0_models.ModifyWaterMarkTemplateResponse:
"""
@summary 修改水印模板
@param request: ModifyWaterMarkTemplateRequest
@return: ModifyWaterMarkTemplateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ModifyWaterMarkTemplateHeaders()
return self.modify_water_mark_template_with_options(request, headers, runtime)
async def modify_water_mark_template_async(
self,
request: dingtalkattendance__1__0_models.ModifyWaterMarkTemplateRequest,
) -> dingtalkattendance__1__0_models.ModifyWaterMarkTemplateResponse:
"""
@summary 修改水印模板
@param request: ModifyWaterMarkTemplateRequest
@return: ModifyWaterMarkTemplateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ModifyWaterMarkTemplateHeaders()
return await self.modify_water_mark_template_with_options_async(request, headers, runtime)
def process_approve_create_with_options(
self,
request: dingtalkattendance__1__0_models.ProcessApproveCreateRequest,
headers: dingtalkattendance__1__0_models.ProcessApproveCreateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ProcessApproveCreateResponse:
"""
@summary 创建考勤打卡审批单
@param request: ProcessApproveCreateRequest
@param headers: ProcessApproveCreateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ProcessApproveCreateResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.approve_id):
body['approveId'] = request.approve_id
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.punch_param):
body['punchParam'] = request.punch_param
if not UtilClient.is_unset(request.sub_type):
body['subType'] = request.sub_type
if not UtilClient.is_unset(request.tag_name):
body['tagName'] = request.tag_name
if not UtilClient.is_unset(request.user_id):
body['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ProcessApproveCreate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/workflows/checkInForms',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ProcessApproveCreateResponse(),
self.execute(params, req, runtime)
)
async def process_approve_create_with_options_async(
self,
request: dingtalkattendance__1__0_models.ProcessApproveCreateRequest,
headers: dingtalkattendance__1__0_models.ProcessApproveCreateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ProcessApproveCreateResponse:
"""
@summary 创建考勤打卡审批单
@param request: ProcessApproveCreateRequest
@param headers: ProcessApproveCreateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ProcessApproveCreateResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.approve_id):
body['approveId'] = request.approve_id
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.punch_param):
body['punchParam'] = request.punch_param
if not UtilClient.is_unset(request.sub_type):
body['subType'] = request.sub_type
if not UtilClient.is_unset(request.tag_name):
body['tagName'] = request.tag_name
if not UtilClient.is_unset(request.user_id):
body['userId'] = request.user_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ProcessApproveCreate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/workflows/checkInForms',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ProcessApproveCreateResponse(),
await self.execute_async(params, req, runtime)
)
def process_approve_create(
self,
request: dingtalkattendance__1__0_models.ProcessApproveCreateRequest,
) -> dingtalkattendance__1__0_models.ProcessApproveCreateResponse:
"""
@summary 创建考勤打卡审批单
@param request: ProcessApproveCreateRequest
@return: ProcessApproveCreateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ProcessApproveCreateHeaders()
return self.process_approve_create_with_options(request, headers, runtime)
async def process_approve_create_async(
self,
request: dingtalkattendance__1__0_models.ProcessApproveCreateRequest,
) -> dingtalkattendance__1__0_models.ProcessApproveCreateResponse:
"""
@summary 创建考勤打卡审批单
@param request: ProcessApproveCreateRequest
@return: ProcessApproveCreateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ProcessApproveCreateHeaders()
return await self.process_approve_create_with_options_async(request, headers, runtime)
def process_approve_finish_with_options(
self,
request: dingtalkattendance__1__0_models.ProcessApproveFinishRequest,
headers: dingtalkattendance__1__0_models.ProcessApproveFinishHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ProcessApproveFinishResponse:
"""
@summary 通知审批通过
@param request: ProcessApproveFinishRequest
@param headers: ProcessApproveFinishHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ProcessApproveFinishResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
body = {}
if not UtilClient.is_unset(request.approve_id):
body['approveId'] = request.approve_id
if not UtilClient.is_unset(request.jump_url):
body['jumpUrl'] = request.jump_url
if not UtilClient.is_unset(request.over_time_to_more):
body['overTimeToMore'] = request.over_time_to_more
if not UtilClient.is_unset(request.overtime_duration):
body['overtimeDuration'] = request.overtime_duration
if not UtilClient.is_unset(request.sub_type):
body['subType'] = request.sub_type
if not UtilClient.is_unset(request.tag_name):
body['tagName'] = request.tag_name
if not UtilClient.is_unset(request.top_calculate_approve_duration_param):
body['topCalculateApproveDurationParam'] = request.top_calculate_approve_duration_param
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ProcessApproveFinish',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/approvals/finish',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ProcessApproveFinishResponse(),
self.execute(params, req, runtime)
)
async def process_approve_finish_with_options_async(
self,
request: dingtalkattendance__1__0_models.ProcessApproveFinishRequest,
headers: dingtalkattendance__1__0_models.ProcessApproveFinishHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ProcessApproveFinishResponse:
"""
@summary 通知审批通过
@param request: ProcessApproveFinishRequest
@param headers: ProcessApproveFinishHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ProcessApproveFinishResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
body = {}
if not UtilClient.is_unset(request.approve_id):
body['approveId'] = request.approve_id
if not UtilClient.is_unset(request.jump_url):
body['jumpUrl'] = request.jump_url
if not UtilClient.is_unset(request.over_time_to_more):
body['overTimeToMore'] = request.over_time_to_more
if not UtilClient.is_unset(request.overtime_duration):
body['overtimeDuration'] = request.overtime_duration
if not UtilClient.is_unset(request.sub_type):
body['subType'] = request.sub_type
if not UtilClient.is_unset(request.tag_name):
body['tagName'] = request.tag_name
if not UtilClient.is_unset(request.top_calculate_approve_duration_param):
body['topCalculateApproveDurationParam'] = request.top_calculate_approve_duration_param
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ProcessApproveFinish',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/approvals/finish',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ProcessApproveFinishResponse(),
await self.execute_async(params, req, runtime)
)
def process_approve_finish(
self,
request: dingtalkattendance__1__0_models.ProcessApproveFinishRequest,
) -> dingtalkattendance__1__0_models.ProcessApproveFinishResponse:
"""
@summary 通知审批通过
@param request: ProcessApproveFinishRequest
@return: ProcessApproveFinishResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ProcessApproveFinishHeaders()
return self.process_approve_finish_with_options(request, headers, runtime)
async def process_approve_finish_async(
self,
request: dingtalkattendance__1__0_models.ProcessApproveFinishRequest,
) -> dingtalkattendance__1__0_models.ProcessApproveFinishResponse:
"""
@summary 通知审批通过
@param request: ProcessApproveFinishRequest
@return: ProcessApproveFinishResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ProcessApproveFinishHeaders()
return await self.process_approve_finish_with_options_async(request, headers, runtime)
def reduce_quota_with_leave_record_with_options(
self,
union_id: str,
request: dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordRequest,
headers: dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordResponse:
"""
@summary 扣减员工假期余额
@param request: ReduceQuotaWithLeaveRecordRequest
@param headers: ReduceQuotaWithLeaveRecordHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ReduceQuotaWithLeaveRecordResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.end_time):
body['endTime'] = request.end_time
if not UtilClient.is_unset(request.leave_code):
body['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.outer_id):
body['outerId'] = request.outer_id
if not UtilClient.is_unset(request.quota_num):
body['quotaNum'] = request.quota_num
if not UtilClient.is_unset(request.reason):
body['reason'] = request.reason
if not UtilClient.is_unset(request.start_time):
body['startTime'] = request.start_time
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ReduceQuotaWithLeaveRecord',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/users/{union_id}/vacations/records/modify',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordResponse(),
self.execute(params, req, runtime)
)
async def reduce_quota_with_leave_record_with_options_async(
self,
union_id: str,
request: dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordRequest,
headers: dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordResponse:
"""
@summary 扣减员工假期余额
@param request: ReduceQuotaWithLeaveRecordRequest
@param headers: ReduceQuotaWithLeaveRecordHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ReduceQuotaWithLeaveRecordResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.end_time):
body['endTime'] = request.end_time
if not UtilClient.is_unset(request.leave_code):
body['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.outer_id):
body['outerId'] = request.outer_id
if not UtilClient.is_unset(request.quota_num):
body['quotaNum'] = request.quota_num
if not UtilClient.is_unset(request.reason):
body['reason'] = request.reason
if not UtilClient.is_unset(request.start_time):
body['startTime'] = request.start_time
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ReduceQuotaWithLeaveRecord',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/users/{union_id}/vacations/records/modify',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordResponse(),
await self.execute_async(params, req, runtime)
)
def reduce_quota_with_leave_record(
self,
union_id: str,
request: dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordRequest,
) -> dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordResponse:
"""
@summary 扣减员工假期余额
@param request: ReduceQuotaWithLeaveRecordRequest
@return: ReduceQuotaWithLeaveRecordResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordHeaders()
return self.reduce_quota_with_leave_record_with_options(union_id, request, headers, runtime)
async def reduce_quota_with_leave_record_async(
self,
union_id: str,
request: dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordRequest,
) -> dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordResponse:
"""
@summary 扣减员工假期余额
@param request: ReduceQuotaWithLeaveRecordRequest
@return: ReduceQuotaWithLeaveRecordResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ReduceQuotaWithLeaveRecordHeaders()
return await self.reduce_quota_with_leave_record_with_options_async(union_id, request, headers, runtime)
def retain_leave_types_with_options(
self,
request: dingtalkattendance__1__0_models.RetainLeaveTypesRequest,
headers: dingtalkattendance__1__0_models.RetainLeaveTypesHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.RetainLeaveTypesResponse:
"""
@summary 修改假期规则来源
@param request: RetainLeaveTypesRequest
@param headers: RetainLeaveTypesHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: RetainLeaveTypesResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.leave_codes):
body['leaveCodes'] = request.leave_codes
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.source):
body['source'] = request.source
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='RetainLeaveTypes',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/vacations/types/change',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.RetainLeaveTypesResponse(),
self.execute(params, req, runtime)
)
async def retain_leave_types_with_options_async(
self,
request: dingtalkattendance__1__0_models.RetainLeaveTypesRequest,
headers: dingtalkattendance__1__0_models.RetainLeaveTypesHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.RetainLeaveTypesResponse:
"""
@summary 修改假期规则来源
@param request: RetainLeaveTypesRequest
@param headers: RetainLeaveTypesHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: RetainLeaveTypesResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.leave_codes):
body['leaveCodes'] = request.leave_codes
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.source):
body['source'] = request.source
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='RetainLeaveTypes',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/vacations/types/change',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.RetainLeaveTypesResponse(),
await self.execute_async(params, req, runtime)
)
def retain_leave_types(
self,
request: dingtalkattendance__1__0_models.RetainLeaveTypesRequest,
) -> dingtalkattendance__1__0_models.RetainLeaveTypesResponse:
"""
@summary 修改假期规则来源
@param request: RetainLeaveTypesRequest
@return: RetainLeaveTypesResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.RetainLeaveTypesHeaders()
return self.retain_leave_types_with_options(request, headers, runtime)
async def retain_leave_types_async(
self,
request: dingtalkattendance__1__0_models.RetainLeaveTypesRequest,
) -> dingtalkattendance__1__0_models.RetainLeaveTypesResponse:
"""
@summary 修改假期规则来源
@param request: RetainLeaveTypesRequest
@return: RetainLeaveTypesResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.RetainLeaveTypesHeaders()
return await self.retain_leave_types_with_options_async(request, headers, runtime)
def reverse_trial_advanced_leave_with_options(
self,
request: dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveRequest,
headers: dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveResponse:
"""
@summary 提供给高级假期的试用订单回退
@param request: ReverseTrialAdvancedLeaveRequest
@param headers: ReverseTrialAdvancedLeaveHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ReverseTrialAdvancedLeaveResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.serv_code):
query['servCode'] = request.serv_code
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ReverseTrialAdvancedLeave',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/leaves/reverse',
method='PUT',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveResponse(),
self.execute(params, req, runtime)
)
async def reverse_trial_advanced_leave_with_options_async(
self,
request: dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveRequest,
headers: dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveResponse:
"""
@summary 提供给高级假期的试用订单回退
@param request: ReverseTrialAdvancedLeaveRequest
@param headers: ReverseTrialAdvancedLeaveHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ReverseTrialAdvancedLeaveResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.serv_code):
query['servCode'] = request.serv_code
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query)
)
params = open_api_models.Params(
action='ReverseTrialAdvancedLeave',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/leaves/reverse',
method='PUT',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveResponse(),
await self.execute_async(params, req, runtime)
)
def reverse_trial_advanced_leave(
self,
request: dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveRequest,
) -> dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveResponse:
"""
@summary 提供给高级假期的试用订单回退
@param request: ReverseTrialAdvancedLeaveRequest
@return: ReverseTrialAdvancedLeaveResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveHeaders()
return self.reverse_trial_advanced_leave_with_options(request, headers, runtime)
async def reverse_trial_advanced_leave_async(
self,
request: dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveRequest,
) -> dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveResponse:
"""
@summary 提供给高级假期的试用订单回退
@param request: ReverseTrialAdvancedLeaveRequest
@return: ReverseTrialAdvancedLeaveResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ReverseTrialAdvancedLeaveHeaders()
return await self.reverse_trial_advanced_leave_with_options_async(request, headers, runtime)
def salary_third_data_integration_with_options(
self,
request: dingtalkattendance__1__0_models.SalaryThirdDataIntegrationRequest,
headers: dingtalkattendance__1__0_models.SalaryThirdDataIntegrationHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.SalaryThirdDataIntegrationResponse:
"""
@summary 薪酬三方数据写入
@param request: SalaryThirdDataIntegrationRequest
@param headers: SalaryThirdDataIntegrationHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: SalaryThirdDataIntegrationResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.biz_type):
body['bizType'] = request.biz_type
if not UtilClient.is_unset(request.items):
body['items'] = request.items
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='SalaryThirdDataIntegration',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/salaries/tripartiteDatas/write',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.SalaryThirdDataIntegrationResponse(),
self.execute(params, req, runtime)
)
async def salary_third_data_integration_with_options_async(
self,
request: dingtalkattendance__1__0_models.SalaryThirdDataIntegrationRequest,
headers: dingtalkattendance__1__0_models.SalaryThirdDataIntegrationHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.SalaryThirdDataIntegrationResponse:
"""
@summary 薪酬三方数据写入
@param request: SalaryThirdDataIntegrationRequest
@param headers: SalaryThirdDataIntegrationHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: SalaryThirdDataIntegrationResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.biz_type):
body['bizType'] = request.biz_type
if not UtilClient.is_unset(request.items):
body['items'] = request.items
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='SalaryThirdDataIntegration',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/salaries/tripartiteDatas/write',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.SalaryThirdDataIntegrationResponse(),
await self.execute_async(params, req, runtime)
)
def salary_third_data_integration(
self,
request: dingtalkattendance__1__0_models.SalaryThirdDataIntegrationRequest,
) -> dingtalkattendance__1__0_models.SalaryThirdDataIntegrationResponse:
"""
@summary 薪酬三方数据写入
@param request: SalaryThirdDataIntegrationRequest
@return: SalaryThirdDataIntegrationResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.SalaryThirdDataIntegrationHeaders()
return self.salary_third_data_integration_with_options(request, headers, runtime)
async def salary_third_data_integration_async(
self,
request: dingtalkattendance__1__0_models.SalaryThirdDataIntegrationRequest,
) -> dingtalkattendance__1__0_models.SalaryThirdDataIntegrationResponse:
"""
@summary 薪酬三方数据写入
@param request: SalaryThirdDataIntegrationRequest
@return: SalaryThirdDataIntegrationResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.SalaryThirdDataIntegrationHeaders()
return await self.salary_third_data_integration_with_options_async(request, headers, runtime)
def save_custom_water_mark_template_with_options(
self,
request: dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateRequest,
headers: dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateResponse:
"""
@summary 新增水印签到模板
@param request: SaveCustomWaterMarkTemplateRequest
@param headers: SaveCustomWaterMarkTemplateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: SaveCustomWaterMarkTemplateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.open_conversation_id):
query['openConversationId'] = request.open_conversation_id
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
body = {}
if not UtilClient.is_unset(request.biz_code):
body['bizCode'] = request.biz_code
if not UtilClient.is_unset(request.icon):
body['icon'] = request.icon
if not UtilClient.is_unset(request.layout_design_id):
body['layoutDesignId'] = request.layout_design_id
if not UtilClient.is_unset(request.scene_code):
body['sceneCode'] = request.scene_code
if not UtilClient.is_unset(request.schema_content):
body['schemaContent'] = request.schema_content
if not UtilClient.is_unset(request.title):
body['title'] = request.title
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='SaveCustomWaterMarkTemplate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/watermarks/templates',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateResponse(),
self.execute(params, req, runtime)
)
async def save_custom_water_mark_template_with_options_async(
self,
request: dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateRequest,
headers: dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateResponse:
"""
@summary 新增水印签到模板
@param request: SaveCustomWaterMarkTemplateRequest
@param headers: SaveCustomWaterMarkTemplateHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: SaveCustomWaterMarkTemplateResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.open_conversation_id):
query['openConversationId'] = request.open_conversation_id
if not UtilClient.is_unset(request.user_id):
query['userId'] = request.user_id
body = {}
if not UtilClient.is_unset(request.biz_code):
body['bizCode'] = request.biz_code
if not UtilClient.is_unset(request.icon):
body['icon'] = request.icon
if not UtilClient.is_unset(request.layout_design_id):
body['layoutDesignId'] = request.layout_design_id
if not UtilClient.is_unset(request.scene_code):
body['sceneCode'] = request.scene_code
if not UtilClient.is_unset(request.schema_content):
body['schemaContent'] = request.schema_content
if not UtilClient.is_unset(request.title):
body['title'] = request.title
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='SaveCustomWaterMarkTemplate',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/watermarks/templates',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateResponse(),
await self.execute_async(params, req, runtime)
)
def save_custom_water_mark_template(
self,
request: dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateRequest,
) -> dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateResponse:
"""
@summary 新增水印签到模板
@param request: SaveCustomWaterMarkTemplateRequest
@return: SaveCustomWaterMarkTemplateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateHeaders()
return self.save_custom_water_mark_template_with_options(request, headers, runtime)
async def save_custom_water_mark_template_async(
self,
request: dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateRequest,
) -> dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateResponse:
"""
@summary 新增水印签到模板
@param request: SaveCustomWaterMarkTemplateRequest
@return: SaveCustomWaterMarkTemplateResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.SaveCustomWaterMarkTemplateHeaders()
return await self.save_custom_water_mark_template_with_options_async(request, headers, runtime)
def shift_add_with_options(
self,
request: dingtalkattendance__1__0_models.ShiftAddRequest,
headers: dingtalkattendance__1__0_models.ShiftAddHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ShiftAddResponse:
"""
@summary 创建班次
@param request: ShiftAddRequest
@param headers: ShiftAddHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ShiftAddResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.name):
body['name'] = request.name
if not UtilClient.is_unset(request.owner):
body['owner'] = request.owner
if not UtilClient.is_unset(request.sections):
body['sections'] = request.sections
if not UtilClient.is_unset(request.service_id):
body['serviceId'] = request.service_id
if not UtilClient.is_unset(request.setting):
body['setting'] = request.setting
if not UtilClient.is_unset(request.shift_id):
body['shiftId'] = request.shift_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ShiftAdd',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/shifts',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ShiftAddResponse(),
self.execute(params, req, runtime)
)
async def shift_add_with_options_async(
self,
request: dingtalkattendance__1__0_models.ShiftAddRequest,
headers: dingtalkattendance__1__0_models.ShiftAddHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.ShiftAddResponse:
"""
@summary 创建班次
@param request: ShiftAddRequest
@param headers: ShiftAddHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: ShiftAddResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.name):
body['name'] = request.name
if not UtilClient.is_unset(request.owner):
body['owner'] = request.owner
if not UtilClient.is_unset(request.sections):
body['sections'] = request.sections
if not UtilClient.is_unset(request.service_id):
body['serviceId'] = request.service_id
if not UtilClient.is_unset(request.setting):
body['setting'] = request.setting
if not UtilClient.is_unset(request.shift_id):
body['shiftId'] = request.shift_id
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='ShiftAdd',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/shifts',
method='POST',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.ShiftAddResponse(),
await self.execute_async(params, req, runtime)
)
def shift_add(
self,
request: dingtalkattendance__1__0_models.ShiftAddRequest,
) -> dingtalkattendance__1__0_models.ShiftAddResponse:
"""
@summary 创建班次
@param request: ShiftAddRequest
@return: ShiftAddResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ShiftAddHeaders()
return self.shift_add_with_options(request, headers, runtime)
async def shift_add_async(
self,
request: dingtalkattendance__1__0_models.ShiftAddRequest,
) -> dingtalkattendance__1__0_models.ShiftAddResponse:
"""
@summary 创建班次
@param request: ShiftAddRequest
@return: ShiftAddResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.ShiftAddHeaders()
return await self.shift_add_with_options_async(request, headers, runtime)
def sync_schedule_info_with_options(
self,
request: dingtalkattendance__1__0_models.SyncScheduleInfoRequest,
headers: dingtalkattendance__1__0_models.SyncScheduleInfoHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.SyncScheduleInfoResponse:
"""
@summary 用于考勤排班附加信息例如打卡位置打卡wifi等
@param request: SyncScheduleInfoRequest
@param headers: SyncScheduleInfoHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: SyncScheduleInfoResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.schedule_infos):
body['scheduleInfos'] = request.schedule_infos
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='SyncScheduleInfo',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/schedules/additionalInfo',
method='PUT',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='none'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.SyncScheduleInfoResponse(),
self.execute(params, req, runtime)
)
async def sync_schedule_info_with_options_async(
self,
request: dingtalkattendance__1__0_models.SyncScheduleInfoRequest,
headers: dingtalkattendance__1__0_models.SyncScheduleInfoHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.SyncScheduleInfoResponse:
"""
@summary 用于考勤排班附加信息例如打卡位置打卡wifi等
@param request: SyncScheduleInfoRequest
@param headers: SyncScheduleInfoHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: SyncScheduleInfoResponse
"""
UtilClient.validate_model(request)
body = {}
if not UtilClient.is_unset(request.op_user_id):
body['opUserId'] = request.op_user_id
if not UtilClient.is_unset(request.schedule_infos):
body['scheduleInfos'] = request.schedule_infos
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='SyncScheduleInfo',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/schedules/additionalInfo',
method='PUT',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='none'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.SyncScheduleInfoResponse(),
await self.execute_async(params, req, runtime)
)
def sync_schedule_info(
self,
request: dingtalkattendance__1__0_models.SyncScheduleInfoRequest,
) -> dingtalkattendance__1__0_models.SyncScheduleInfoResponse:
"""
@summary 用于考勤排班附加信息例如打卡位置打卡wifi等
@param request: SyncScheduleInfoRequest
@return: SyncScheduleInfoResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.SyncScheduleInfoHeaders()
return self.sync_schedule_info_with_options(request, headers, runtime)
async def sync_schedule_info_async(
self,
request: dingtalkattendance__1__0_models.SyncScheduleInfoRequest,
) -> dingtalkattendance__1__0_models.SyncScheduleInfoResponse:
"""
@summary 用于考勤排班附加信息例如打卡位置打卡wifi等
@param request: SyncScheduleInfoRequest
@return: SyncScheduleInfoResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.SyncScheduleInfoHeaders()
return await self.sync_schedule_info_with_options_async(request, headers, runtime)
def update_leave_type_with_options(
self,
request: dingtalkattendance__1__0_models.UpdateLeaveTypeRequest,
headers: dingtalkattendance__1__0_models.UpdateLeaveTypeHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.UpdateLeaveTypeResponse:
"""
@summary 更新假期规则
@param request: UpdateLeaveTypeRequest
@param headers: UpdateLeaveTypeHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: UpdateLeaveTypeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.biz_type):
body['bizType'] = request.biz_type
if not UtilClient.is_unset(request.extras):
body['extras'] = request.extras
if not UtilClient.is_unset(request.freedom_leave):
body['freedomLeave'] = request.freedom_leave
if not UtilClient.is_unset(request.hours_in_per_day):
body['hoursInPerDay'] = request.hours_in_per_day
if not UtilClient.is_unset(request.leave_certificate):
body['leaveCertificate'] = request.leave_certificate
if not UtilClient.is_unset(request.leave_code):
body['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.leave_name):
body['leaveName'] = request.leave_name
if not UtilClient.is_unset(request.leave_view_unit):
body['leaveViewUnit'] = request.leave_view_unit
if not UtilClient.is_unset(request.natural_day_leave):
body['naturalDayLeave'] = request.natural_day_leave
if not UtilClient.is_unset(request.submit_time_rule):
body['submitTimeRule'] = request.submit_time_rule
if not UtilClient.is_unset(request.visibility_rules):
body['visibilityRules'] = request.visibility_rules
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='UpdateLeaveType',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/leaves/types',
method='PUT',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.UpdateLeaveTypeResponse(),
self.execute(params, req, runtime)
)
async def update_leave_type_with_options_async(
self,
request: dingtalkattendance__1__0_models.UpdateLeaveTypeRequest,
headers: dingtalkattendance__1__0_models.UpdateLeaveTypeHeaders,
runtime: util_models.RuntimeOptions,
) -> dingtalkattendance__1__0_models.UpdateLeaveTypeResponse:
"""
@summary 更新假期规则
@param request: UpdateLeaveTypeRequest
@param headers: UpdateLeaveTypeHeaders
@param runtime: runtime options for this request RuntimeOptions
@return: UpdateLeaveTypeResponse
"""
UtilClient.validate_model(request)
query = {}
if not UtilClient.is_unset(request.op_user_id):
query['opUserId'] = request.op_user_id
body = {}
if not UtilClient.is_unset(request.biz_type):
body['bizType'] = request.biz_type
if not UtilClient.is_unset(request.extras):
body['extras'] = request.extras
if not UtilClient.is_unset(request.freedom_leave):
body['freedomLeave'] = request.freedom_leave
if not UtilClient.is_unset(request.hours_in_per_day):
body['hoursInPerDay'] = request.hours_in_per_day
if not UtilClient.is_unset(request.leave_certificate):
body['leaveCertificate'] = request.leave_certificate
if not UtilClient.is_unset(request.leave_code):
body['leaveCode'] = request.leave_code
if not UtilClient.is_unset(request.leave_name):
body['leaveName'] = request.leave_name
if not UtilClient.is_unset(request.leave_view_unit):
body['leaveViewUnit'] = request.leave_view_unit
if not UtilClient.is_unset(request.natural_day_leave):
body['naturalDayLeave'] = request.natural_day_leave
if not UtilClient.is_unset(request.submit_time_rule):
body['submitTimeRule'] = request.submit_time_rule
if not UtilClient.is_unset(request.visibility_rules):
body['visibilityRules'] = request.visibility_rules
real_headers = {}
if not UtilClient.is_unset(headers.common_headers):
real_headers = headers.common_headers
if not UtilClient.is_unset(headers.x_acs_dingtalk_access_token):
real_headers['x-acs-dingtalk-access-token'] = UtilClient.to_jsonstring(headers.x_acs_dingtalk_access_token)
req = open_api_models.OpenApiRequest(
headers=real_headers,
query=OpenApiUtilClient.query(query),
body=OpenApiUtilClient.parse_to_map(body)
)
params = open_api_models.Params(
action='UpdateLeaveType',
version='attendance_1.0',
protocol='HTTP',
pathname=f'/v1.0/attendance/leaves/types',
method='PUT',
auth_type='AK',
style='ROA',
req_body_type='none',
body_type='json'
)
return TeaCore.from_map(
dingtalkattendance__1__0_models.UpdateLeaveTypeResponse(),
await self.execute_async(params, req, runtime)
)
def update_leave_type(
self,
request: dingtalkattendance__1__0_models.UpdateLeaveTypeRequest,
) -> dingtalkattendance__1__0_models.UpdateLeaveTypeResponse:
"""
@summary 更新假期规则
@param request: UpdateLeaveTypeRequest
@return: UpdateLeaveTypeResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.UpdateLeaveTypeHeaders()
return self.update_leave_type_with_options(request, headers, runtime)
async def update_leave_type_async(
self,
request: dingtalkattendance__1__0_models.UpdateLeaveTypeRequest,
) -> dingtalkattendance__1__0_models.UpdateLeaveTypeResponse:
"""
@summary 更新假期规则
@param request: UpdateLeaveTypeRequest
@return: UpdateLeaveTypeResponse
"""
runtime = util_models.RuntimeOptions()
headers = dingtalkattendance__1__0_models.UpdateLeaveTypeHeaders()
return await self.update_leave_type_with_options_async(request, headers, runtime)