
    ιh                     x    d dl mZmZ d dlmZmZmZ d dlmZ d dl	m
Z
mZmZmZ  G d de      Z G d de      Zy	)
    )	BaseModelField)VARCHAR
ForeignKeyInteger)Base)Mappedmapped_columnrelationshipSessionc                       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	<   y)
CompetitorBenchmarkingBaseN)defaultcompetitorbenchmarking_idreference_competitorbills_per_monthitems_pre_bill	avg_priceother_remarkgroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   r   r   r        N/var/www/html/retail-simulation-api/app/models/main/competitor_benchmarking.pyr   r      s    -24-@d
@(-d(;3:;#(#6OcDj6"'"5NS4Z5#D1It1 %d 3L3:3!$/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d e
d      dd      Zee   e	d<    e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)TblCompetitorBenchmarkingtbl_competitorbenchmarkingr   T)primary_keyautoincrementr      N)nullableserver_defaultr   r   r   r   ztbl_group.group_idF)r&   r   TblGroupcompetitor_bench_marking)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr+   r,   	data_dictnew_datas        r   createz TblCompetitorBenchmarking.create   s5    OO%	##
x

r   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r2   r   r,   get_datas       r   get_by_competitor_benchmarkingz8TblCompetitorBenchmarking.get_by_competitor_benchmarking'   s1    88C=''(@AEEGr   !competitor_benchmarking_update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r7   )	r8   r9   r   firstr/   itemssetattrcommitrefresh)r2   r=   r+   r,   update_datar3   keyvalues           r   update_competitor_benchmarkingz8TblCompetitorBenchmarking.update_competitor_benchmarking,   s    hhsm**3+H+HLm+mnttvOO%	#//+JC S%0 , 			


;r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r8   r9   r   r?   deleterB   )r2   r   r,   delete_datas       r   delete_competitor_benchmarkingz8TblCompetitorBenchmarking.delete_competitor_benchmarking7   sM    hhsm**3+H+HLe+eflln
		+
		r   )r   r   r   __tablename__r
   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   groupclassmethodr   r   r5   r<   rG   rK   r   r   r   r!   r!      s   .M.;<WY`nr  CG  /Hs  H)67MwWZ|fj{  *A6#;  A$12CWW[lp$qOfSkq#01A7UYjn#oNVC[o+K4`deIse!.~ws|VZko!pL6#;p)':>R3S^cdHfSkd4NOE4 ' E`   c  Kf   s Zt   {B   Fa   s PW [v  r   r!   N)pydanticr   r   
sqlalchemyr   r   r   app.models.base_classr   sqlalchemy.ormr	   r
   r   r   r   r!   r   r   r   <module>rS      s/    % 3 3 & D D0 0- -r   