
    	,h%                         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   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)Cash Tills/POS EquipmentScannerComputertypeunitscost_per_unittotalStore Formate A)r   Store Formate Bstore_formate_type)SoftwareHardwarePhysical Componentcategoryremarkgroup_id)__name__
__module____qualname__r   r   int__annotations__r   r   r   r   r   r"   strr#        4/var/www/html/RetailAPI/app/models/main/info_tech.pyr   r      s    $T2K#*2DEEt,EC$J,!&t!4MC$J4t,EC$J,IZ!EFZCDD-FS4Z-!$/HsTz/r+   r   c            	       :   e Zd ZU dZ ededd      Zee   e	d<    e 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   r   r   r   r   N)nullableserver_defaultr   r   r   r   r   r"      r!   r   r   r    r#   ztbl_group.group_id)r2   TblGroup	info_tech)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr*   )
model_dumpaddflush)clsr8   r9   	data_dictnew_datas        r,   createzTblInfoTech.create$   s5    OO%	##
x

r+   infotech_get_idc                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   first)r?   rC   r9   get_datas       r,   get_info_tech_datazTblInfoTech.get_info_tech_data,   s1    88C=''?(JKQQSr+   info_tech_update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S rE   )	rF   rG   r   rH   r<   itemssetattrcommitrefresh)r?   rK   r8   r9   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)rF   rG   r   rH   deleterO   )r?   rU   r9   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
   rB   rJ   rT   rY   r*   r+   r,   r.   r.      s   "M -mWRVfj kK&+k&t,F	S]'^_D6#;_'$W[\EF3K\"/SWhl"mMF3Km'4X\]EF3K]'4T:KM^5_'``(73<$_cdFVC[d*:tJ
Th7ijHvc{j*:w
K_@`kopHvc{pK@E ' ]     =   # 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>rb      s2     % & D D ? ?
09 
0/$ /r+   