B
    IDb~  ã               @   sR   d dl mZ d dlmZ d dlmZ G dd„ deƒZdd„ Zdd	„ Zddd„Z	dS )é    )ÚBaseCommand)Úsettings)ÚEmployeec               @   s   e Zd ZdZdd„ ZdS )ÚCommandzIchange repeat emp_code: [1, 2, 2, 2, 3] ----> [1, 2, 2extra1, 2extra2, 3]c             O   s    t jrtƒ  ntƒ  tdƒ d S )NZOK)r   ZCLOUD_VERSIONÚcloud_change_emp_codeÚenterprise_change_emp_codeÚprint)ÚselfÚargsZoptions© r   úUG:\easytimepro\master/mysite/personnel\management\commands\update_repeate_emp_code.pyÚhandle   s
    zCommand.handleN)Ú__name__Ú
__module__Ú__qualname__Úhelpr   r   r   r   r   r   	   s   r   c           
   C   sN  ddl m}  ddlm} tj ¡ }|jddd}|jddd ¡ }| |ƒ 	| 
¡ | 
¡  ¡}t|ƒ xä|D ]Ü}|d dkrjttjj|d d d	¡ƒ}x®t|ƒD ]¢\}}	|dkr²q d
|d  dt|ƒ  d
 }
d
|	d	  d
 }d|
|f }td|ƒ yt|dd W n  tk
r$   td|ƒ Y nX | dtj|d tjf ¡ q W qjW d S )Nr   )ÚCounter)ÚcacheÚemp_codeT)Zflaté   )r   Úidú'zextra%sz5UPDATE personnel_employee SET emp_code=%s WHERE id=%szsql: )ÚactionzError:z%s_iclock_emp_PIN_%s_company_%s)Úcollectionsr   Zdjango.core.cacher   r   ZobjectsÚallZvalues_listZdistinctÚmost_commonÚcountr   ÚlistÚfilterÚvaluesÚ	enumerateÚstrÚExe_SqlÚ	ExceptionÚdeleter   ZUNITZDEFAULT_COMPANY_ID)r   r   ZempZemp_qsZ
emp_dis_qsÚresultZ
code_countZid_lsÚiÚvÚcoder   Z
update_sqlr   r   r   r      s,    


r   c               C   s
   t ƒ  d S )N)r   r   r   r   r   r   .   s    r   Fc          
   C   s†   ddl m} d }zVy| ¡ }| | ¡ W n: tk
rb } ztjrRt| ƒ td|ƒ W d d }~X Y nX W d |r€|r€| ¡  | 	¡  X |S )Nr   )Ú
connectionzExe_Sql ERROR:)
Z	django.dbr)   ÚcursorZexecuter#   r   ÚDEBUGr   ZcommitÚclose)Zsqlr   r)   r*   Úer   r   r   r"   3   s     
r"   N)F)
Zdjango.core.management.baser   Zdjango.confr   Z&mysite.personnel.models.model_employeer   r   r   r   r"   r   r   r   r   Ú<module>   s   