
    *ja                         d dl mZmZmZmZmZmZmZmZm	Z	 d dl
mZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ  G d de          Z G d de          Z dS )    )	AnyOptionalUnionDictListSetIOCallableType)init   )FlexibleRule)PunchTimeRule)LateOffLateOnRule)RestRule)OvertimeRule)ShiftMiddleTimeRule)ShiftAttendanceTimeConfig)LateOffLateOnSetting)RestTimeFlexibleConfigc                      e Zd Zi dedededee         dededee         ded	ee         d
ee	         dee
         dee         dedee
         dededeeeee         dZddZedd            ZdS )Shiftshift_id
shift_namepunch_timessub_shift_leader_idsis_flexibleflexible_minutesflexible_ruleno_need_offpunch_time_rulelate_off_late_on_rulerest_time_ruleovertime_ruleday_typeovertime_rest_time_rulelate_minutes_as_serious_lateshift_middle_time_ruleshift_attendance_time_config)late_off_late_on_settingidrest_time_flexible_configsNc                 J   d | _         d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _	        d | _
        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        t)          | || j                   d S N)r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r   _types)selfds     h/usr/local/lib/hermes-agent/venv/lib/python3.11/site-packages/lark_oapi/api/attendance/v1/model/shift.py__init__zShift.__init__)   s    '+)-*.9=!+//3;?+/>BHL"8<;?'+AE$;?)EI#QU)HL%!%RV'T1dk"""""    returnShiftBuilderc                      t                      S r.   )r6    r4   r2   builderzShift.builder@   s    ~~r4   r.   )r5   r6   )__name__
__module____qualname__strintr   boolr   r   r   r   r   r   r   r   r   r/   r3   staticmethodr9   r8   r4   r2   r   r      sZ       Cc 	s 	S		
 	t 	C 	l+ 	t 	4. 	 &7!8 	$x. 	l+ 	C 	"4> 	'  	!"5!" 	'(A#$ %9&*+A&B)  F.# # # #.    \  r4   r   c                      e Zd Zd.dZdedd fdZdedd fdZdedd fd	Zd
e	e         dd fdZ
dedd fdZdedd fdZde	e         dd fdZdedd fdZde	e         dd fdZde	e         dd fdZde	e         dd fdZde	e         dd fdZdedd fdZde	e         dd fdZd edd fd!Zd"edd fd#Zd$edd fd%Zd&e dd fd'Z!d(edd fd)Z"d*e	e#         dd fd+Z$d/d-Z%dS )0r6   r5   Nc                 ,    t                      | _        d S r.   )r   _shiftr0   s    r2   r3   zShiftBuilder.__init__F   s    ggr4   r   c                     || j         _        | S r.   )rC   r   )r0   r   s     r2   r   zShiftBuilder.shift_idI       'r4   r   c                     || j         _        | S r.   )rC   r   )r0   r   s     r2   r   zShiftBuilder.shift_nameM   s    !+r4   r   c                     || j         _        | S r.   )rC   r   )r0   r   s     r2   r   zShiftBuilder.punch_timesQ       "-r4   r   c                     || j         _        | S r.   )rC   r   )r0   r   s     r2   r   z!ShiftBuilder.sub_shift_leader_idsU   s    +?(r4   r   c                     || j         _        | S r.   )rC   r   )r0   r   s     r2   r   zShiftBuilder.is_flexibleY   rI   r4   r   c                     || j         _        | S r.   )rC   r   )r0   r   s     r2   r   zShiftBuilder.flexible_minutes]   s    '7$r4   r   c                     || j         _        | S r.   )rC   r   )r0   r   s     r2   r   zShiftBuilder.flexible_rulea       $1!r4   r    c                     || j         _        | S r.   )rC   r    )r0   r    s     r2   r    zShiftBuilder.no_need_offe   rI   r4   r!   c                     || j         _        | S r.   )rC   r!   )r0   r!   s     r2   r!   zShiftBuilder.punch_time_rulei   s    &5#r4   r"   c                     || j         _        | S r.   )rC   r"   )r0   r"   s     r2   r"   z"ShiftBuilder.late_off_late_on_rulem   s    ,A)r4   r#   c                     || j         _        | S r.   )rC   r#   )r0   r#   s     r2   r#   zShiftBuilder.rest_time_ruleq   s    %3"r4   r$   c                     || j         _        | S r.   )rC   r$   )r0   r$   s     r2   r$   zShiftBuilder.overtime_ruleu   rN   r4   r%   c                     || j         _        | S r.   )rC   r%   )r0   r%   s     r2   r%   zShiftBuilder.day_typey   rF   r4   r&   c                     || j         _        | S r.   )rC   r&   )r0   r&   s     r2   r&   z$ShiftBuilder.overtime_rest_time_rule}   s    .E+r4   r'   c                     || j         _        | S r.   )rC   r'   )r0   r'   s     r2   r'   z)ShiftBuilder.late_minutes_as_serious_late       3O0r4   r(   c                     || j         _        | S r.   )rC   r(   )r0   r(   s     r2   r(   z#ShiftBuilder.shift_middle_time_rule   s    -C*r4   r)   c                     || j         _        | S r.   )rC   r)   )r0   r)   s     r2   r)   z)ShiftBuilder.shift_attendance_time_config   rW   r4   r*   c                     || j         _        | S r.   )rC   r*   )r0   r*   s     r2   r*   z%ShiftBuilder.late_off_late_on_setting   s    /G,r4   r+   c                     || j         _        | S r.   )rC   r+   )r0   r+   s     r2   r+   zShiftBuilder.id   s    r4   r,   c                     || j         _        | S r.   )rC   r,   )r0   r,   s     r2   r,   z'ShiftBuilder.rest_time_flexible_configs   s    1K.r4   r   c                     | j         S r.   )rC   rD   s    r2   buildzShiftBuilder.build   s
    {r4   )r5   N)r5   r   )&r:   r;   r<   r3   r=   r   r   r>   r   r   r   r?   r   r   r   r   r    r   r!   r   r"   r   r#   r   r$   r%   r&   r'   r   r(   r   r)   r   r*   r+   r   r,   r^   r8   r4   r2   r6   r6   E   s               S ^    s ~    c ~    t          4+= .    t     tM/B ~    4@Q;R We    T(^     4+= .         tH~ R`     Q_    =P Uc    Ib gu    AU Zh    S ^    TJ`Ea ft         r4   r6   N)!typingr   r   r   r   r   r   r	   r
   r   lark_oapi.core.constructr   r   r   r!   r   r"   r   	rest_ruler   r$   r   r(   r   r)   r   r*   r   rest_time_flexible_configr   objectr   r6   r8   r4   r2   <module>rd      sy   M L L L L L L L L L L L L L L L L L L L L L ) ) ) ) ) ) ' ' ' ' ' ' * * * * * * 4 4 4 4 4 4       ' ' ' ' ' '       7 7 7 7 7 7 C C C C C C : : : : : : = = = = = =1 1 1 1 1F 1 1 1hU U U U U6 U U U U Ur4   