
    1lhQ                         d dl 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lZd dlZd dlmZmZ  G d	 d
      Zy)    )datetime)Session)BranchOfficeModelCapitulationModelExpenseTypeModel	UserModelTotalAcceptedCapitulations)HelperClass)HTTPException)aliasedN)castStringc                   R    e Zd ZdefdZddZddZd Zd Zd Z	d	 Z
d
 Zd Zd Zy)CapitulationClassdbc                     || _         y N)r   )selfr   s     R/var/www/intrajisbackend.com/public_html/app/backend/classes/capitulation_class.py__init__zCapitulationClass.__init__   s	        Nc                    	 |dk(  s|dk(  r:g } | j                   j                  t        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  j!                  d      t        j"                  t$        j                  j!                  d      t$        j&                  t(        j*                  t        j,                  t        j.                  t        j0                  t        j2                        j5                  t        t        j                  t        j                  k(        j5                  t$        t$        j                  t        j                  k(        j5                  t(        t(        j6                  t        j8                  k(        j:                  | j=                  t        j                        }nXg } | j                   j                  t        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  j!                  d      t        j"                  t$        j                  j!                  d      t$        j&                  t(        j*                  t        j,                  t        j.                  t        j0                  t        j2                        j5                  t        t        j                  t        j                  k(        j5                  t$        t$        j                  t        j                  k(        j5                  t(        t(        j6                  t        j8                  k(        j;                  t        j>                  |k(        j:                  | j=                  t        j                        }|dkD  rr|jA                         }||z   dz
  |z  }|dk  s||kD  rdddS |jC                  |dz
  |z        jE                  |      jG                         }	|	sdd	dS |	D 
cg c]  }
i 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.                  |
j0                  |
j2                  d }}
|||||dS |jG                         }	|	D 
cg c]  }
i 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.                  |
j0                  |
j2                  d }}
|S c c}
w c c}
w # tH        $ r}tK        |      }d|dcY d }~S d }~ww xY w)N      branch_office_idexpense_type_idr   errorzInvalid page numberstatusmessagezNo data foundiddocument_datesupplier_rutdocument_numberdocument_type_idcapitulation_type_idbranch_officeexpense_typedescriptionamountsupport	full_name	status_idpayment_datepayment_numberperiodpayment_support)total_itemstotal_pagescurrent_pageitems_per_pagedata)&r   queryr   r!   r"   r#   r$   r%   r&   r   r   r)   r*   r+   r-   r   labelr'   r   r(   r   r,   r.   r/   r1   r2   	outerjoinrutuser_rutfilterorder_byprincipal_supervisorcountoffsetlimitall	Exceptionstr)r   rol_idr;   pager6   filtersr8   r3   r4   r7   capitulationserialized_dataeerror_messages                 r   get_allzCapitulationClass.get_all   s   W	A{fk%((%33%22%55%66%::%66%55%11%,,%--%//%((../AB%33$''--.?@$11''%22%44%,,%55+, )%'8';';?P?a?a'a)$&6&9&9=N=^=^&^)y}}0A0J0JJ&;< (%((= F %((%33%22%55%66%::%66%55%11%,,%--%//%((../AB%33$''--.?@$11''%22%44%,,%55+, )%'8';';?P?a?a'a)$&6&9&9=N=^=^&^)y}}0A0J0JJ&%::cA&? @ (%((A H ax#kkm*^;a?NR!8tk1&-:OPP||TAX$?@FF~VZZ\&-/JJ, '+)#,( #)$,//$#\%?%?$ #L$=$=$ &|'C'C	$
 '(E(E$ +L,M,M$ '(E(E$ $\%?%?$ &|'C'C$ #L$=$=$ "<#;#;$ l11$ |33$  !7!7$  !7!7$  #L$=$=!$" %l&A&A#$$ +11'3'C'C'$ #, #,. $/#.$(&4+  yy{, '+)#,( #)$,//$#\%?%?$ #L$=$=$ &|'C'C	$
 '(E(E$ +L,M,M$ '(E(E$ $\%?%?$ &|'C'C$ #L$=$=$ "<#;#;$ l11$ |33$  !7!7$  !7!7$  #L$=$=!$" %l&A&A#$$ +11'3'C'C'$ #, #,, '&o#,B#,0  	AFM%-@@	AsP   S\8 :\8 
\8 C?\.	\8 \8 +C?\3*\8 .
\8 8	]]]]c                    	 g }|j                  t        j                  dk(         |j                  t        j                  |k(          | j                  j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                   t        j                  t"        j                  j%                  d      t"        j&                  t(        j                  j%                  d      t(        j*                  t,        j.                  t        j0                  t        j2                  t        j4                  t        j6                        j9                  t"        t"        j                  t        j                  k(        j9                  t(        t(        j                  t        j                  k(        j9                  t,        t,        j:                  t        j                  k(        j<                  | j?                  t        j                        }|jA                         }|D cg c]  }i 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|j0                  d|j2                  |j4                  |j6                  d }}|S c c}w # tB        $ r}tE        |      }d|dcY d }~S d }~ww xY w)Nr   r   r   r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r   r   )#appendr   r-   r<   r   r8   r!   r"   r#   r$   r%   r&   r   r   r)   r*   r+   r   r9   r'   r   r(   r   r,   r.   r/   r1   r2   r:   r;   r=   r>   rC   rD   rE   )	r   r;   rH   r8   r7   rI   rJ   rK   rL   s	            r   get_all_acceptedz"CapitulationClass.get_all_accepted   s\   F	AGNN,66!;<NN,55<=DGGMM!$$!//!..!11!22!66!22!11!--!((!))!++!$$**+=>!// ##))*;< --##!..!00!((!11+, i!#4#7#7;L;];]#]i "2"5"59J9Z9Z"Zi9==,=,F,FFf;< h!$$= D 99;D, #')(( ) ,// #\%?%?  #L$=$=  &|'C'C	 
 '(E(E  +L,M,M  '(E(E  $\%?%?  &|'C'C  #L$=$=  "<#;#;  l11  |33   !7!7   !7!7   #L$=$=! " %l&A&A# $ +11'3'C'C'  (O (, #"-(0  	AFM%-@@	As1   JN C?NN N 	N=#N82N=8N=c                    	 | j                   j                  t        j                  t        j                  t        j
                        j                  t        j                        }|j                         }|D cg c]&  }|j                  |j                  |j
                  d( }}|S c c}w # t        $ r}t        |      }d|dcY d }~S d }~ww xY w)N)r;   r,   r*   r   r   )
