
    Ffv.                         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	 Zdd
Zd ZddZd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$y)    N)sleep)messages)Sum)HttpResponseHttpResponseRedirect)render)	EmpleadosMarcacionesDepartamentoPermisosContrato)render_to_pdfc                      d} ddi}ddd}t        j                  | t        j                  |      |      }|j                         d   }|S )	Nz&http://10.20.50.60/jwt-api-token-auth/Content-Typeapplication/jsonadmintransito2024)usernamepassword)dataheaderstoken)requestspostjsondumps)urlr   r   responser   s        =C:\Users\user\PycharmProjects\TransitoApp\Biometrico\views.py	token_actr       sU    
2C*G "D }}Stzz$'7IHMMOG$EL    c                     d|  }ddt               z   d}t        j                  ||      }t        |j	                         d         }t        |dz        }|j	                         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dts         r   returnEmpleadosr2      sm    =fX
FC*)+-G ||C1H8==?7+,H	X]	BMMOF+b99r!   c            	         dt         j                   j                         j                  dt         j                   j                         j                  dt         j                   j                         j                  } ddt               z   d}t        j                  | |      }|j                         d   D ]  }	 t        j                  j                  |d   	      }t         j                   j                  |d
   d      }t        j                  j                  |d   |j                  ||j                         |j!                                t#        d       t#        d        t#        d| t         j                   j                         j                                t'        d       t)        j*                  t,              }|j/                          y # t$        $ r
}Y d }~d }~ww xY w)Nz9http://10.20.50.60/iclock/api/transactions/?start_time = -r   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
   creater:   timedateprint	Exceptionr   	threadingThread	recursivostart)r   r   r   	marcacionr5   horaserrormarcass           r   rS   rS   *   s~   ""H$5$5$;$;$=$C$CXEVEVE\E\E^EbEbdC +)+-G ||C1H]]_V, 		##''i6F'GC##,,Y|-DEXYE&&&t_FF$zz|

 '  -  	n  
-h//557<<>?	!HY/F
LLN  		s   <BG	G'"G'c                     d|  d}ddt               z   d}t        j                  ||      }t        |j	                         d         }t        |dz        }|j	                         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.   s         r   returnMarcacionesrZ   H   sp    =fXEU
VC*)+-G ||C1H8==?7+,H	X]	BMMOF+b99r!   c           
      &   t               d   }t        d|dz         D ][  }t        |      d   D ]H  }	 t        j                  j	                  |d   |d   |d   |d   |d	   d   
       t        d|d          J ] | j                  rt        j                  j                  | j                  j                  d            }| j                  j                  d      |_	        | j                  j                  d      |_
        | j                  j                  d      |_        | j                  j                  d      dk(  rd|_        nd|_        | j                  j                  d      |_        |j                          t        j                   | t        j"                  d       t        j                  j%                         j'                  d      t(        j                  j%                         d}t+        | d|      S #  t        d|d          Y xY w)Nr*   r      r   r:   emp_code
first_name	last_name
department)r7   codigonombres	apellidosdepartamento_idzse ha creadozYa esta registrador:   cedularc   rb   estadoATFdepartamentozLos cambios se registraronz-estado)	empleadosdepartamentoszbiometrico/empleados.html)r2   ranger	   rJ   rL   rO   POSTr,   GETra   rc   rb   rg   rd   saver   add_messageSUCCESSallorder_byr   r   )requestpaginasr/   r5   empleadocontextos         r   rj   rj   T   s   (G7Q;' ?"6*62 	?C
?!!(("%d)z?-!+.$'$5d$; )  nc,&78	?? ||$$((GKKOOD,A(B!,,**84$\\--k:"<<++I6<<H%,"HO#HO#*<<#3#3N#C Wh&6&68TU&&**,55i@%--113H '6AA%?*C,=>s   AG<<Hc            
         t               d   } t        d| dz         D ]  }t        d|       t        |      d   D ]  }t        j                  j	                  |d   d      }	 t
        j                  j                  |d   	      }t        j                  j                  |d
   |j                  ||j                         |j                                  t        d       y # t        $ r}t        |       Y d }~d }~ww xY w)Nr*   r   r\   z
pagina No.r   r8   r9   r5   r6   r:   r;   rA   )rZ   rl   rO   rE   rK   r	   rJ   r,   r
   rL   r:   rM   rN   rP   )ru   r/   rU   rV   r5   rW   s         r   marcary   w   s    !'*G7Q;' lF#*626: 	I%%..y/FH[\E
