
    ιh                         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mZ d dlmZ  G d de      Z G d de      Zy	)
    )	BaseModelField)Mappedmapped_columnrelationshipSession)IntegerText
ForeignKeyFloatJSON)Basec                       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)
OptimisingAssetsBaseN)defaultoptimising_idspace_resources_for_incomenon_space_resources_for_incomepercentage_of_salespredictions_around_changes"changes_in_marketing_communicationgroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   floatr   r   r        T/var/www/html/retail-simulation-api/app/models/main/optimising_assets_for_revenue.pyr   r      s    "'"5MS4Z5.3D.AtA272E"S4ZE*/*=54<=.3D.AtA6;D6I&tI"40Hd
0r!   r   c            	          e Zd ZU dZ ededd      Zee   e	d<    ede
dd      Zeee      e	d<    ede
dd      Zeee      e	d<    ed	ed
d      Zee   e	d	<    ede
dd      Ze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)TblOptimisingAssetstbl_optimising_assetsr   T)primary_keyautoincrementr   N)nullableserver_defaultr   r   Fr   r   r   ztbl_group.group_idTblGroupoptimising_assets)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr    )
model_dumpaddflush)clsr-   r.   	data_dicts       r"   create_optimising_assetsz,TblOptimisingAssets.create_optimising_assets   s1    ,$//+,	
y

r!   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r4   r   r.   get_datas       r"   get_optimising_assetsz)TblOptimisingAssets.get_optimising_assets"   s1    88C=''(@AEEGr!   	update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r8   )	r9   r:   r   firstr1   itemssetattrcommitrefresh)r4   r>   r-   r.   update_datar5   keyvalues           r"   update_optimising_assetsz,TblOptimisingAssets.update_optimising_assets'   s~    hhsm**3+<+<	+IJPPROO%	#//+JC S%0 , 			


;r!   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r9   r:   r   r@   deleterC   )r4   r   r.   delete_datas       r"   delete_optimising_assetsz,TblOptimisingAssets.delete_optimising_assets2   sL    hhsm**3+<+<+MNTTV
		+
		r!   ) r   r   r   __tablename__r   r	   r   r   r   r   r   r   listr   r   r   r   r   r   r
   r   r   r   r   groupclassmethodr   r   r6   r=   rH   rL   r    r!   r"   r$   r$      s   +M"/VZjn"oMF3Ko5BC_aept  FJ  6KS	!2  K9FGgimx|  NR  :S"VDI%6  S*78Mu_duy*z&-z5BC_aept  FJ  6KS	!2  K7DEikoz~  PT  8U&  U*:w
K_@`aHvc{a4GHE+? G Od   C G ?T    :N SZ ^s   C G G\  r!   r$   N)pydanticr   r   sqlalchemy.ormr   r   r   r   
sqlalchemyr	   r
   r   r   r   app.models.base_classr   r   r$   r    r!   r"   <module>rU      s/    % G G = = &19 1*$ *r!   