
    3lh              
          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 d dl mZmZ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 d dlmZ  eddg      Zej=                  d       ee       ee      fdededefd       Zej=                  d       eej@                         ed       ee       ee      fdedededefd       Z!ejE                  d       ee      fde#defd       Z"ejI                  d       ee      fde#defd       Z%ej=                  d       eej@                         ee      fdedefd        Z&ej=                  d!       eej@                         ee      fdedefd"       Z'ejI                  d#       ee       ee      fd$e(dedefd%       Z)ej=                  d&       eej@                         ed       ee       ee      fdedededefd'       Z*ejI                  d(       ee      fde#defd)       Z+ejI                  d*       ee      fde#defd+       Z,ejI                  d,       ee      fdefd-       Z-y).    )	APIRouterDepends)get_db)Session)	FileClass)CapitulationClass)CapitulationCapitulationListUpdateCapitulationPayCapitulationImputeCapitulation)
UploadFileFileHTTPException)datetime)List)FormN)get_current_active_user)	UserLoginz/capitulationsCapitulations)prefixtags/capitulationsession_userdbc                 ~    t        |      j                  |j                  |j                  | j                        }d|iS Nmessage)r   get_allrol_idrutpage)r   r   r   datas       M/var/www/intrajisbackend.com/public_html/app/backend/routers/capitulations.pyindexr&      s9    R (()<)<l>N>NP\PaPabDt    z/store	form_datasupportc                    	 t        j                         j                  d      }t        j                         j
                  d d }d|j                  v r|j                  j                  d      d   nd}d}|r
| d| d| n| d| }| d| }	t        |      j                  ||	      }
t        |      j                  | ||	       d|
iS # t        $ r}t        d	d
t        |             d }~ww xY w)N%Y_%m_%d_%H_%M_%S   . r   _r     Error al procesar: status_codedetail)r   nowstrftimeuuiduuid4hexfilenamesplitr   uploadr   store	Exceptionr   str)r(   r)   r   r   	timestamp	unique_idfile_extensionfile_category_nameunique_filenameremote_pathr   es               r%   r>   r>      s   TLLN++,?@	JJL$$Ra(	<?7CSCS<S))//4R8Y[+IWYKq1^4DE`i_jjklukv]w+,Ao->?B-&&w<"##I|[I7## T6I#a&4RSSTs   CC 	C2C--C2z/delete/{id}idc                     t        |      j                  |       }t        j                  |      }|d   d   }| }t	        |      j                  |      }|dk(  rt        |      j                  |        d|iS )Ncapitulation_datar)   successr   )r   getjsonloadsr   delete)rH   r   rJ   	file_namerF   r   s         r%   rO   rO   4   sy    )"-11"5

#45!"56yAIKKm"";/G)"$$R(wr'   z
/edit/{id}c                     	 t        |      j                  |       }|st        dd      d|iS # t        $ r}t        ddt	        |             d }~ww xY w)Ni  u   Rendición no encontradar3   r   r1   u    Error al obtener la rendición: )r   rL   r   r?   r@   )rH   r   rJ   rG   s       r%   editrR   E   sj    	a-b155b9 C8RSS,-- a6VWZ[\W]V^4_``as   ,/ 	AAAz/updatec                     	 t        |      j                  |        ddiS # t        $ r}t        ddt	        |             d }~ww xY w)Nr   u#   Rendición actualizada exitosamenter1   #   Error al actualizar la rendición: r3   )r   updater?   r   r@   )r(   r   rG   s      r%   rU   rU   R   sV    
d"$$Y/@AA d6YZ]^_Z`Ya4bccd     	AAAz/imputec                     	 t        |      j                  |       }t        |       ddiS # t        $ r}t	        ddt        |             d }~ww xY w)Nr   u    Rendición imputada exitosamenter1   rT   r3   )r   imputeprintr?   r   r@   )r(   r   responserG   s       r%   rX   rX   _   s_    
d$R(//	:h=>> d6YZ]^_Z`Ya4bccds   (+ 	AAAz/pay/details/{rut}r"   c                     	 t        |      j                  |       }d|iS # t        $ r}t        ddt	        |             d }~ww xY w)Nr   r1   r2   r3   )r   get_all_acceptedr?   r   r@   )r"   r   r   r   rG   s        r%   
pay_detailr]   m   sS    T#B'88=7## T6I#a&4RSSTrV   z/payc                    	 | j                   D ]  }t        j                         j                  d      }t	        j
                         j                  d d }d|j                  v r|j                  j                  d      d   nd}d}|r
| d| d| n| d| }	| d|	 }
t        |      j                  ||
      }t        |      j                  || |
        dd	iS # t        $ r}t        d
dt        |             d }~ww xY w)Nr+   r,   r-   r.   r/   pay_capitulationr0   r   u   Pagado con éxitor1   r2   r3   )selected_capitulationsr   r6   r7   r8   r9   r:   r;   r<   r   r=   r   payr?   r   r@   )r(   r)   r   r   selected_capitulationrA   rB   rC   rD   rE   rF   r   rG   s                r%   ra   ra   {   s$   T%.%E%E 	U! //0CDI

((!,I@CwGWGW@WW--33C8<]_N!3M[1YKq8HIdmcnnopyoza{O/0/1BCKm**7K@Gb!%%&;YT	U .// T6I#a&4RSSTs   CC 	D%C>>Dz/support/{id}c                     t        |      j                  |       }t        |       t        j                  |      }|d   d   }t        |      j                  |      }d|iS )NrJ   r)   r   )r   rL   rY   rM   rN   r   rH   r   r   rJ   rF   files         r%   r)   r)      s_     %R(,,R0L	,

<0#$78CKR=[)Dtr'   z/payment_support/{id}c                     t        |      j                  |       }t        j                  |      }|d   d   }t	        |      j                  |      }d|iS )NrJ   payment_supportr   )r   rL   rM   rN   r   rd   s         r%   rg   rg      sX     %R(,,R0L

<0#$789JKKR=[)Dtr'   z/total_accepted_capitulationsc                 <    t        |       j                         }d|iS r   )r   total_accepted_capitulations)r   capitulationss     r%   +paymenttotal_accepted_capitulations_supportrk      s     %b)FFHM}%%r'   ).fastapir   r   app.backend.db.databaser   sqlalchemy.ormr   app.backend.classes.file_classr   &app.backend.classes.capitulation_classr   app.backend.schemasr	   r
   r   r   r   r   r   r   r   typingr   r   r8   rM   app.backend.auth.auth_userr   r   rj   postr&   as_formr>   rO   intrL   rR   rU   rX   r@   r]   ra   r)   rg   rk    r'   r%   <module>rx      sZ   & * " 4 D w w 3 3      > )
	
 CDKLcDdt{  }C  uD ( 	 jq  
 H%l&:&:;t*%&=>&/	TTT T 		T T0 n%!(  c  w   &   <  ' 
aS 
ag 
a !
a I$+,>,F,F$G&/
d!
d
d 
d I$+,>,F,F$G&/d!dd d '( &&=>&/T	TT 	T )T F!()@)@!At*%&=>&/	TTT T 		T T2 ?##*6? 
 
 
 $
 *++26? 	 	 	 ,	 23>Efo &G & 4&r'   