''++)E:J+K##**!*4 ##(**, + 		 
.  es   !A0C!!	C?*C::C?c                 l    t        j                  t              }|j                          t	        d      S )NrC   z/biometrico/marcaciones)rQ   rR   ry   rT   r   )rt   rX   s     r   marcaciones_r{      s'    U+F
LLN 9::r!   c                     t         j                   j                         j                         }dt        j                  j                  |d      j                  ddd      i}t        | d|      S )NmarcacionesThora_marcacion__gteempleado__estadoempleado__departamento_idrv   r>   zbiometrico/marcaciones.html)rE   rF   rN   r
   rJ   filterrs   r   rt   tiemporw   s      r   r}   r}      sh    $$&++-F{**11f_c1dmm'
4DFH '8(CCr!   c                 H   t         j                  j                         }| j                  j	                  d      r+|j                  | j                  j	                  d            }| j                  j	                  d      r+|j                  | j                  j	                  d            }| j                  j	                  d      r+|j                  | j                  j	                  d            }| j                  j	                  d      r+|j                  | j                  j	                  d            }| j                  j	                  d      r4d	}| j                  j	                  d      d
k(  rd}|j                  |      }| j                  rmd}| j                  j	                  d      dk(  rd}nd	}d }| j                  j	                  d      r:t         j                  j	                  | j                  j	                  d            }n
t               }| j                  j	                  d      |_        ||_        | j                  j	                  d      |_	        | j                  j	                  d      |_
        | j                  j	                  d      |_        | j                  j	                  d      |_        |j                          t        j                  | t        j                   d       t#        d      S |t$        j                  j                  d      j'                  d      t)        dt*        j*                  j-                         j.                  dz         D cg c]  }| c}t)        dd      D cg c]  }| c}d}t1        | d|      S c c}w c c}w ) Nr5   r=   a)fecha__yearm)fecha__monthfjFSiT)justificableNr   Sr:   re   rv   fecha_solicitudfecha_salidahora_salidadetallezEl permiso se ha registrado.!z/biometrico/permisosrg   rb   i  r\      )permisosrj   aniosmeseszbiometrico/permisos.html)r   rJ   rr   rn   r,   r   rm   r=   r   r@   r   r   detalle_permisoro   r   rp   rq   r   r	   rs   rl   rE   nowrG   r   )rt   perr   permisor   r   rw   s          r   r   r      s   





 C{{ujjW[[__U%;j<{{sjjW[[__S%9j:{{sjjgkkooc&:j;{{sjjW[[__S%9j:{{s;;??34'Ajjaj(||<<N+s2AA;;??4 &&**gkkood.C*DGjG%ll..z: (():;&||//?%ll..}="),,"2"29"=Wh&6&68WX#$:;;&&--T-:CCIN"4):):)>)>)@)E)E)IJK!K"1b\*!*	H '5x@@ L*s   &	N?	N
c                 R   t         j                   j                         j                         }t        j                  j                  |d      t        j                  j                  d      t        j                  j                         j                  d      d}t        | d|      S )NTr~   r   Otro)nombre)r}   usuariosrk   zbiometrico/index.html)rE   rF   rN   r
   rJ   r   r	   r   rr   excluder   r   s      r   resumenr      s    $$&++-F"**11f_c1d%%,,D,9%--113;;6;JH
 '2H==r!   c                    t         j                   j                         j                         }t        j                  j                  |d      }g }|D ]o  }|j                  |j                  j                  d      t        |j                  j                        dz   t        |j                  j                        z   d       q t        t        j                  |            S )NTr~   z%I:%M %p )r?   rv   )rE   rF   rN   r
   rJ   r   appendr?   strftimestrrv   rb   rc   r   r   r   )rt   r   r}   listais        r   marcaciones_diar      s    $$&++-F%%,,Z^,_KE FFOOJ/AJJ../#5AJJ<P<P8QQ
 	
 

5)**r!   c           	         d }t         j                   j                         j                         }t        j                  j                  |d      }| j                  j                  d      r| j                  j                  d      rt        j                  j                  | j                  j                  d      | j                  j                  d      g      j                  d      j                  d       t        j                  j                  | j                  j                  d      | j                  j                  d      gd	      z  }|j                  dd
gd      }| j                  j                  d      rd|j                  | j                  j                  d            }t        j                  j                  | j                  j                  d            }| j                  r	|j                  | j                  j                  d            }| j                  j                  d      dk(  |_        | j                  j                  d      dk(  |_        | j                  j                  d      |_        |j                          t        j                   | t        j"                  d       t%        d| j                  j                  d       d| j                  j                  d             S |j'                  d      |j                  d      j)                         | j                  j                  d      | j                  j                  d      | j                  j                  d      t        j                  j                  d      j)                         t         j                   j+                         |d}| j                  j                  d      rt-        d|      S t/        | d|      S )NTr~   f1f2)fecha__rangez0:00:00)retrasoz00:00:00)r   r?   z12:00:00)hora__ranger   funr   re   ejur   dfdu   Se registró una justificaciónz/biometrico/rep_atrasos?f1=z&f2=r@   )justificador   )r}   justificadosr   r   r   rj   r@   funcionarioimpz'biometrico/informe_general_atrasos.htmlzbiometrico/reporte_atrasos.html)rE   rF   rN   r
   rJ   r   rn   r,   r   r	   rm   r   feriadodetalle_marcacionro   r   rp   rq   r   rs   r'   r   r   r   )rt   r   r   marcccrw   s         r   reporte_atrasosr      sp   K$$&++-F&&6TX&YE{{t!6##**9Nw{{_cOd8e*fnn  xAn  B  J  J  SW  J  X  [f  [n  [n  [u  [u  DK  DO  DO  DS  DS  TX  DY  Za  Ze  Ze  Zi  Zi  jn  Zo  Cp  wA  [u  [B  B*j)ATXY{{ullw{{u'=l>%%))W[[__U-C)D||
))w{{s+)
,||''-5LL$$T*d2	#LL,,S1	WX%5%56WX#&A'++//RVBWAXX\]d]h]h]l]lmq]r\s$tuu ~~g.|||5;;=[[__T"[[__T"kkooe$&&--T-:@@B!!%%'!	H {{uFQQ'<hGGr!   c                    d }t        j                   t         j                   j                         j                  t         j                   j                         j                  d      }t        j
                  j                  |t         j                   j                         gd      j                  d      }| j                  j                  d      r| j                  j                  d      r| j                  j                  d      }| j                  j                  d      }t        j
                  j                  ||gd      j                  d      }| j                  j                  d      r+|j                  | j                  j                  d      	      }|t        j
                  j                         t        j
                  j                  d
      d}t        | d|      S )Nr\   )rG   rH   rI   T)r   r   r>   r   r   r   r   r   )r}   areasfuncionariosz"biometrico/reporteMarcaciones.html)rE   rF   rG   rH   r
   rJ   r   rs   rn   r,   r   rr   r	   r   )rt   r}   mesr   r   rw   s         r   reporteMarcacionesr     so   K