r   r8   r	   r;   r,   r*   r>   rC   rD   rE   )r   r8   r7   rI   rJ   rK   rL   s          r   total_accepted_capitulationsz.CapitulationClass.total_accepted_capitulations   s    	AGGMM*..*44*11 h*..	  99;D #'	(  $'')33&--  (O ( #"(  	AFM%-@@	As0   A8B. :+B)%B. )B. .	C7CCCc                    	 | j                   j                  t        j                  t	        t        j
                  t              j                  d      t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                   t        j"                  t$        j&                  t(        j                  j                  d      t(        j*                  t,        j.                  t	        t        j0                  t              j                  d      t        j2                  t        j4                  t        j6                        j9                  t$        t$        j                  t        j                  k(        j9                  t(        t(        j                  t        j                  k(        j9                  t,        t,        j:                  t        j<                  k(        j?                  t        j                  |k(        jA                         }|ri d|j                  dtC        |j
                  tD              r|j
                  jG                  d      n|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tC        |j0                  tD              r|j0                  jG                  d      n|j0                  d|j2                  tC        |j4                  tH              rMd|j4                  v r?|j4                  jK                  d      d    d|j4                  jK                  d      d    n|j4                  |j6                  d}d|i}tM        jN                  |      }|S y# tP        $ r}tI        |      }d| cY d }~S d }~ww xY w)Nr"   r   r.   r!   z%Y-%m-%dr#   r$   r%   r&   r   r'   r(   r)   r*   r+   r,   r-   r/   -r   r   r0   capitulation_dataz3No se encontraron datos para el campo especificado.Error: ))r   r8   r   r!   r   r"   r   r9   r#   r$   r%   r&   r   r   r)   r*   r+   r-   r   r'   r   r(   r   r,   r.   r/   r1   r2   r:   r;   r<   r=   first
isinstancer   strftimerE   splitjsondumpsrD   )r   r!   
data_queryrU   resultserialized_resultrK   rL   s           r   getzCapitulationClass.get  s/   E	-!$$&44f=CCOT!..!11!22!66!22!11!--!((!))!++!// ##))*;< --##&33V<BB>R!00!((!11)* i!#4#7#7;L;];]#]i "2"5"59J9Z9Z"Zi9==,=,F,FFf!$$*eg; > %*--%#V`akayay  |D  WEZ%=%=%F%Fz%R  KU  Kc  Kc% #J$;$;% &z'A'A	%
 '
