B
    n}c                 @   s   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mZ d d	lmZ d d
lmZ d dlmZ G dd deZeejeddd ZdS )    )models)signals)receiver)gettext_lazy)choices)db_const)Terminal)MAX_EMP_PINMAX_AREA_NAME)Employee)AbstractCloud)MASK_FLAG_CHOICESc                   sF  e Zd ZejededZeje	edddej
dZeedZejedejejdd	Zejed
dejdZejedddddZejedejddddZejedejdddZejeedej
dddZejededddZejeddddZ ejeddddZ!ej"edddddZ#ejedej$dddZ%ej&eddddej'dZ(ej&ed dddd!d"Z)ejed#ej*ddd$Z+ej&ed%dddd&Z,ejed'ej-ddd$Z.ejed(dddZ/ej&ed)dddd&Z0ejed*dddZ1ej2ed+d,d-ddd.Z3ejed/dde4d0Z5G d1d2 d2Z6 fd3d4Z7  Z8S )5TransactionZtransaction_field_employeeCode)
max_lengthZtransaction_field_employeeT)verbose_namenullblank	on_deleteZtransaction_field_punchTimeZtransaction_field_punchState0)r   r   defaultZtransaction_field_verifyTyper   )r   r   Ztransaction_field_workCode   )r   r   r   Ztransaction_field_terminalSN )r   r   r   r   Ztransaction_terminal_aliasZtransaction_field_terminal)r   r   r   r   Ztransaction_field_areaAliasZtransaction_field_longitude)r   r   Ztransaction_field_latitudeZtransaction_field_gpsLocation)r   r   r   Ztransaction_field_mobileZtransaction_field_source   )r   r   r   r   Ztransaction_field_purposeF)r   r   r   ZeditableZtransaction_field_crcCode)r   r   r   Ztransaction_field_isAttendance)r   r   r   Ztransaction_field_reservedZtransaction_field_uploadTimeZ$transaction_field_synchronizedStatusZ#transaction_field_synchronized_timeZTemperature      )Zdecimal_placesZ
max_digitsr   r   z	Mask Flag)r   r   r   c               @   s.   e Zd ZdZejZedZeZ	dZ
ddgZdS )zTransaction.Meta)viewZiclock_model_transaction)emp_code
punch_timeterminal_sncompanyr   r   N)__name__
__module____qualname__Zdefault_permissionsr   Z	APP_LABELZ	app_label_r   Zverbose_name_pluralZunique_togetherZindex_together r$   r$   ?G:\easytimepro\master/mysite/iclock\models\model_transaction.pyMeta8   s   r&   c                s   t t| j|| d S )N)superr   save)selfargskwargs)	__class__r$   r%   r(   @   s    zTransaction.save)9r    r!   r"   r   Z	CharFieldr#   r	   r   Z
ForeignKeyr   ZSET_NULLempZDateTimeFieldr   r   ZMAX_TRANSACTION_STATEcZPUNCH_STATEZpunch_stateZIntegerFieldZVERIFY_TYPEZverify_typeZ	work_codeZMAX_TERMINAL_SNr   ZMAX_TERMINAL_ALIASZterminal_aliasr   Zterminalr
   Z
area_aliasZ
FloatFieldZ	longitudeZlatitudeZ	TextFieldZgps_locationZMAX_TRANSACTION_MOBILEmobileZSmallIntegerFieldZTRANSACTION_SOURCEsourceZpurposeZMAX_TRANSACTION_CRC_CODEcrcZis_attendanceZMAX_TRANSACTION_RESERVEDreservedZupload_timeZsync_statusZ	sync_timeZDecimalFieldZtemperaturer   Z	mask_flagr&   r(   __classcell__r$   r$   )r,   r%   r      sF   







r   )senderc             K   s6   |r2t jj|j|jdd}| dkr2|j|d d S )NT)r   
company_idZemp__isnullr   )r-   )r   Zobjectsfilterr   r5   countupdate)r4   instanceZcreatedrawr+   Zqsr$   r$   r%   update_employee2transactionD   s    r;   N)Z	django.dbr   Zdjango.db.modelsr   Zdjango.dispatch.dispatcherr   Zdjango.utils.translationr   r#   Zmysite.iclockr   r.   r   Zmysite.iclock.modelsr   Zmysite.personnel.db_constr	   r
   Zmysite.personnel.modelsr   Z!mysite.admin.abstract_cloud_modelr   Zmysite.iclock.choicesr   r   Z	post_saver;   r$   r$   r$   r%   <module>   s   0