sdk/oapi-sdk-python-2_main/lark_oapi/api/attendance/v1/model/shift.py

155 lines
6.1 KiB
Python

# Code generated by Lark OpenAPI.
from typing import Any, Optional, Union, Dict, List, Set, IO, Callable, Type
from lark_oapi.core.construct import init
from .flexible_rule import FlexibleRule
from .punch_time_rule import PunchTimeRule
from .late_off_late_on_rule import LateOffLateOnRule
from .rest_rule import RestRule
from .overtime_rule import OvertimeRule
from .rest_rule import RestRule
from .shift_middle_time_rule import ShiftMiddleTimeRule
from .shift_attendance_time_config import ShiftAttendanceTimeConfig
from .late_off_late_on_setting import LateOffLateOnSetting
from .rest_time_flexible_config import RestTimeFlexibleConfig
class Shift(object):
_types = {
"shift_id": str,
"shift_name": str,
"punch_times": int,
"sub_shift_leader_ids": List[str],
"is_flexible": bool,
"flexible_minutes": int,
"flexible_rule": List[FlexibleRule],
"no_need_off": bool,
"punch_time_rule": List[PunchTimeRule],
"late_off_late_on_rule": List[LateOffLateOnRule],
"rest_time_rule": List[RestRule],
"overtime_rule": List[OvertimeRule],
"day_type": int,
"overtime_rest_time_rule": List[RestRule],
"late_minutes_as_serious_late": int,
"shift_middle_time_rule": ShiftMiddleTimeRule,
"shift_attendance_time_config": ShiftAttendanceTimeConfig,
"late_off_late_on_setting": LateOffLateOnSetting,
"id": str,
"rest_time_flexible_configs": List[RestTimeFlexibleConfig],
}
def __init__(self, d=None):
self.shift_id: Optional[str] = None
self.shift_name: Optional[str] = None
self.punch_times: Optional[int] = None
self.sub_shift_leader_ids: Optional[List[str]] = None
self.is_flexible: Optional[bool] = None
self.flexible_minutes: Optional[int] = None
self.flexible_rule: Optional[List[FlexibleRule]] = None
self.no_need_off: Optional[bool] = None
self.punch_time_rule: Optional[List[PunchTimeRule]] = None
self.late_off_late_on_rule: Optional[List[LateOffLateOnRule]] = None
self.rest_time_rule: Optional[List[RestRule]] = None
self.overtime_rule: Optional[List[OvertimeRule]] = None
self.day_type: Optional[int] = None
self.overtime_rest_time_rule: Optional[List[RestRule]] = None
self.late_minutes_as_serious_late: Optional[int] = None
self.shift_middle_time_rule: Optional[ShiftMiddleTimeRule] = None
self.shift_attendance_time_config: Optional[ShiftAttendanceTimeConfig] = None
self.late_off_late_on_setting: Optional[LateOffLateOnSetting] = None
self.id: Optional[str] = None
self.rest_time_flexible_configs: Optional[List[RestTimeFlexibleConfig]] = None
init(self, d, self._types)
@staticmethod
def builder() -> "ShiftBuilder":
return ShiftBuilder()
class ShiftBuilder(object):
def __init__(self) -> None:
self._shift = Shift()
def shift_id(self, shift_id: str) -> "ShiftBuilder":
self._shift.shift_id = shift_id
return self
def shift_name(self, shift_name: str) -> "ShiftBuilder":
self._shift.shift_name = shift_name
return self
def punch_times(self, punch_times: int) -> "ShiftBuilder":
self._shift.punch_times = punch_times
return self
def sub_shift_leader_ids(self, sub_shift_leader_ids: List[str]) -> "ShiftBuilder":
self._shift.sub_shift_leader_ids = sub_shift_leader_ids
return self
def is_flexible(self, is_flexible: bool) -> "ShiftBuilder":
self._shift.is_flexible = is_flexible
return self
def flexible_minutes(self, flexible_minutes: int) -> "ShiftBuilder":
self._shift.flexible_minutes = flexible_minutes
return self
def flexible_rule(self, flexible_rule: List[FlexibleRule]) -> "ShiftBuilder":
self._shift.flexible_rule = flexible_rule
return self
def no_need_off(self, no_need_off: bool) -> "ShiftBuilder":
self._shift.no_need_off = no_need_off
return self
def punch_time_rule(self, punch_time_rule: List[PunchTimeRule]) -> "ShiftBuilder":
self._shift.punch_time_rule = punch_time_rule
return self
def late_off_late_on_rule(self, late_off_late_on_rule: List[LateOffLateOnRule]) -> "ShiftBuilder":
self._shift.late_off_late_on_rule = late_off_late_on_rule
return self
def rest_time_rule(self, rest_time_rule: List[RestRule]) -> "ShiftBuilder":
self._shift.rest_time_rule = rest_time_rule
return self
def overtime_rule(self, overtime_rule: List[OvertimeRule]) -> "ShiftBuilder":
self._shift.overtime_rule = overtime_rule
return self
def day_type(self, day_type: int) -> "ShiftBuilder":
self._shift.day_type = day_type
return self
def overtime_rest_time_rule(self, overtime_rest_time_rule: List[RestRule]) -> "ShiftBuilder":
self._shift.overtime_rest_time_rule = overtime_rest_time_rule
return self
def late_minutes_as_serious_late(self, late_minutes_as_serious_late: int) -> "ShiftBuilder":
self._shift.late_minutes_as_serious_late = late_minutes_as_serious_late
return self
def shift_middle_time_rule(self, shift_middle_time_rule: ShiftMiddleTimeRule) -> "ShiftBuilder":
self._shift.shift_middle_time_rule = shift_middle_time_rule
return self
def shift_attendance_time_config(self, shift_attendance_time_config: ShiftAttendanceTimeConfig) -> "ShiftBuilder":
self._shift.shift_attendance_time_config = shift_attendance_time_config
return self
def late_off_late_on_setting(self, late_off_late_on_setting: LateOffLateOnSetting) -> "ShiftBuilder":
self._shift.late_off_late_on_setting = late_off_late_on_setting
return self
def id(self, id: str) -> "ShiftBuilder":
self._shift.id = id
return self
def rest_time_flexible_configs(self, rest_time_flexible_configs: List[RestTimeFlexibleConfig]) -> "ShiftBuilder":
self._shift.rest_time_flexible_configs = rest_time_flexible_configs
return self
def build(self) -> "Shift":
return self._shift