
    	,hC                         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        0/var/www/html/RetailAPI/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            	       ^   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 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   	is_deleter   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)clsr1   r2   new_datas       r&   create_saleszTblSales.create_sales#   s2     +*+
x

r%   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r8   r   r2   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   firstr5   itemssetattrcommitrefresh)r8   rB   r1   r2   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|D ]  }d|_        |j                           y)NF   T)r=   r>   r   r?   r-   rG   )r8   r   r2   delete_datadeletes        r&   delete_saleszTblSales.delete_salesC   sR    hhsm**3<<8+CDHHJ!F FIIK " 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   r	   groupclassmethodr   r   r:   rA   rM   rR   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+K!LIsL*: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>r[      s2     % G G : : &
0	 
08t 8r%   