U
    ¡±ígs5  ã                   @   sø   d dl Z d dlZd dlmZ d dlmZ d dl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	lmZmZmZmZmZmZ d d
lmZ d dlmZ d dlZd dlmZ d dlm Z  dd„ Z!dd„ Z"edd„ ƒZ#dd„ Z$dd„ Z%dd„ Z&dS )é    N)Úmessages)ÚSum)ÚHttpResponseÚHttpResponseRedirect)Úrender)Úcsrf_exempt©Útotal)ÚExtenos)ÚtipoServicioÚ	OrdenPagoÚDetalleOrdenÚClientesÚNotaCreditoÚDetalleNotaCredito)ÚTipoDocumento)Úrender_to_pdf)ÚConfiguracion)Úgenerar_xmlc                 C   s¦  g }d}d}t jj| j d¡dd}t| jƒ | j d¡rLt| j d¡ƒ}|dkrl|dkrl|jddd}nà|d	krŒ|d
krŒ|jd	d
d}nÀ|dkr¬|dkr¬|jddd}n |dkrÌ|dkrÌ|jddd}n€|dkrì|dkrì|jddd}n`|dkr|dkr|jddd}n<|dkr4|dkr4|jddd}n|dkrL|jddd}| j d¡rît| j d¡ƒ}|dkrŽ|dkrŽ|jddd}n`|dkr²|dkr²|jddd}n<|dkrÖ|dkrÖ|jddd}n|dkrî|jdd d}|D ]˜}zT| |j|j	t|j
ƒt|jƒd!|jj|jjf d!|jj|jjf t|jƒd"œ¡ W n<   | |j|j	t|j
ƒt|jƒddt|jƒd"œ¡ Y nX qòt|ƒ tt |¡d#d$S )%NÚ ÚqT)Zdescripcion__icontainsÚestadoÚar   i   )Zavaluo__desdeZavaluo__hastai¡  i@  iA  ià.  iá.  i€>  i>  i N  i!N  i0u  i	R  i1u  i@œ  iy  iAœ  Útg      @)Ztonelaje__desdeZtonelaje__hastag®Gáz@é
   g333333$@é   gš™™™™4@éd   z%s - %s)ÚpkÚdescripcionÚcostoÚadministrativoÚavaluoÚtonelajer	   zapplication/json)Úcontent_type)r   ÚobjectsÚfilterÚGETÚgetÚprintÚfloatÚappendÚidr   r   r    r!   ÚdesdeÚhastar"   r	   r   ÚjsonÚdumps)ÚrequestÚdatar!   r"   ÚtipoÚi© r4   ú./var/www/html/TransitoApp/Facturacion/views.pyÚbuscar_servicio   sp    


ù	ù	r6   c                 C   s   dt j  ¡  ¡ i}t| d|ƒS )NÚfechazfacturacion/orden_pago.html)ÚdatetimeÚnowÚdater   )r0   Úcontextor4   r4   r5   Ú
orden_pagoS   s     ÿr<   c              
   C   sd  | j r¦d }tjj| j  d¡d}ztjj|d}W n   Y nX tjt |j 	¡ j
