
    niN                         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 d dlm
Z d dlmZ  G d de      Z G d d	e      Z G d
 de      Zy)    )	BaseModelField)Mappedmapped_columnrelationshipSession)IntegerEnum
ForeignKeyVARCHAR)r
   )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<   y)	PhysicalStoreFormatsBaseN)defaultphysical_idmetricy1_y2y3_y4y5_y6group_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   r   r        M/var/www/html/retail-simulation-api/app/models/main/physical_store_formats.pyr   r      st    $T2K#*2-FS4Z-t,EC$J,t,EC$J,t,EC$J,!$/HsTz/r   r   c                   @    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZy)
MetricEnumzInvestment & Capital ExpenseszPre-Operating ExpenseszRental Advance (Deposit)Rent	InventoryzBills per monthzAverage Price per itemzOther Income	UtilitieszCorporate Employee SalaryzConcept Employee SalaryzStore Level Employee SalaryzLogistics and TransportationN)r   r   r   INVESTMENT_AND_CAPITAL_EXPENSESPRE_OPERATING_EXPENSESRENTAL_ADVANCE_DEPOSITRENT	INVENTORYBILLS_PER_MONTHAVERAGE_PRICE_PER_ITEMOTHER_INCOME	UTILITIESCORPORATE_EMPLOYEE_SALARYCONCEPT_EMPLOYEE_SALARYSTORE_LEVEL_EMPLOYEE_SALARYLOGISTICS_AND_TRANSPORTATIONr   r   r   r!   r!      sK    &E#57DI'O5!LI ;7"?#A r   r!   c            	          e Zd ZU dZ ededd      Zee   e	d<    ed e
d       ee            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            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)TblPhysicalStoreFormatstbl_physical_store_formatsr   T)primary_keyautoincrementr      r   N)nullableserver_defaultr   r   r   ztbl_group.group_idTblGroupphysical_store_formats)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr=   r>   create_datas       r   createzTblPhysicalStoreFormats.create)   s1    .DOO-.
{

r   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)rD   r   r>   get_datas       r   getzTblPhysicalStoreFormats.get0   s1    88C=''(@AEEGr   c                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S rH   )	rI   rJ   r   firstrA   itemssetattrcommitrefresh)rD   r   r=   r>   update_data	data_dictkeyvalues           r   updatezTblPhysicalStoreFormats.update5   s|    hhsm**3??k+IJPPROO%	#//+JC S%0 , 			


;r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)rI   rJ   r   rO   deleterR   )rD   r   r>   delete_datas       r   rZ   zTblPhysicalStoreFormats.delete@   sJ    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   r   r   r   groupclassmethodr   r   rF   rM   rX   rZ   r   r   r   r3   r3      sg   0M -mWRVfj kK&+k(73<jAQRFVC[R'4X\]EF3K]'4X\]EF3K]'4X\]EF3K]*:zBV7WXHvc{X4LME1 g AZ   # ' -F    *B w Rk     3L  r   r3   N)pydanticr   r   sqlalchemy.ormr   r   r   r   
sqlalchemyr	   r
   r   r   enumPyEnumapp.models.base_classr   r   r!   r3   r   r   r   <module>re      s@    % G G 9 9  &0y 0B B)d )r   