
    NRi                         d dl mZmZ d dlmZmZ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)DOUBLEVARCHAR
ForeignKeyIntegerText)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      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)r4   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 r9   )	r:   r;   r   firstr1   itemssetattrcommitrefresh)r4   r?   r-   r.   update_datar5   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)r:   r;   r   rA   deleterD   )r4   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   r   r   groupclassmethodr   r   r7   r>   rI   rM   r   r    r!   r#   r#      s   .M.;<WY`nr  CG  /Hs  H)67MwWZ|fj{  *A6#;  A$12CVVZko$pOfSkp#01A6TXim#nNVC[n+K$_cdIsd!.~tdcg!hL6#;h)':>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   r   r	   app.models.base_classr
   sqlalchemy.ormr   r   r   r   r   r#   r   r    r!   <module>rU      s/    % A A & D D0 0- -r    