
    4f"                         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 d dl	Z	d dl
Z
d dlZd dlmZ d dlZ G d d	e      Zd
edededededefdZd ZdefdZd Zd Zy)    )datetime)Enum)tipoServicio)BASE_DIR)ConfiguracionN)parseStringc                       e Zd ZdZdZdZdZy)	AmbienteszXhttps://celcer.sri.gob.ec/comprobantes-electronicos-ws/RecepcionComprobantesOffline?wsdlz[https://celcer.sri.gob.ec/comprobantes-electronicos-ws/AutorizacionComprobantesOffline?wsdlzUhttps://cel.sri.gob.ec/comprobantes-electronicos-ws/RecepcionComprobantesOffline?wsdlzXhttps://cel.sri.gob.ec/comprobantes-electronicos-ws/AutorizacionComprobantesOffline?wsdlN)__name__
__module____qualname__PRUEBAS_AUTHPRUEBAS_CONSULTPRODUCCION_AUTHPRODUCCION_CONSULT     6C:\Users\user\PycharmProjects\TransitoApp\sri\views.pyr
   r
      s    kLqOkOqr   r
   fecharucambienteestablecimientopuntoEmision
secuencialc                    | dz   |z   |z   |z   |z   |z   dz   dz   }t        |       |D cg c]  }| }}t        |      }	t        d|	       d}
d}t        |	      D ](  }|	dz
  }	|
t        ||	         |z  z  }
|dz   }|dkD  s'd}* d	|
d	z  z
  }
|
d
k(  rd}
n|
d	k(  rd}
|t	        |
      z   }t        dt        |             |S c c}w )N01100000001z
Cantidad: r               
   u   tamaño de la clave de acceso: )printlenrangeintstr)r   r   r   r   r   r   unionilistandigitopibots               r   	modulo_11r/      s    DL3)O;lJZWZddgjjE	%L1QEE
A	,FE1X E#eAh-%''	19E 6B;F|	2CKE	
+SZ8L% s   	Cc                    t         j                  j                  t        ddd      }t	        d|       d}| }t         j                  j                  t        ddd      }| dz   }t         j                  j                  t        d	d
      }|||||g}t	        dd|hgt        |      z          t        j                  g dt        |      z          t	        d       t         j                  j                  t        ddd|      S )Nstaticfacturacionz0702864901.p12zRuta de la firma:transito2024mediafirmado.xmlsrizcomprobantes.jar/usr/bin/java-jar)r8   r9   z./var/www/html/TransitoApp/sri/comprobantes.jarzfirmado..!!)ospathjoinr   r$   list
subprocesscall)	rutaclaveruta_p12	clave_p12ruta_xml_entradaruta_salidaarchivo_salidaruta_jarparamss	            r   firmarrI   .   s    ww||HXm<LMH	
h'I'',,xiHKw&(NXu-?@HXiNKF	?68*
-d6l
:;OO]^bci^jjk	-77<<yPPr   	documentoc                    t         j                  j                  d      }d}|j                  dk(  r&t	        d       t
        j                  j                  }n%t	        d       t
        j                  j                  }t        j                  j                  t        dd|       }t        |d	      }|j                         }t        j                   |
      }t	        d       |j"                  j%                  |      }t	        |       t	        d       t        j                  j                  t        dd|       }t        | dz   dd      }	|	j'                  t)        |             |	j+                          y )NTestado r   zAmbiente de pruebaszAmbiente de produccionr4   r5   rbwsdlzInicia el proceso de envio..!!zFinaliza el envio..!	respuesta.jsonwutf-8encoding)r   objectsgetr   r$   r
   r   valuer   r:   r;   r<   r   openreadzeepClientservicevalidarComprobantewriter(   close)
rJ   configuracionurlarchivocomprobantexmlBytesclientresultarjsonarchivos
             r   
enviar_srirl   =   s   !))--T-:M
Cs"#$""((&'%%++GGLL')I>GWd#K!H[[c"F	
*+>>,,X6F	&M	
 !	ww||HW[;BYw&sG<Kc&k"r   c                 8   t         j                  j                  d      }d}t        t        j
                  j                         |j                  dk(  rt        j
                  j                  }nt        j                  j                  }t        j                  |      }|j                  j                  |       }t        |       d| z   dz   }t        |dd	
      }|j                  t        |             |j!                          	 |d   d   d   d   S #  Y yxY w)NTrL   rN   r   rP   z6/var/www/html/TransitoApp/media/facturacion/respuesta/rS   rT   rU   rV   autorizacionesautorizacionr   rM   zNO AUTORIZADO)r   rX   rY   r$   r
   r   rZ   r   r   r]   r^   r_   autorizacionComprobanter[   ra   r(   rb   )rJ   rc   rd   rh   rR   locrk   s          r   consultar_enviorr   S   s    !))--T-:M
