
    hX                         d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZ d dlmZmZmZmZmZ  G d de      Z G d d	e      Zy
)    )Literal)	BaseModelField)Base)Mappedmapped_columnrelationshipSession)
ForeignKeyIntegerVARCHAREnumStringc                       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<    ed      Zedz  ed<   dZed	   ed
<   ed   ed<    ed      Zedz  ed<    ed      Zedz  ed<   y)InfoTechBaseN)defaultinfotech_idtypeunitscost_per_unittotalStore Format A)r   Store Format Bstore_format_type)SoftwareHardwarePhysical Componentother_catrgoryremarkgroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   r   r   r   r   r         @/var/www/html/retail-simulation-api/app/models/main/info_tech.pyr   r      s    $T2K#*2d+D3:+t,EC$J,!&t!4MC$J4t,EC$J,FV BCV GHH-FS4Z-!$/HsTz/r(   r   c            	       >   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d      Zee   e	d
<    ededd      Zee   e	d<    e edd            Zee   e	d<    ed e
d      dd      Zee   e	d<    ed eddd            Zee   e	d<    ede ed      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)#TblInfoTechtbl_infotechr   T)primary_keyautoincrementr      N)nullableserver_defaultr   r   r   r   r   r   r   r   r   r   r   r    ztbl_group.group_id)r0   TblGroup	info_tech)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr'   )
model_dumpaddflush)clsr5   r6   	data_dictnew_datas        r)   createzTblInfoTech.create(   s5    OO%	##
x

r(   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr    all)r<   r    r6   get_datas       r)   get_info_tech_datazTblInfoTech.get_info_tech_data0   s1    88C=''(@AEEGr(   info_tech_update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S rA   )	rB   rC   r   firstr9   itemssetattrcommitrefresh)r<   rG   r5   r6   update_datar=   keyvalues           r)   update_info_techzTblInfoTech.update_info_tech5   s}    hhsm**3??>Q+QRXXZOO%	#//+JC S%0 , 			


;r(   info_tech_delete_idc                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)rB   rC   r   rI   deleterL   )r<   rR   r6   delete_datas       r)   delete_info_techzTblInfoTech.delete_info_tech@   sK    hhsm**3??>Q+QRXXZ
		+
		r(   )r!   r"   r#   __tablename__r   r   r   r   r$   r%   r   r   r&   r   r   r   r   r   r   r   r   r    r	   groupclassmethodr   r
   r?   rF   rQ   rV   r'   r(   r)   r+   r+      s   "M -mWRVfj kK&+k&vws|d[_`D6#;`'$W[\EF3K\"/SWhl"mMF3Km'4X\]EF3K]&3D9IK[4\&]s](73<$_cdFVC[d $11A4
S]^rCs#tNVC[t*:w
K_@`kopHvc{pK@E ' ]     M   # L W Xe   # ' ]  r(   r+   N)typingr   pydanticr   r   app.models.base_classr   sqlalchemy.ormr   r   r	   r
   
sqlalchemyr   r   r   r   r   r   r+   r'   r(   r)   <module>r_      s2     % & D D ? ?09 01$ 1r(   