(C(C% +J,K,K% '
(C(C% $Z%=%=% &z'A'A% #J$;$;% ":#9#9% j//% z11%  !5!5%  !5!5%  #T^_i_v_v  yA  UBJ$;$;$D$DZ$P  HR  H_  H_!%" %j&?&?#%$ iss}  tE  tE  GJ  iK  PS  Wa  Wh  Wh  Ph!2!2!8!8!=a!@ A:CTCTCZCZ[^C_`aCbBcd  nx  n  n'1'A'A'%!. (): %)JJv$6!(( M 	-FM]O,,	-s   P<Q   	Q#	QQ#Q#c                 ~   t               }|j                  |_        d|_        |j                  |_        |j                  |_        |j                  |_        |j                  |_        |j                  |_        |j                  |_	        |j                  |_
        |j                  |_        |j                  |_        ||_        | j                  j                  |       	 | j                  j!                          dddS # t"        $ r5}| j                  j%                          ddt'        |       dcY d }~S d }~ww xY w)Nr   successzCapitulation saved successfullyr   r   rV   )r   r"   r-   r#   r;   r<   r$   r%   r&   r   r   r)   r*   r+   r   addcommitrD   rollbackrE   )r   	form_datauser_sessionr+   rI   rK   s         r   storezCapitulationClass.storeS  s   (*%.%<%<"!"$-$:$:! , 0 0'0'@'@$(1(B(B%,5,J,J)(1(B(B%'0'@'@$#,#8#8 '..&L!	FGGNN'4UVV 	FGG%GCF82DEE	Fs   C> >	D<*D71D<7D<c                    | j                   j                  t              j                  t        j                  |k(        j                         }|j                  |_        |j                  |_        d|_        ||_	        | j                   j                  |       	 | j                   j                          dddS # t        $ r5}| j                   j                          ddt        |       dcY d }~S d }~ww xY w)N   rb   zCapitulation paid successfullyr   r   rV   )r   r8   r   r=   r!   rW   r.   r/   r-   r2   rc   rd   rD   re   rE   )r   r!   rf   r+   rI   rK   s         r   payzCapitulationClass.payk  s    ww}}%67>>?P?S?SWY?YZ``b$-$:$:!&/&>&>#!#'.$L!	FGGNN'4TUU 	FGG%GCF82DEE	Fs   B9 9	C7*C2,C72C7c                 j   d}| j                   j                  t              j                  t        j                  |j                  k(        j                         }| j                   j                  t              j                  t        j                  |j                  k(        j                         }| j                   j                  t              j                  t        j                  |j                  k(        j                         }|j                  j                  d      }d|d   z   dz   |d   z   }|d   dz   |d   z   |_
        d|_        | j                   j                  |       	 | j                   j                          |j                  dk(  r|j                   dz   |j"                  z   dz   |z   d	z   t%        |j                        z   }|j                  d
z   |t%        |j"                        |j&                  id|j&                  iddddddgid}	t)        |	       ddz   }
t+        j,                  |
|	d| dd      }t)        |j.                         |j0                  dk(  r
dddS dddS y # t2        $ r5}| j                   j5                          ddt%        |       dcY d }~S d }~ww xY w)N JXou3uyrc7sNnP2ewOCX38tWZ6BTm4D1rT   z01-r   r      '   __Rendicion_z-01	111000101)debehaberIemitidos )dtefolio)fechaglosadetalle	operacion
documentosz/https://libredte.cl/api/lce/lce_asientos/crear/76063822zBearer zapplication/json)AuthorizationzContent-Type)r[   headers   rb   z!Capitulation imputed successfullyr   r   rV   )r   r8   r   r=   r!   rW   r   r   r   r   r1   rZ   r-   rc   rd   r%   r'   accounting_accountrE   r*   printrequestsposttextstatus_coderD   re   )r   rf   tokenrI   r'   r(   r1   	utf8_dateglossr7   urlresponserK   s                r   imputezCapitulationClass.impute{  s   2ww}}%67>>?P?S?SW`WcWc?cdjjl&78??@Q@T@TXdXuXu@uv||~ww}}%56==>N>Q>QUaUqUq>qrxxz!!'',F1I%+fQi7	%ay3:!"L!9	FGGNN,,2!//"556   	 
 $$ ,//*+  '--5" |>>?ATAT! ()<)<"	  "%"'))*%#, dG:U#==+25'):(: hmm$''3.&/<_``"+8[\\ /  	FGG%GCF82DEE	Fs%   *DI4 .I4 4	J2=*J-'J2-J2c                 ^   	 | j                   j                  t              j                  t        j                  |k(        j                          | j                   j                          dddS # t        $ r5}| j                   j                          ddt        |       dcY d }~S d }~ww xY w)Nrb   z!Capitulation deleted successfullyr   r   rV   )
r   r8   r   r=   r!   deleterd   rD   re   rE   )r   r!   rK   s      r   r   zCapitulationClass.delete  s    	FGGMM+,334E4H4HB4NOVVXGGNN'4WXX 	FGG%GCF82DEE	Fs   A+A. .	B,7*B'!B,'B,c                    | j                   j                  t              j                  t        j                  |j                  k(        j                         }|st        dd      |j                  dk(  rd|_        nd|_        |j                  |_	        t        j                         |_        | j                   j                          | j                   j                  |       y )Ni  u   Rendición no encontrada)r   detail1r      )r   r8   r   r=   r!   rW   r   questionr-   why_was_rejectedr   nowupdated_daterd   refresh)r   rf   rI   s      r   updatezCapitulationClass.update  s    ww}}%67>>?P?S?SW`WcWc?cdjjlC8RSS$%&L"%&L",5,F,FL)$,LLN!%r   )NNr   
   r   )__name__
__module____qualname__r   r   rM   rP   rR   r`   rh   rk   r   r   r    r   r   r   r      sJ    7 XAtGARA0F-PF0F GFR	F&r   r   )r   sqlalchemy.ormr   app.backend.db.modelsr   r   r   r   r	    app.backend.classes.helper_classr
   fastapir   r   r   r[   
sqlalchemyr   r   r   r   r   r   <module>r      s2     "   8  ! "   #R& R&r   