C	)
#
#
)
)*s"''--**00[[c"Fnn44Y?I	)@J7RCsC1Kc)n%)*>:1=hGGs   D Dc                 
   t         j                  j                  d      }t        j                  j                  d      }t	        j
                         j                         j                  d      }t	        j
                         j                         j                  d      }t	        j
                         j                         |_        |j                  }t        ||j                  d|j                  |j                  |      }|j                  d|j                  |j                  |d	|j                  |j                  ||j                   d
d}||j                   d| j"                  j$                  | j"                  j                  | j"                  j&                  | j"                  j                   t)        |j*                        t)        |j*                        z   ddddt)        |j*                        t)        |j*                        z   ddidt)        |j*                        t)        |j*                        z   dddt)        |j*                        t)        |j*                        z   did}	dt,        j/                  t-        |j0                  j2                        d       |j0                  j4                  |j6                  |j*                  d|j*                  dddd|j*                  ddiddt,        j/                  t-        |j2                        d       |j4                  d|j*                  d|j*                  dddd|j*                  ddidd}
| j"                  j8                  | j"                  j:                  t,        j=                  |j0                  j4                         dt,        j=                  | j>                         | j@                  d }d!||	|
|d"i}||_!        t-        tD        jF                  jI                  tD        jF                  jK                  tL        d#d$d%| d&                  }tO        |       tQ        jP                  |d'd'd'd()      }tS        |      jU                         jW                  d*d+      jW                  d,d-      jW                  d.d/      jW                  d0d1      jW                  d2d3      jW                  d4d5      jW                  d6d7      jW                  d8d9      }tY        |d:d(;      }|j[                  |       |j]                          t_        ||      }ta        |       tc        |      |_2        |jg                          y )<NTrL   zServicios administrativos)descripcionz%d%m%Yz%d/%m/%Y2r    r   u   CONTRIBUYENTE RÉGIMEN RIMPE)r   tipoEmisionrazonSocialr   claveAccesocodDocestabptoEmir   	dirMatrizcontribuyenteRimpeSIz0.00totalImpuestor      g        )codigocodigoPorcentajebaseImponiblevalorr   DOLARpago   )	formaPagototal)fechaEmisiondirEstablecimientoobligadoContabilidadtipoIdentificacionCompradorrazonSocialCompradoridentificacionCompradordireccionCompradortotalSinImpuestostotalDescuentototalConImpuestospropinaimporteTotalmonedapagoszRCD-   impuesto)r   r   tarifar   r   )codigoPrincipalrt   cantidadprecioUnitario	descuentoprecioTotalSinImpuesto	impuestos)detalle_detallez DEL VEHICULO DE PLACAS )u
   @Teléfonoz@Emailz	@Conceptoz
@No. Ordenfactura)infoTributariainfoFacturadetallesinfoAdicionalr4   r2   xmlr6   FrU   )rootids	attr_typerW   z	<factura>z*<factura id="comprobante" version="1.1.0">r   r   keycampoAdicionalnamenombrez@TTz@EEz@CCz@NNrT   rV   )4r   rX   rY   r   r   nowdatestrftimeemisionn_comprobanter/   r   r   
ptoEmisionr   razon_social	direccionclienteidentificacionnumero_identificacionfloatcostor(   zfillitemsidrt   r   telefonoemailupperplacanumeronumero_autorizacionr:   r;   abspathr<   r   r$   	dicttoxmlr   toprettyxmlreplacer[   ra   rb   rI   rl   rr   rM   save)ordenr   rc   tipo_servicior   fecha2	secuenciarJ   r   r   r   r   dataruta_xmlr   re   r@   s                    r   generar_xmlr   h   s   !))--T-:M ((,,9T,UMLLN!**84E\\^  "++J7FLLN'')GO##I%!2!2C9V9VXeXpXp#%I "**$11   ..**",,<N +55 $',}}'C'C % : :#(==#F#F#mm55"7==1E-:M:M4NN $%!&w}}!5m>Q>Q8R!R	
 gmm,u]5H5H/IIw}}-m6I6I0JJ
+K< "&ciiGMM4D4D0Eq&I%JK"==44((%mm&-mm()!%,]]
$ "&ciiM4D4D0Eq&I%JK(44+11&3&9&9()!%2%8%8
%#HJ mm,,--%%		'--";";<==UVYV_V_`e`k`kVlUmnll	M 	,& *	
D !*G 277??
Xwu4>PQS TH	(O


dEUU\
]C
c

&
&
(
0
0>j
k
s
st~  AJ  K	(	)''&(*CGGDRUDVW^W^_cehWi	s	GGD#.  8S73GMM#MMO		#Dt$Y/GNLLNr   )r   enumr   Facturacion.modelsr   TransitoApp.settingsr   
sri.modelsr   r:   r>   r   xml.dom.minidomr   r]   r
   r(   r/   rI   rl   rr   r   r   r   r   <module>r      s      + ) $ 	   ' r rS s c C WZ hk 0Q ,*tr   