
    }Ri                         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mZmZ  G d de      Z G d d	e      Zy
)    )Literal)	BaseModelField)Base)Mappedmapped_columnrelationshipSession)DOUBLE
ForeignKeyIntegerVARCHAREnumStringTextc                   2   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      Zedz  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other_catrgoryremarkgroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   floatr   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:+ .EEDL.#(#6MEDL6 .EEDL.FV BCV"'"5NS4Z5-FS4Z-!$/HsTz/r(   r   c            	       4   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      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   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_data,   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_tech1   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   r   r   r	   groupclassmethodr   r
   r?   rF   rQ   rV   r'   r(   r)   r+   r+      s   "M -mWRVfj kK&+k&vws|d[_`D6#;`)'64X\]EF5M]$1/6TXim$nMF5Mn)'6DY]^EF5M^&3D9IK[4\&]s](4$W[\FVC[\#01A73<Z^os#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'   r(   r)   <module>r_      s5     % & D D M M M
09 
0/$ /r(   