U
    ʤgw.                     @   s   d dl Z d dl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Zd dlZd dlmZ d dlmZmZmZmZmZ d dlmZ d	d
 Zd&ddZdd Zd'ddZdd Zdd Zdd Zdd Zdd Zdd Z dd Z!d d! Z"d"d# Z#d$d% Z$dS )(    N)sleep)messages)Sum)HttpResponseHttpResponseRedirect)render)	EmpleadosMarcacionesDepartamentoPermisosContrato)render_to_pdfc                  C   s<   d} ddi}ddd}t j| t||d}| d }|S )	Nz&http://10.20.50.60/jwt-api-token-auth/Content-Typeapplication/jsonadminzJohnny1987*)usernamepassword)dataheaderstoken)requestspostjsondumps)urlr   r   responser    r   -/var/www/html/TransitoApp/Biometrico/views.py	token_act   s     r      c                 C   sV   d|  }ddt   d}tj||d}t| d }t|d }| d |d	S )
Nz1http://10.20.50.60/personnel/api/employees/?page=r   JWT r   Authorizationr   count
   r   r   pagesr   r   getintr   paginar   r   r   contadordtr   r   r   returnEmpleados   s    
r/   c                  C   s  dt j  jt j  jt j  jf } ddt  d}tj| |d}| d D ]}zTt	j
j|d d}t j |d	 d
}tj
j|d |j|| | d td W n" tk
r } zW 5 d }~X Y nX td qPtd| t j    td tjtd}|  d S )NzAhttp://10.20.50.60/iclock/api/transactions/?start_time = %s-%s-%sr   r    r!   r#   r   empid_biometrico
punch_time%Y-%m-%d %H:%M:%Sidid_marcacionempleado_idhora_marcacionhorafechazRegistro..!finalizo...!zconsulta a:   target)datetimetodayyearmonthdayr   r   r)   r   r   objectsstrptimer	   creater5   timedateprint	Exceptionr   	threadingThread	recursivostart)r   r   r   	marcacionr0   horaserrormarcasr   r   r   rN   *   s8    
 
 

rN   c                 C   sX   d|  d}ddt   d}tj||d}t| d }t|d }| d	 |d
S )Nz1http://10.20.50.60/iclock/api/transactions/?page=z&page_size=10000r   r    r!   r#   r$   r%   r   r&   r(   r+   r   r   r   returnMarcacionesH   s    rT   c              	   C   s@  t  d }td|d D ]r}t |d D ]`}z@tjj|d |d |d |d |d	 d d
 td|d  W q(   td|d  Y q(X q(q| jrtjj| jdd}| jd|_	| jd|_
| jd|_| jddkrd|_nd|_| jd|_|  t| tjd tj dtj d}t| d|S )Nr'   r   r   r   r5   Zemp_code
first_name	last_nameZ
department)r2   codigonombres	apellidosdepartamento_idzse ha creadozYa esta registrador5   cedularY   rX   estadoATFdepartamentozLos cambios se registraronz-estado)	empleadosdepartamentoszbiometrico/empleados.html)r/   ranger   rE   rG   rJ   POSTr)   GETrW   rY   rX   r]   rZ   saver   add_messageSUCCESSallorder_byr
   r   )requestpaginasr,   r0   empleadocontextor   r   r   r`   T   s:    

r`   c                  C   s   t  d } td| d D ]}td| t |d D ]|}tj|d d}z:tjj|d d	}tjj	|d
 |j
|| | d W q2 tk
r } zt| W 5 d }~X Y q2X q2qtd d S )Nr'   r   r   z
pagina No.r   r3   r4   r0   r1   r5   r6   r<   )rT   rb   rJ   r@   rF   r   rE   r)   r	   rG   r5   rH   rI   rK   )rk   r,   rP   rQ   r0   rR   r   r   r   marcaw   s"    


