155 lines
6.1 KiB
Python
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
|