|j 	¡ j¡d |j 	¡ j|j 	¡ j
dddd|tj ¡ tj ¡ |d	œ}td
|dS | jrXd }z|tjj| j d¡| j d¡| j d¡ dd¡ dd¡d | j d¡ dd¡ dd¡ | j d¡| j d¡| j d¡d}W nŽ   tjj| j d¡d}| j d¡|_| j d¡|_| j d¡|_| j d¡|_| j d¡d | j d¡ |_| j d¡|_| ¡  Y nX tjj| j d¡| j d¡| j d¡| j d¡| j d¡| j d¡| j d¡|d}t | j d¡¡}t| j d¡ƒ | j d ¡rptjj| j d¡| j d ¡|| j d!¡|d"}t | j d#¡¡}d}|D ]h}|d }tjjd$d%  ¡ }	tjj||d& |d' |d( |d d$dd)}
t|d& |d' |d( |d ƒ qŠ||_!| ¡  | j d ¡r>|D ](}t"jj|d* |d|d+ |d, d-}qt|ƒ t|ƒ t#|j$ƒS t#d.ƒS d S )/NÚn)Únumero)Úordené   é   é   r   )ÚdayÚmonthÚyearÚhourÚminuteÚsecond)Z
ultimo_diar?   Ú	consultasÚ
documentosZnota_creditozfacturacion/reporte.html)Útemplate_srcÚcontext_dictÚidentificacionÚcedulaÚnombresz',)r   z('Ú Ú	apellidosÚ	direccionÚtelefonoÚemail)rM   Únumero_identificacionÚrazon_socialrR   rS   rT   )rU   Úplacar!   r"   r	   )rW   r!   r"   rN   rO   rQ   r	   ÚclienteZdetallenotaZndateÚnnZnvl)r7   r>   rX   Úvalorr?   ÚdetallesT)Úelectronicor+   ÚcantidadZprecio)r?   Úitems_idr]   r   r	   r\   Ún_comprobanteÚcodigoÚdetallerZ   )r`   Únotar]   r   rZ   zRegistro de ordenes de pago)%r&   r   r$   r'   r   r8   ÚcalendarÚ
monthranger7   r:   rE   rD   r
   Úallr   r   ÚPOSTr   ÚcreateÚreplacerU   rM   rR   rS   rV   rT   Úsaver.   Úloadsr(   r   r%   ÚcountÚnumero_itemsr   r   r>   )r0   rb   r?   r;   rX   Zdetallenotasr[   ÚcontadorÚdetZndetÚdtZdnotaZdetnr4   r4   r5   Úregistrar_ordenZ   s¶    
 
   þù	

:


ú







ø



ûù	"û

rp   c                 C   s6  d  }}| j  d¡r4t| j  d¡ƒ}tj |d¡}ntj ¡  ¡ }| j  d¡rnt| j  d¡ƒ}tj |d¡}ntj ¡  ¡ }tjj	dd||gdj
dd}| j  d	¡ràtjj| j  d	¡d
}t|j|ƒ}t | tjdt|ƒ ¡ |||dœ}| j  d¡r*tjjddtjj| j  d¡d
dœ}td|ƒS t| d|ƒS )NÚf1ú%Y-%m-%dÚf2FT)Zorden__eliminarÚorden__estadoÚorden__fecha__rangezServicios administrativos)Úitems__descripcionr=   ©r+   u@   El registro se enviÃ³, esperando la respuesta por parte del SRI )r[   rq   rs   Zride©r   )Zconfiguracionra   zfacturacion/ride.htmlz0facturacion/listado_facturacion_electronica.html)r&   r'   Ústrr8   Ústrptimer9   r:   r   r$   r%   Úexcluder   r?   r   Úadd_messageÚSUCCESSr   r   r   )r0   rq   rs   r[   ro   Úcontr;   r4   r4   r5   Úautorizar_facturas¸   s<    
ÿþ

ÿýþ
r   c                 C   sü   | j rvd}t| j  d¡ƒ | j  d¡dkr.d}tjj| j  d¡d}d|_| j  d¡|_||_| ¡  t	 
| t	jd¡ | j d	¡rÄtjj| j d	¡d}d|_d|_| ¡  t	 
| t	jd
¡ tdƒS tj ¡  d¡dd… tj ¡ tj ¡ dœ}t| d|ƒS )NFÚfpÚonTr+   rw   r7   zSe ha verificado el pago ..!ÚdelzLa Orden se elimino..!z/fact/listaz-fechar   iÐ  )ÚordenesrI   rJ   zfacturacion/lista.html)rf   r(   r'   r   r$   r   r7   Úpago_electronicori   r   r|   r}   r&   ÚeliminarÚERRORr   re   Úorder_byr
   r   r   )r0   r€   r?   r;   r4   r4   r5   Úlista_ordenesã   s.    ýrˆ   c                 C   sÞ  d}| j  d¡rBtj | j  d¡|¡}tj|j|j|jddd}n$tj ¡ }tj|j|j|jddd}| j  d¡r¤tj | j  d¡|¡}tj|j|j|jddd}nZtjtj ¡ jtj ¡ jt 	tj ¡ jtj ¡ j¡d d	 
¡ }tj|j|j|jddd}tjj||gd
}|}tjj||gdd}|jdd}|jdd}| d¡ tdƒ¡}	| tdƒ¡}
| d¡ tdƒ¡}| tdƒ¡}tjj||gd}| d¡jtdƒd}tj ¡ tj ¡ || ¡ | ¡ |jtdƒd|||jddjtdƒd|jddjddjtdƒdtjj||gdd dddddd¡ d¡jtdƒd| dd¡jtdƒdtjj||gdd d¡ tdƒ¡|	|
||tj ¡ | j ¡ | d¡r®t| d¡ƒnd d!œ}| j  d"¡rÎtd#|ƒS t| d$|ƒS d S )%Nrr   rq   r   )rE   rD   rC   rF   rG   rs   é   é;   r@   )rE   rD   rC   )Úfecha__rangeT)ru   rt   F)Zorden__pago_electronicoZitems__codigor	   )Znota__orden__fecha__rangerZ   )rZ   r   )r…   rx   rv   Zitems__avaluo__desdeZitems__avaluo__hastaZitems__tonelaje__desdeZitems__tonelaje__hastar^   )Útotal_rubrosr`   r   g        )rI   rJ   rƒ   ZnordenesÚanuladasZtotal_anuladasrq   rs   Ztotal_generalZtotal_verificadorŒ   Ztotal_rubros_notas_creditoZ	agrupadosÚefectivoÚtotal_efectivor\   Útotal_electronicor7   ÚusuarioÚtotal_notas_creditoÚimpzfacturacion/resumen.htmlz$facturacion/reporte_recaudacion.html)r&   r'   r8   rz   rE   rD   rC   r9   rc   rd   r:   r   r$   r%   r   ÚvaluesÚannotater   Ú	aggregater   r
   re   r   rk   r{   r‡   ÚuserÚget_full_namer)   r   r   )r0   Zformatorq   rs   rƒ   r   ZpagosZpagos_eZ
pagos_elecrŽ   r   r\   r   Znotas_creditor’   r;   r4   r4   r5   Úreporte_facturacionþ   s‚    
ÿÿ
   ýüûÿþä
r™   )'r8   r.   Údjango.contribr   Údjango.db.modelsr   Údjango.httpr   r   Údjango.shortcutsr   Údjango.views.decorators.csrfr   Zopenpyxl.styles.builtinsr	   ÚConsultas.modelsr
   ZFacturacion.modelsr   r   r   r   r   r   ZOficios.modelsr   ÚTransitoApp.snnipersr   rc   Ú
sri.modelsr   Z	sri.viewsr   r6   r<   rp   r   rˆ   r™   r4   r4   r4   r5   Ú<module>   s*    <
]+