o
    ÎÛ·h÷  ã                   @   sr   d dl Z dd„ ZG dd„ dƒZG dd„ dƒZG dd	„ d	ƒZd
d„ ZG dd„ dƒZdd„ ZG dd„ dƒZdd„ Z	dS )é    Nc                 C   s2   | d ks| dkrd}|S t t |  ¡ ¡d ƒ}|S )NÚ iè  )ÚintÚtimeÚmktimeÚ	timetuple)Ú	time_dataÚa© r	   ú5/var/www/FinalPayroll/payrollservice/util/userutil.pyÚdate_to_m_sec   s
   r   c                	   @   s˜   e Zd ZdddœZdddœZdddœZdd	dœZeeeegZed
 eed
 eed
 eed
 eiZed
 ed ed
 ed ed
 ed ed
 ed iZ	dS )ÚDesignationTypeé   ÚEmployee©ÚidÚtexté   z	Team Leadé   z	Unit Headé   ÚAdminr   r   N)
Ú__name__Ú
__module__Ú__qualname__Ú	developerÚ	team_leadÚ	unit_headÚadminÚdesignation_arrÚ	role_dictÚnew_role_dictr	   r	   r	   r
   r      s    



$8r   c                   @   s<   e Zd ZdddœZdddœZdddœZeeegZdd	„ Zd
S )ÚNoticePeriodUtilr   ÚWorkingr   r   zServing Noticeperiodr   ÚRelievedc                 C   s(   | j D ]}|d t|ƒkr|  S qd S )Nr   )Úarrr   )ÚselfÚtype_idÚir	   r	   r
   Únotice_type   s
   
ÿÿzNoticePeriodUtil.notice_typeN)r   r   r   r!   ÚServing_NoticeperiodÚrelievedr#   r'   r	   r	   r	   r
   r       s    



r    c                   @   s4   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS )ÚWorkmodeutilr   r   r   r   é   zwork from officezwork from homeÚOutdoorÚHybirdzclient locationN)r   r   r   ÚWORK_FROM_OFFICEÚWORK_FROM_HOMEÚOUTDOORÚHYBRIDÚCLIENTÚWORK_FROM_OFFICE_VALÚWORK_FROM_HOME_VALÚOUTDOOR_VALÚ
HYBRID_VALÚ
CLIENT_VALr	   r	   r	   r
   r*   "   s    r*   c                 C   sš   | t jkrt jt jdœ}|S | t jkrt jt jdœ}|S | t jkr*t jt jdœ}|S | t jkr8t jt jdœ}|S | t j	krFt j	t j
dœ}|S d d dœ}|S )Nr   ©r   Úname)r*   r.   r3   r/   r4   r0   r5   r1   r6   r2   r7   ©ÚtypeÚdatar	   r	   r
   Úworkmode_type0   s"   

õ

÷
ù
û
ÿr=   c                   @   sp   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZeeeeeeeeeeeee	ee
eiZdS )ÚStatusChangeTyper   r   r   r   r+   é   é   r   r!   ÚOnboardzDesignation SubmitzService Noticeperiodr"   ÚOnHoldÚTrainingÚInactiveN)r   r   r   ÚWORKINGÚONBOARDÚDESIGNATION_SUBMITÚSERVING_NOTICEPERIODÚRELIEVEDÚON_HOLDÚTRAININGÚINACTIVEÚWORKING_VALÚONBOARD_VALÚDESIGNATION_SUBMIT_VALÚSERVING_NOTICEPERIOD_VALÚRELIEVED_VALÚON_HOLD_VALÚTRAINING_VALÚINACTIVE_VALÚstatus_mappingr	   r	   r	   r
   r>   A   s4    ør>   c                 C   sî   | t jkrt jt jdœ}|S | t jkrt jt jdœ}|S | t jkr*t jt jdœ}|S | t jkr8t jt jdœ}|S | t j	krFt j	t j
dœ}|S | t jkrTt jt jdœ}|S | t jkrbt jt jdœ}|S | t jkrpt jt jdœ}|S d d dœ}|S )Nr   )r>   rE   rM   rF   rN   rG   rO   rH   rP   rI   rQ   rJ   rR   rK   rS   rL   rT   r:   r	   r	   r
   Ústatuschangeutil`   s4   

ð
ò
ô
ö	
ø
ú
ü
ÿrV   c                   @   s4   e Zd ZdZdZdZdZdZdZeeeeeeiZ	dS )ÚEmployee_Typer   r   r   Ú	CandidateÚ
InternshiprC   N)
r   r   r   rX   rY   rC   ÚCANDIDATE_VALÚINTERNSHIP_VALrS   Úemployee_type_mappingr	   r	   r	   r
   rW   v   s    ýrW   c                 C   sb   | t jkrt jt jdœ}|S | t jkrt jt jdœ}|S | t jkr*t jt jdœ}|S d d dœ}|S )Nr8   )rW   rX   rZ   rY   r[   rC   rS   r:   r	   r	   r
   ÚEmployee_type†   s   

ú
ü
ÿr]   )
r   r   r   r    r*   r=   r>   rV   rW   r]   r	   r	   r	   r
   Ú<module>   s    