!2!2!8!8!:!?!?xGXGXG^G^G`GfGflm
nC%%,,3@Q@Q@W@W@Y:ZBF - HHPQaHb {{t!6[[__T"[[__T"!))00r2hY]0^gghxy;;??=)%,,9W,XK #%%))+!))000=H
 '?JJr!   c           
      T   | j                   rt        j                  j                  | j                   j	                  d      | j                   j	                  d      | j
                  j	                  d      | j                   j	                  d      | j                   j	                  d      | j                   j	                  d             t        j                  j                  | j
                  j	                  d            t        j                  j	                  | j
                  j	                  d      	      d
}| j
                  j	                  d      rGdt        j                  j	                  | j
                  j	                  d      	      i}t        d|      S t        | d|      S )Nfecha_inicio	fecha_finncargopartida_presupuestariacertificacion_numero)r   r   r=   r   r   r   r   re   )	contratosrv   rO   contratozbiometrico/contrato.htmlzbiometrico/todos_contratos.html)
rm   r   rJ   rL   r,   rn   r   r	   r   r   )rt   rw   s     r   r   r     s>   || )).9ll&&{3,,,""7+#*<<#3#34L#M!(!1!12H!I 	  	
 $$++8L+M$$((GKKOOC,@(AH {{wx''++w{{w/G+H
 7AA'<XFFr!   )r\   )%rE   rQ   rM   r   django.contribr   django.db.modelsr   django.httpr   r   r   r   django.shortcutsr   Biometrico.modelsr	   r
   r   r   r   TransitoApp.snnipersr   r    r2   rS   rZ   rj   ry   r{   r}   r   r   r   r   r   r    r!   r   <module>r      sx       #   :   # V V .
	:<	:BF(;D)AX>	+ HFK(Gr!   