o
    &©1e]&  ã                   @   sB  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 d dlmZ d dlmZ d dlm Z  d dl!m"Z" g d¢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)ÚArchivos)ÚTipoDocumento)Úrender_to_pdf)ÚInforme)ZEneroZFebreroZMarzoZAbrilZMayoZJunioZJulioZAgostoZ
SeptiembreZOctubreZ	NoviembreZ	DiciembreÚlogin_)Z	login_urlc                 C   sZ  t j  ¡  ¡ j}t j  ¡  ¡ j}| j d¡rt| j d¡ƒ}| j d¡r,t| j d¡ƒ}t||ƒ t	j
j||d}tj
j||d}tj
j||d}tj
 ¡ }| d¡jtdƒd| d¡jtdƒd| d¡jtdƒd| ¡ | ¡ t|d	  d
 t|ƒ | ¡ |jdd ¡ tj
 ¡ tj
 ¡ td t j  ¡ j… dœ}ttd t j  ¡ j… ƒ t| d|ƒS )NÚyÚm)Úfecha__monthZfecha__year)Zfecha_entrega__monthZfecha_entrega__yearÚfechaÚid)ZcontarÚfecha_entregaé   Ú T)Úestado)ÚinformesÚcostosZpplacasÚimÚcmÚmesZplacastZplacaseÚ	consultasÚ
documentosÚmesesz
index.html)ÚdatetimeÚnowÚdateÚmonthÚyearÚGETÚgetÚintÚprintr   ÚobjectsÚfilterr   r
   ÚallÚvaluesÚannotater   Úcountr&   Ústrr   r   r	   )Úrequestr#   Zanior   r    ÚppÚplacasÚcontexto© r;   ú-D:\PycharmProjects\TransitoApp\Index\views.pyÚindex   s>   
ÿÿÿ
õr=   c                 C   sê  | j rÞt| j ƒ tƒ }| j d¡r"t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¡s¥| j ¡ |_| j  d¡dkr±d|_nd|_| ¡  t| j  d¡ƒ | j d¡rÒt | tjd¡ t dƒ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ÚbloqueoÚpublicoÚonTFz+Los datos se han modificado exitosamente..!Ú	repcostosz'Los datos se han creado exitosamente..!Úrcostos)r   r$   r%   zregistroCostos.html)(ÚPOSTr/   r   r,   r-   r0   ÚuserÚget_full_nameÚmodificado_porÚnumero_especie_matriculaÚnumero_especie_rtvr   r?   r@   rA   rB   rC   ÚestikerrD   rE   rF   rG   rH   rI   rJ   rK   Úingresado_porrL   Úsaver   Úadd_messageÚSUCCESSr   r'   r(   r)   r   r2   r   r	   )r7   Z	plantillar:   r;   r;   r<   ÚregistroCostos8   sP   
ýr[   c                 C   s^  | j  d¡r| j  d¡r| j  d¡}| j  d¡}nttj ¡  ¡ ƒ}ttj ¡  ¡ ƒ}t||ƒ t ¡ H}| 	dt|ƒt|ƒg¡ | 	dt|ƒt|ƒg¡ | 	dt|ƒt|ƒg¡ | 	dt|ƒt|ƒg¡ | 	dt|ƒt|ƒg¡ | 
¡  W d   ƒ n1 sw   Y  tjjtj |d¡tj |d¡gd	}|tj ¡  ¡ tj ¡ tj ¡ d
œ}t| d|ƒS )NÚf1Úf2ÚConsultarTotalesFechasÚConsultartTotalUsuariosFechasÚConsularTotalesUsuarioTipoÚcantidadTipoÚrubroú%Y-%m-%d©Zfecha__range)r    r   r$   r%   zreporteCostos.html)r,   r-   r6   r'   r(   r)   r/   r   ÚcursorÚcallprocÚcloser   r0   r1   Ústrptimer   r2   r   r	   )r7   r\   r]   re   r    r:   r;   r;   r<   ÚreporteCostosh   s2   


ùÿÿüri   c                  C   s&   t jjddD ]	} d| _|  ¡  qd S )Nz
2023-07-27)r   u   Erick GonzÃ¡lez Cadena)r   r0   r1   rW   rX   )Úpr;   r;   r<   Úmodificacion_usuario…   s   
þrk   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 ƒ |d dkrhd}zKt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 ¡  W q'   td| t
|d ƒ d¡d |d |d |d	 |d
 |d |d |d |d |d |d |d ƒ Y q'i }t| d|ƒS )NÚfile)Ú	documentoFr   r   r   r?   rA   rB   rC   ÚstikerZrecargorE   rF   rG   rH   rI   rL   ZSITr@   )r   r@   r?   rA   rB   rC   rV   rD   rE   rF   rG   rH   rI   rL   z[%s] No se registro: zmigrarCostos.html)rP   r/   ÚFILESr   rX   rm   ÚpathÚpdZ
read_excelZiterrowsr6   Úsplitr   Úfloatr	   )r7   ÚarÚdfrL   r=   Úrowr:   r;   r;   r<   ÚmigrarCostosŠ   sT   
ÿ($þ









ò
4þrw   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 ]%}t
|d t|d ƒƒ | t|d ƒ¡ d	t|d d
   }| |¡ q.d||f }| dd¡S )NÚ r\   rc   r]   rd   r   rI   ©rI   z%sr   z'data': [%s],'labels': %sú'ú")r   r0   r1   r'   rh   r,   r-   r3   r4   r   r/   rs   Úappendr&   Úreplace)r7   ÚlabelsÚdataZjsontr    Úxr   r;   r;   r<   Úgenerar_json_por_mes·   s   ÿr   c                 C   s(  t j ¡ }t| j d¡| j d¡ƒ | j d¡r8| j d¡r8|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 )Nr\   r]   rc   rd   Úsuma)r‚   ÚCARRO)Útipo__icontainsÚtotales)ÚnT)rL   r„   ZMOTOCICLETAry   )rJ   r    r\   r]   ÚestadisticaÚnumeroZnumero_carrosZnumero_carros_publicosZnumero_motos_publicosZpor_usuariosZ
por_rubrosrI   Z
totalmesesZgraficozpdfCostos.html)r   r0   r2   r/   r,   r-   r1   r'   rh   r   rQ   rR   Ú	aggregater   r5   r   r   r   r   )r7   r    r‡   r:   r;   r;   r<   Ú
pdf_costosÇ   s2   
ÿÿ
ñ
rŠ   c                 C   s6   t jj| j d¡d}| ¡  t | tjd¡ tdƒS )Nr   r>   zRegistro Eliminado..!rN   )	r   r0   r-   r,   Údeleter   rY   ÚERRORr   )r7   rj   r;   r;   r<   Úeliminarcostoå   s   r   ),r'   Zpandasrq   Údjango.contribr   Zdjango.contrib.auth.decoratorsr   Ú	django.dbr   Údjango.db.modelsr   r   Údjango.httpr   r   Údjango.shortcutsr	   ZConsultas.modelsr
   r   ZCostos.modelsr   ZEstadistica.modelsr   r   r   r   ZIndex.modelsr   ZOficios.modelsr   ÚTransitoApp.snnipersr   ZVial.modelsr   r&   r=   r[   ri   rk   rw   r   rŠ   r   r;   r;   r;   r<   Ú<module>   s:    
"
/
-
