U
    ŷi                     @   s   d dl Z d dlmZmZ d dlmZmZmZmZmZ d dl	m
Z
mZ d dlmZmZmZ d dlmZ G dd deZG d	d
 d
eZdS )    N)datetimetimezone)StringIntegerBooleanDateTime
ForeignKey)ListOptional)Mappedmapped_columnrelationship)Basec                   @   s  e Zd ZU dZeeddd dZee e	d< ee
dddd d	d
Zee e	d< eed	dZee e	d< eed	dZee e	d< eed	dZee e	d< eeedddddZeee  e	d< eeddZeee  e	d< eedd	d
Zee e	d< eedd	d
Zee e	d< eed	d	d
Zee e	d< ee
dddd dZee e	d< eddddZeed  e	d < ed!Zed! e	d"< d#S )$
PayrollRunZpayroll_runsTc                   C   s   t t S Nstruuiduuid4 r   r   =/var/www/html/me.goteku.com/backend/app/models/payroll_run.py<lambda>       zPayrollRun.<lambda>primary_keydefaultidr   c                   C   s   t tjS r   r   nowr   utcr   r   r   r   r      r   Fr   nullablerun_dater"   monthyearexport_typezcompanies.idSET NULLondelete
company_idcompany_namer   total_amountemployee_countrecorded_transactionsc                   C   s   t tjS r   r   r   r   r   r   r      r   r   
created_atPayrollRunItemrunzall, delete-orphan)back_populatescascadeitemsCompanycompanyN) __name__
__module____qualname____tablename__r   r   r   r   r   __annotations__r   r#   r   r   r%   intr&   r'   r   r+   r
   r,   r-   r.   r   r/   boolr1   r   r6   r	   r8   r   r   r   r   r   	   sB   
     
    r   c                   @   s  e Zd ZU dZeeddd dZee e	d< eee
ddd	d
dZee e	d< eee
ddd	ddZeee  e	d< eed
dZee e	d< eeddZeee  e	d< eeddZeee  e	d< eed
dZee e	d< eedd
dZee e	d< eedd
dZee e	d< eedd
dZee e	d< eed
dZee e	d< eed
d
dZee e	d< eedddd dZee e	d< edd d!Zee  e	d"< ed#Z!ed# e	d$< d%S )&r2   Zpayroll_run_itemsTc                   C   s   t t S r   r   r   r   r   r   r   *   r   zPayrollRunItem.<lambda>r   r   zpayroll_runs.idCASCADEr)   Fr$   run_idzemployees.idr(   employee_idemployee_nameaccount_nameaccount_numberbase_salaryr   r!   benefitloan_deductioncash_advance
net_amounthas_overrider   c                   C   s   t tjS r   r   r   r   r   r   r   <   r   r0   r1   r   r6   )r4   r3   EmployeeemployeeN)"r9   r:   r;   r<   r   r   r   r   r   r=   r   rA   rB   r
   rC   rD   rE   r   rF   r>   rG   rH   rI   rJ   r   rK   r?   r   r1   r   r   r3   r   rM   r   r   r   r   r2   &   s>   
   
  
  r2   )r   r   r   
sqlalchemyr   r   r   r   r   typingr	   r
   sqlalchemy.ormr   r   r   app.core.databaser   r   r2   r   r   r   r   <module>   s   