rn   c                 C   s   t jtd}|  tdS )Nr>   z/biometrico/marcaciones)rL   rM   rn   rO   r   )rj   rS   r   r   r   marcaciones_   s    ro   c                 C   s8   t j   }dtjj|dddddi}t| d|S )NmarcacionesTZhora_marcacion__gteempleado__estadoZempleado__departamento_idrl   r9   zbiometrico/marcaciones.html)r@   rA   rI   r	   rE   filterri   r   rj   tiemporm   r   r   r   rp      s       rp   c                 C   s  t j }| jdr*|j| jdd}| jdrJ|j| jdd}| jdrj|j| jdd}| jdr|j| jdd}| jdrd	}| jdd
krd}|j|d}| jr|d}| jddkrd}nd	}d }| jdr
t jj| jdd}nt  }| jd|_||_| jd|_	| jd|_
| jd|_| jd|_|  t| tjd tdS |tjjddddd tdtj jd D dd tdd D d!}t| d"|S )#Nr0   r8   a)Zfecha__yearm)Zfecha__monthfjFSiT)justificableNr|   Sr5   r[   rl   fecha_solicitudfecha_salidahora_salidadetallezEl permiso se ha registrado.!z/biometrico/permisosr]   rX   c                 S   s   g | ]}|qS r   r   ).0rw   r   r   r   
<listcomp>   s     zpermisos.<locals>.<listcomp>i  r   c                 S   s   g | ]}|qS r   r   )r   rx   r   r   r   r      s        )permisosr`   ZaniosZmeseszbiometrico/permisos.html)r   rE   rh   rd   r)   rs   rc   r8   r|   r;   r   r   detalle_permisore   r   rf   rg   r   r   ri   rb   r@   nowrB   r   )rj   Zperrz   Zpermisorm   r   r   r   r      sL    
r   c                 C   sJ   t j   }tjj|ddtjjddtj j	ddd}t
| d|S )NTrq   r   ZOtro)nombre)rp   Zusuariosra   zbiometrico/index.html)r@   rA   rI   r	   rE   rs   r   r
   rh   excluder   rt   r   r   r   resumen   s    r   c                 C   sj   t j   }tjj|dd}g }|D ]4}||jdt	|j
jd t	|j
j d q&tt|S )NTrq   z%I:%M %p )r:   rl   )r@   rA   rI   r	   rE   rs   appendr:   strftimestrrl   rX   rY   r   r   r   )rj   ru   rp   Zlistair   r   r   marcaciones_dia   s    

r   c              	   C   s  d }t j   }tjj|dd}| jdr| jdrtjj| jd| jdgdjddjd dtjj| jd| jdgdd	B }|jdd
gdd}| jdr|j| jdd}t	jj| jdd}| j
rb|j| jdd}| j
ddk|_| j
ddk|_| j
d|_|  t| tjd td| jd d| jd S |d|jdd | jd| jd| jdt	jjdd t j  |d}| jdrtd|S t| d|S )NTrq   f1f2)fecha__rangez0:00:00)retrasoz00:00:00)r   r:   z12:00:00)Zhora__rangerr   funrv   r[   eZjur{   dfdu   Se registró una justificaciónz/biometrico/rep_atrasos?f1=z&f2=r;   )justificador   )rp   Zjustificadosr   r   r   r`   r;   funcionarioimpz'biometrico/informe_general_atrasos.htmlzbiometrico/reporte_atrasos.html)r@   rA   rI   r	   rE   rs   rd   r)   r   r   rc   r   feriadodetalle_marcacionre   r   rf   rg   r   ri   r$   r   r   r   )rj   r   ru   Zmarcccrm   r   r   r   reporte_atrasos   s:    V$



r   c                 C   s   d }t j t j  jt j  jdd}tjj|t j  gddd}| j	dr| j	dr| j	d}| j	d}tjj||gddd}| j	dr|j| j	dd	}|t
j tjjdd
d}t| d|S )Nr   )rB   rC   rD   T)r   rr   r9   r   r   r   rv   r   )rp   areasfuncionariosz"biometrico/reporteMarcaciones.html)r@   rA   rB   rC   r	   rE   rs   ri   rd   r)   r
   rh   r   r   )rj   rp   mesr   r   rm   r   r   r   reporteMarcaciones  s$     r   c              	   C   s   | j rNtjj| j d| j d| jd| j d| j d| j dd tjj| jddtjj| jdd	d
}| jdrdtjj| jdd	i}td|S t	| d|S )Nfecha_inicio	fecha_finncargopartida_presupuestariacertificacion_numero)r   r   r8   r   r   r   rv   r[   )Z	contratosrl   rJ   contratozbiometrico/contrato.htmlzbiometrico/todos_contratos.html)
rc   r   rE   rG   r)   rd   rs   r   r   r   )rj   rm   r   r   r   r     s$    





	 
r   )r   )r   )%r@   rL   rH   r   django.contribr   django.db.modelsr   django.httpr   r   r   r   Zdjango.shortcutsr   ZBiometrico.modelsr   r	   r
   r   r   TransitoApp.snnipersr   r   r/   rN   rT   r`   rn   ro   rp   r   r   r   r   r   r   r   r   r   r   <module>   s0   

#	,
#