U
    æûÑgQ(  ã                   @   sZ  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mZmZ d dlmZ d dlmZm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lmZ d dl m!Z! d dl"m#Z# ddddddddddddgZ$edddd„ ƒZ%edddd „ ƒZ&eddd!d"„ ƒZ'd#d$„ Z(d%d&„ Z)d'd(„ Z*eddd)d*„ ƒZ+eddd+d,„ ƒZ,dS )-é    N)Úmessages)Úlogin_required)Ú
connection)ÚSumÚCount)ÚHttpResponseÚHttpResponseRedirect)Úrender)ÚPlacasÚExtenos)Ú	Plantilla)ÚCantidadTipoÚEstadisticaFechaÚTotalUsuariosFechaÚRubroÚEstadisticaUsuarioTipo)ÚArchivos)ÚTipoDocumento)Úrender_to_pdf)ÚInformeÚEneroÚFebreroÚMarzoÚAbrilÚMayoÚJunioÚJulioÚAgostoÚ
SeptiembreÚOctubreÚ	NoviembreÚ	DiciembreÚlogin_)Ú	login_urlc                 C   st  t j  ¡  ¡ j}t j  ¡  ¡ j}| j d¡r<t| j d¡ƒ}| j d¡rXt| j d¡ƒ}t||ƒ t	j
j||d d¡}tj
j||d d¡}tj
j||d d¡}tj
 ¡ }| d¡jtdƒd d¡| d¡jtdƒd d¡| d¡jtdƒd d¡| ¡ | ¡ t|d	  d
 t|ƒ | ¡ |jdd ¡ tj
 ¡ tj
 ¡ tdd„ tdt j  ¡ jd	 ƒD ƒdœ}t| d|ƒS )NÚyÚm)Úfecha__monthÚfecha__yearÚfecha)Zfecha_entrega__monthZfecha_entrega__yearÚfecha_entregaÚid)Zcontaré   Ú T)Úestadoc                 S   s   g | ]}|‘qS © r.   )Ú.0Úar.   r.   ú(/var/www/html/TransitoApp/Index/views.pyÚ
<listcomp>4   s     zindex.<locals>.<listcomp>iä  )ÚinformesÚcostosZpplacasÚimÚcmÚmesZplacastZplacaseÚ	consultasÚ
documentosÚmesesÚaniosz
index.html)ÚdatetimeÚnowÚdateÚmonthÚyearÚGETÚgetÚintÚprintr   ÚobjectsÚfilterÚorder_byr   r
   ÚallÚvaluesÚannotater   Úcountr:   Ústrr   r   Úranger	   )Úrequestr7   Úanior3   r4   ÚppÚplacasÚcontextor.   r.   r1   Úindex   sP    
 ÿþ ÿþ ÿþ
ôrS   c                 C   s"  | j rôt| j ƒ tƒ }| j d¡rFtjj| j d¡d}| j ¡ |_| j  d¡|_	| j  d¡|_
| j  d¡|_| j  d¡|_| j  d¡|_| j  d¡|_| j  d	¡|_| j  d
¡|_| j  d¡|_| j  d¡|_| j  d¡|_| j  d¡|_| j  d¡|_| j  d¡|_| j  d¡|_| j  d¡|_| j  d¡|_| j  d¡|_| j d¡s\| j ¡ |_| j  d¡dkrvd|_nd|_| ¡  t| j  d¡ƒ | j d¡rÜt | tj d¡ t!d| j  d¡| j  d¡| j d¡f ƒS t | tj d¡ t!dƒS t"j" #¡  $¡ t%j &¡ t'j &¡ dœ}t(| d |ƒS )!Nr*   ©r*   Z	matriculaZrtvr(   ÚplacaÚtipoÚservicioÚ	duplicadoÚrodajeZestikersÚrecargosÚmodificacionÚtonelajeÚcuvÚdominioÚtotalÚusuarioÚbloqueoZsincostoÚpublicoÚonTFz+Los datos se han modificado exitosamente..!zrepcostos?f1=%s&f2=%s#%sÚf1Úf2z'Los datos se han creado exitosamente..!Úrcostos)r(   r8   r9   zregistroCostos.html))ÚPOSTrD   r   rA   rB   rE   ÚuserÚget_full_nameÚmodificado_porÚnumero_especie_matriculaÚnumero_especie_rtvr(   rU   rV   rW   rX   rY   ÚestikerrZ   r[   r\   r]   r^   r_   r`   ra   Úduplicado_sin_costoÚingresado_porrb   Úsaver   Úadd_messageÚSUCCESSr   r<   r=   r>   r   rH   r   r	   )rN   Z	plantillarR   r.   r.   r1   ÚregistroCostos8   sR    
*ýrs   c              	   C   sJ  | j  d¡r2| j  d¡r2| j  d¡}| j  d¡}n$ttj ¡  ¡ ƒ}ttj ¡  ¡ ƒ}t||ƒ t ¡ †}| 	dt|ƒt|ƒg¡ | 	dt|ƒt|ƒg¡ | 	dt|ƒt|ƒg¡ | 	dt|ƒt|ƒg¡ | 	dt|ƒt|ƒg¡ | 
¡  W 5 Q R X tjjtj |d¡tj |d¡gd	}|tj ¡  ¡ tj ¡ tj ¡ d
œ}t| d|ƒS )Nrd   re   ÚConsultarTotalesFechasÚConsultartTotalUsuariosFechasÚConsularTotalesUsuarioTipoÚcantidadTipoÚrubroú%Y-%m-%d©Úfecha__range)r4   r(   r8   r9   zreporteCostos.html)rA   rB   rL   r<   r=   r>   rD   r   ÚcursorÚcallprocÚcloser   rE   rF   Ústrptimer   rH   r   r	   )rN   rd   re   r|   r4   rR   r.   r.   r1   ÚreporteCostosi   s0    

