
    NRiD                     |    d dl mZmZ d dlmZmZmZmZ d dlm	Z	m
Z
mZmZ d dlmZ  G d de      Z G d de      Zy	)
    )	BaseModelField)Mappedmapped_columnrelationshipSession)IntegerEnum
ForeignKeyVARCHAR)Basec                       e Zd ZU  ed      Zedz  ed<    ed      Zedz  ed<    ed      Z	edz  ed<    ed      Z
edz  ed<   y)CapExRefurbishBaseN)defaultcap_idmetricy7_y8group_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r        G/var/www/html/retail-simulation-api/app/models/main/cap_ex_refurbish.pyr   r      sN    -FS4Z--FS4Z-t,EC$J,!$/HsTz/r   r   c            	       T   e Zd ZU dZ ededd      Zee   e	d<    ed e
d      dd      Zee   e	d<    ed	edd      Zee   e	d	<    ed
 ed            Zee   e	d
<    edd      Zedededd fd       Zed
ededd fd       Zededededd fd       Zedededd fd       Zy)TblCapExRefurbishtbl_cap_ex_refurbishr   T)primary_keyautoincrementr      N)nullableserver_defaultr   r   ztbl_group.group_idTblGroupcap_ex_refurbish)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr)   r*   create_datas       r   createzTblCapExRefurbish.create   s1    .DOO-.
{

r   c                 |    |j                  |       j                  | j                  |k(        j                         }|S )N)queryfilterr   all)r0   r   r*   get_datas       r   getzTblCapExRefurbish.get   s1    88C=''(@AEEGr   c                 2   |j                  |       j                  | j                  |k(        j                         }|j	                  d      }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S )NT)exclude_unset)	r4   r5   r   firstr-   itemssetattrcommitrefresh)r0   r   r)   r*   update_data	data_dictkeyvalues           r   updatezTblCapExRefurbish.update!   s    hhsm**3::+?@FFHOO$O7	#//+JC S%0 , 			


;r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r4   r5   r   r;   deleter>   )r0   r   r*   delete_datas       r   rF   zTblCapExRefurbish.delete,   sJ    hhsm**3::+?@FFH
		+
		r   )r   r   r   __tablename__r   r	   r   r   r   r   r   r   r   r   r   r   r   groupclassmethodr   r   r2   r8   rD   rF   r   r   r   r   r      s0   *M(7\`aFVC[a(73<$_cdFVC[d'4X\]EF3K]*:zBV7WXHvc{X4FGE+  ;N   # ' -@   3 %7 G GZ   3 7 .A  r   r   N)pydanticr   r   sqlalchemy.ormr   r   r   r   
sqlalchemyr	   r
   r   r   app.models.base_classr   r   r   r   r   r   <module>rO      s/    % G G 9 9 &0 0' 'r   