
    di/                         d dl mZmZ d dlmZ d dlmZmZmZm	Z	 d dl
mZmZmZmZmZ  G d de      Z G d de      Zy	)
    )	BaseModelField)Base)Mappedmapped_columnrelationshipSession)
ForeignKeyIntegerVARCHARFloatTextc                       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<   y)	GrossMarginContributionBaseN)defaultgross_idcategory_namecontribution_to_total_salescontribution_to_gross_margin	rationalegroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   floatr   r   r        Q/var/www/html/retail-simulation-api/app/models/main/gross_margin_contributions.pyr   r      sv    !$/HsTz/"'"5MS4Z505d0CC272E 54<E#D1It1!$/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 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)TblGrossMarginContributiontbl_gross_margin_contributionr   T)primary_keyautoincrementr      N)nullableserver_defaultr   Fr   r   r   ztbl_group.group_idTblGroupgross_margin_contribution)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr-   r.   	data_dictnew_datas        r!    create_gross_margin_contributionz;TblGrossMarginContribution.create_gross_margin_contribution   s5    OO%	##
x

r    gross_margin_get_idc                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   first)r4   r8   r.   get_datas       r!   get_gross_margin_contributionz8TblGrossMarginContribution.get_gross_margin_contribution&   s2    88C=''8K(KLRRTr    gross_margin_update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r:   )	r;   r<   r   r=   r1   itemssetattrcommitrefresh)r4   r@   r-   r.   update_datar5   keyvalues           r!    update_gross_margin_contributionz;TblGrossMarginContribution.update_gross_margin_contribution+   s}    hhsm**3<<;Q+QRXXZOO%	#//+JC S%0 , 			


;r    c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r;   r<   r   r=   deleterD   )r4   r   r.   delete_datas       r!    delete_gross_margin_contributionz;TblGrossMarginContribution.delete_gross_margin_contribution6   sJ    hhsm**3<<8+CDJJL
		+
		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   3M*:wD`deHvc{e"/X\mq"rMF3Kr2?@]_dot  FJ  3K&-  K3@A_afqv  HL  4M 6%=  M,[$^bcIc*:w
K_@`aHvc{a4OPE 3N SZ ^z   s w Rn   S Oj ov   {W   s w Jf  r    r#   N)pydanticr   r   app.models.base_classr   sqlalchemy.ormr   r   r   r	   
sqlalchemyr
   r   r   r   r   r   r#   r   r    r!   <module>rU      s/    % & D D = =0) 0/ /r    