
    _hR                         d dl mZ 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
)    )List)	BaseModelField)Mappedmapped_columnSessionrelationship)IntegerVARCHARFloat
ForeignKey)Basec                   b   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<    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<   y)	SalesBaseN)defaultsales_idaverage_traffic_expectedaverage_remarknumber_of_transaction_per_monthnumber_remarkaverage_transaction_valuetransaction_remarkcogscogs_remarkgroup_id)__name__
__module____qualname__r   r   int__annotations__r   r   strr   r   r   floatr   r   r   r        </var/www/html/retail-simulation-api/app/models/main/sales.pyr   r      s    !$/HsTz/,1$,?sTz?"'"5NS4Z5383F#cDjF!&t!4MC$J4/4T/BB&+D&9t9-D54<-$T2K#*2!$/HsTz/r$   r   c            	       8   e Zd ZU dZ ededd      Zee   e	d<    ede      Z
ee   e	d<    ed ed            Zee   e	d<    ede      Zee   e	d<    ed	 ed            Zee   e	d	<    ed
e      Zee   e	d
<    ed ed            Zee   e	d<    ede      Zee   e	d<    ed e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)TblSales	tbl_salesr   T)primary_keyautoincrementr   r      r   r   r   r   r   r   r   ztbl_group.group_idTblGroupsales)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr#   )
model_dumpaddflush)clsr/   r0   new_datas       r%   create_saleszTblSales.create_sales#   s2     +*+
x

r$   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r6   r   r0   get_datas       r%   	get_saleszTblSales.get_sales3   s1    88C=''(@AEEGr$   	update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r:   )	r;   r<   r   firstr3   itemssetattrcommitrefresh)r6   r@   r/   r0   update_data	data_dictkeyvalues           r%   update_saleszTblSales.update_sales8   s|    hhsm**3<<9+DEKKMOO%	#//+JC S%0 , 			


;r$   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r;   r<   r   rB   deleterE   )r6   r   r0   delete_datas       r%   delete_saleszTblSales.delete_salesC   sJ    hhsm**3<<8+CDJJL
		+
		r$   N)!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	   groupclassmethodr   r   r8   r?   rK   rO   r#   r$   r%   r'   r'      s   M*:wD`deHvc{e-:;UW^-_vc{_#01A73<#PNVC[P4ABcel4m#fSkm"/"NMF3KN0=>Y[`0aua'45I7SV<'XX(7D6%=7 -mWS\ JK&+J*:zBV7WXHvc{XG<Ey W 
     :   C i G z   3 7 j  r$   r'   N)typingr   pydanticr   r   sqlalchemy.ormr   r   r   r	   
sqlalchemyr
   r   r   r   app.models.base_classr   r   r'   r#   r$   r%   <module>rX      s2     % G G : : &
0	 
07t 7r$   