
    q$h                          S SK Jr  S SKJr  S SKJr  S SKrS SKJr  SSKJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJr  S rS	 rS
 rS rS rS rg)    )render)datetime)JsonResponseN)basketscanning   )getCampaignNumbergetCampaignIdgetZonesByCampaignIdBasketsToScangetBasketScanningDatavalidateBasketScannedorderBasketForUpdatesearchZoneToClosescanAllBasketsregisterFirstScanDateTimegetFirstScanTimevalidateProcessAndAdvanceZoneimportDayZonesc                     [        5       nSn[        R                  R                  5       n[	        SU5        SnSnSnSn[        U SXX4XVS.5      $ )Nr   has_data0 scanner.html)   numeros_campañastatusr   filterCampaignIdfilterZonePicknumero_caja)r   r   objectsexistsprintr   )request   numeros_campañar   r   r   r   r   s          EC:\Repositorios\Repos en GIT\Fox\app\controllers\scannerController.pyscannerr%      sm    (* F
 %%,,.H	*XNHK'>@Pmu  m{  ,Y  Z  Z    c                    U R                   S:X  a{   [        R                  " U R                  5      nUR	                  S5      nU(       d  [        SS0SS9$ [        U5      nU(       d  [        SS0SS9$ [        U5      n[        S	U05      $ [        SS0SS9$ ! [         a"  n[        SS
[        U5       30SS9s S nA$ S nAff = f)NPOSTcampaign_numbererroru$   Número de campaña no proporcionado  r   u   Campaña no encontradai  zonesz Error al procesar la solicitud:   u   Método no permitido  )
methodjsonloadsbodygetr   r	   r
   	Exceptionstr)r"   datar)   campaign_idr-   es         r$   getZonesByCampaignr:   ,   s    ~~	d::gll+D"hh'89O"#W.T$U^abb (8K#W.F$GPSTT )9E% 011
 "89#FF  	d,LSQRVH*U V_bcc	ds*   AB B 4B 
C"B?9C?Cc                 <   SnSn[        5       nU R                  S   nU R                  S   nUnUn[        5       n[        5         [	        XG5        [        XE5      n	[        R                  " U	5      n
[        U	5      nU(       a  SnOSn[        U SUUU
UUUUUS.5      $ )Nr      r)   	zone_pickr   )r)   r   	data_jsonr   r   r   r   showScannerModule)
r   r(   r   r   r   r   r1   dumpsboolr   )r"   r   r?   r#   r)   	Zone_Pickr   r   first_scan_time_v2
resultadosr>   r   s               r$   filterscannerrE   F   s    F )*LL!23Oll;'I&N)+ /2&AJ

:&IJH '>o@P9B7??O=K6<@Q	,. 	/ 	/r&   c                    U R                   S:X  Ga   [        R                  " U R                  5      nUR	                  S5      nUR	                  S5      n[        U5      n[        R                  " 5       R                  S5      nU(       a  U(       d  [        SSSS.5      $ [        X4U5      n[        S	US
U5        US   (       a  [        SSSS.5      $ US   (       a  [        SSSS.5      $ US   (       d
  US   (       d  [        SSSS.5      $ [        SSS.5      $ [        SSSS.5      $ ! [         a.  n[        S[        U5      5        [        SSSS.5      s S nA$ S nAff = f)Nr(   r)   r=   %d-%m-%YFr+   Datos incompletos.successstatus_codemessager   - validation_resultzone_already_picked  &La zona ya fue completamente piqueada.zone_in_progressi  u4   La zona se está procesando, aguarde a que finalice.zone_not_billedzone_billing  Zona no facturada.T   )rJ   rK   !Error en checkBasketScanningData:r.   Error interno del servidor.r/      Método no permitido.)r0   r1   r2   r3   r4   r	   r   nowstrftimer   r   r!   r5   r6   r"   r7   r)   r   r8   	date_pickvalidation_resultr9   s           r$   checkBasketScanningDatar_   o   sm   ~~	r::gll+D"hh'89O!XXk2N'8K //
;I #.#cVj$kll =n[d e">3HIZ[ !67$sW  &A  B  B !!34#S  UK  %L  M  M !23;L^;\#cVj$kll  D EFF E#Jabcc	  	r5s1v>E#Ro pqq	rs6   BD- !2D- D- -"D- D- -
E%7#E E% E%c                    [         R                  " U R                  5      nUR                  S5      n[	        U5      nUSL a$  [        5       n[        5       n[        SSU S30SS9$ US:X  a  [        SS	0S
S9$ [        SS0SS9$ )Nr   TrL   u   Número de caja z procesado correctamente.rV   r,   r   zCaja escaneada previamente.rT   u%   Error al procesar el número de caja.r+   )r1   r2   r3   r4   r   r   r   r   )r"   r7   r   	resultadofirst_scan_time_v1rC   s         r$   processBasketrc      s    ::gll#D((=)K
 &k2ID68-/Y*:;-G`(abknoo	aY(EFsSSY(OPY\]]r&   c                    U R                   S:X  a   [        R                  " U R                  5      nUR	                  S5      nUR	                  S5      n[        U5      n[        R                  " 5       R                  S5      nU(       a  U(       d  [        SSS.SS	9$ [        X4U5      nUS
   (       d
  US   (       d  [        SSSS.5      $ [        SUSU5        US   (       a  [        SSSS.5      $ [        U5        [        SSSS.5      $ [        SSSS.5      $ ! [         a.  n[        S[        U5      5        [        SSSS.5      s S nA$ S nAff = f)Nr(   r)   r=   rG   FrH   )rJ   rL   r+   r,   rR   rS   rT   rU   rI   r   rM   rN   rO   rP   TrV   z(Todas las cajas escaneadas correctamenterW   r.   rX   r/   rY   )r0   r1   r2   r3   r4   r	   r   rZ   r[   r   r   r!   r   r5   r6   r\   s           r$   processAllBasketsre      sK   ~~	r::gll+D"hh'89O!XXk2N'8K //
;I".#BV$W`cdd =n[d e !!23;L^;\#cVj$kll">3HIZ[ !!67#cV~$  A  A>*DPz {||
 E#Jabcc	  	r5s1v>E#Ro pqq	rs0   BD .D &D 4D 
E'#E
EE)django.shortcutsr   r   django.httpr   r1   app.Models.scanner_modelsr   services.scannerServicer   r	   r
   r   r   r   r   r   r   r   r   r   r   r%   r:   rE   r_   rc   re    r&   r$   <module>rk      sM    #  $  4   $Z(G4&/R dH^(dr&   