
    h=
                         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 d dlmZ  G d de      Z G d d	e      Zy
)    )Optional)	BaseModelField)Mappedmapped_columnSessionrelationship)IntegerVARCHAR
ForeignKey)Basec                       e Zd ZU dZee   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)	&MarginandSalesContributionAnalysisBaseN	margin_id)default5which_category_do_you_think_contributes_more_to_sales=which_category_do_you_think_contributes_more_to_gross_margins1which_category_do_you_think_represents_your_store)defualtgroup_id)__name__
__module____qualname__r   r   int__annotations__r   r   strr   r   r        ]/var/www/html/retail-simulation-api/app/models/main/margin_and_sales_contribution_analysis.pyr   r      sb     $I$INW[I\9C$J\QV_cQdAC$JdEJSWEX5d
X!$/HsTz/r   r   c            	       x   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d      Zee   e	d	<    ed
 e
d      dd      Zee   e	d
<    ede 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y)%TblMarginandSalesContributionAnalysis*tbl_margin_and_sales_contribution_analysisr   T)primary_keyautoincrementr      N)nullableserver_defaultr   r   r   ztbl_group.group_idTblGroup&margin_and_sales_contribution_analysis)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr+   r,   create_datas       r   createz,TblMarginandSalesContributionAnalysis.create   s1    .DOO-.
{

r   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r2   r   r,   get_datas       r   getz)TblMarginandSalesContributionAnalysis.get   s1    88C=''(@AEEGr   c                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r6   )	r7   r8   r   firstr/   itemssetattrcommitrefresh)r2   r   r+   r,   update_data	data_dictkeyvalues           r   updatez,TblMarginandSalesContributionAnalysis.update$   s|    hhsm**3==I+EFLLNOO%	#//+JC S%0 , 			


;r   )r   r   r   __tablename__r   r
   r   r   r   r   r   r   r   r   r   r   r   r	   groupclassmethodr   r   r4   r;   rF   r   r   r   r!   r!      s   @M+KdbfgIsgJW  YP  RY  Z]  R^  im  ~B  KC9F3K  CQ^  `_  ah  il  am  x|  MQ  RRA6#;  RER  TG  IP  QT  IU  `d  uy  Fz5vc{  z*:w
K_@`aHvc{a4\]E? G Ov   # ' -T   c (N SZ   _F  r   r!   N)typingr   pydanticr   r   sqlalchemy.ormr   r   r   r	   
sqlalchemyr
   r   r   app.models.base_classr   r   r!   r   r   r   <module>rO      s2     % G G 3 3 &0Y 0D r   