ÿÿür€   c                  C   s&   t jjddD ]} d| _|  ¡  qd S )Nz
2023-07-27)r(   u   Erick GonzÃ¡lez Cadena)r   rE   rF   ro   rp   )Úpr.   r.   r1   Úmodificacion_usuario†   s    r‚   c                 C   s  | j rôt| jƒ t| jd d}| ¡  t|jjƒ t |jj¡}d}| 	¡ D ] \}}t|ƒ tt
|d ƒ d¡d |d |d |d	 |d
 |d |d |d |d |d |d |d |d t
|d ƒƒ |d dkrÞd}z¤tt
|d ƒ d¡d |d |d t|d ƒt|d	 ƒt|d
 ƒt|d ƒt|d ƒt|d ƒt|d ƒt|d ƒt|d ƒt|d ƒ|d || j ¡ d ¡  W qP   td| t
|d ƒ d¡d |d |d |d	 |d
 |d |d |d |d |d |d |d ƒ Y qPX qPi }t| d|ƒS )NÚfile)Ú	documentoFr(   r,   r   rU   rW   rX   rY   ÚstikerZrecargor[   r\   r]   r^   r_   rb   r`   ÚSITrV   )r(   rV   rU   rW   rX   rY   rm   rZ   r[   r\   r]   r^   r_   r`   rb   ro   z[%s] No se registro: zmigrarCostos.html)rg   rD   ÚFILESr   rp   r„   ÚpathÚpdZ
read_excelZiterrowsrL   Úsplitr   Úfloatrh   ri   r	   )rN   ÚarÚdfrb   rS   ÚrowrR   r.   r.   r1   ÚmigrarCostos‹   sp    
ÿ(        
þ









ð4     þr   c                 C   sÀ   g }g }d}t jjtj | j d¡d¡tj | j d¡d¡gd}| d¡jt	dƒd}|D ]J}t
|d t|d ƒƒ | t|d ƒ¡ d	t|d d
   }| |¡ q\d||f }| dd¡S )NÚ rd   ry   re   rz   r&   r_   ©r_   z%sr+   z'data': [%s],'labels': %sú'ú")r   rE   rF   r<   r   rA   rB   rI   rJ   r   rD   r‹   Úappendr:   Úreplace)rN   ÚlabelsÚdataZjsontr4   Úxr%   r.   r.   r1   Úgenerar_json_por_mesº   s    ÿr™   c                 C   s(  t j ¡ }t| j d¡| j d¡ƒ | j d¡rp| j d¡rp|jtj | j d¡d¡tj | j d¡d¡gd}t	j ¡ }| j
 ¡ |tj | j d¡d¡tj | j d¡d¡||jtdƒd|jddjtdƒd	|jd
dd ¡ |jd
dd ¡ tj ¡ tj ¡ |jtdƒd|t| ƒdœ}td|ƒS )Nrd   re   ry   rz   Úsuma)rš   ÚCARRO)Útipo__icontains)ÚnT)rb   rœ   ÚMOTOCICLETAÚtotalesr‘   )r`   r4   rd   re   ÚestadisticaÚnumeroZnumero_carrosZnumero_carros_publicosZnumero_motos_publicosZpor_usuariosZ
por_rubrosr_   Z
totalmesesZgraficozpdfCostos.html)r   rE   rH   rD   rA   rB   rF   r<   r   r   rh   ri   Ú	aggregater   rK   r   r   r™   r   )rN   r4   r    rR   r.   r.   r1   Ú
pdf_costosÊ   s2    
ÿÿ
ñr£   c                 C   sR   t jj| j d¡d}|j}tj ¡  ¡ }| ¡  t	 
| t	jd¡ td||f ƒS )Nr*   rT   zRegistro Eliminado..!zrepcostos?f1=%s&f2=%s)r   rE   rB   rA   r(   r<   r=   r>   Údeleter   rq   ÚERRORr   )rN   r   rd   re   r.   r.   r1   Úeliminarcostoç   s    r¦   )-r<   Úpandasr‰   Údjango.contribr   Údjango.contrib.auth.decoratorsr   Ú	django.dbr   Údjango.db.modelsr   r   Údjango.httpr   r   Údjango.shortcutsr	   ÚConsultas.modelsr
   r   ZCostos.modelsr   ZEstadistica.modelsr   r   r   r   r   ZIndex.modelsr   ZOficios.modelsr   ÚTransitoApp.snnipersr   ZVial.modelsr   r:   rS   rs   r€   r‚   r   r™   r£   r¦   r.   r.   r.   r1   Ú<module>   s8   
"
0
/
