
    7-i	                     |    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  G d de      Z G d de      Zy	)
    )	BaseModelField)Base)Mappedmapped_columnrelationshipSession)
ForeignKeyIntegerVARCHAREnumc                       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<   y)LocationSpillageFactorBaseN)defaultlocation_idestimated_spillage_factorassumptionsgroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r        X/var/www/html/retail-simulation-api/app/models/main/location_spillage_factor_analysis.pyr   r      sO    $T2K#*2-24-@d
@$T2K#*2!$/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d      Zee   e	d	<    ed 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)TblLocationSpillageFactortbl_location_spillage_factorr   T)primary_keyautoincrementr   LowMediumHighr      N)nullableserver_defaultr   ztbl_group.group_idTblGrouplocation_spillage_factor)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr,   r-   	data_dicts       r   create_locationz)TblLocationSpillageFactor.create_location   s1    ,$//+,	
y

r   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r3   r   r-   get_datas       r   get_locationz&TblLocationSpillageFactor.get_location   s1    88C=''(@AEEGr   	update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r7   )	r8   r9   r   firstr0   itemssetattrcommitrefresh)r3   r=   r,   r-   update_datar4   keyvalues           r   update_locationz)TblLocationSpillageFactor.update_location#   s|    hhsm**3??i+GHNNPOO%	#//+JC S%0 , 			


;r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          |S )NF)r8   r9   r   r?   deleterB   )r3   r   r-   delete_datas       r   delete_locationz)TblLocationSpillageFactor.delete_location.   sM    hhsm**3??k+IJPPR
		+
		r   )r   r   r   __tablename__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=   2M -mWRVfj kK&+k.;<WY]^cemntYu.vsv -mWS\TXim nK&+n*:zBV7WXHvc{X4NOE"<  Lg   3 7 6Q   s 1K PW [v     <W  r   r   N)pydanticr   r   app.models.base_classr   sqlalchemy.ormr   r   r   r	   
sqlalchemyr
   r   r   r   r   r   r   r   r   <module>rS      s/    % & D D 8 80 0( (r   