
    @-h                         d dl mZ d dlmZmZ d dlmZmZmZ d dl	m
Z
mZmZmZ d dlmZ  G d de      Z G d d	e      Zy
)    )HTTPException)	BaseModelField)
ForeignKeyStringEnum)Mappedmapped_columnrelationshipSession)Basec                   b   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	<    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)CommercialEquipmentBaseN)defaultequipment_idgroup_idstore_format_typeformat_typetype_of_equipmentnumber_of_unitscost_per_unitequipment_categorytotalremarks)__name__
__module____qualname__r   r   int__annotations__r   r   strr   r   r   r   floatr   r   r        K/var/www/html/retail-simulation-api/app/models/main/commercial_equipment.pyr   r      s    $T2L#*2 .HcDj.$)$$7sTz7#D1Kt1$)$$7sTz7"'"5OS4Z5"'"5M54<5&+D&9t9-E54<--GS4Z-r#   r   c            	       b   e Zd ZU dZ edd      Zee   ed<    e e	d      d      Z
ee   ed<    e ed      d	      Zee   ed
<    ed edd            Zee   ed<    e ed      d	      Zee   ed<    ed	      Zee   ed<    ed	      Zee   ed<    ed edd            Zee   ed<    ed	      Zee   ed<    e ed      d	      Zee   ed<    edd      Zedef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#)$TblCommercialEquipmenttbl_commercial_equipmentT)primary_keyautoincrementr   ztbl_group.group_id)nullabler   2   Fr   r   zStore Format AzStore Format Bd   r   r   r   r   Specialised	Universalr   r   TblGroupcommercial_equipments)back_populatesreturnc                 4    | j                   | j                  z  S N)r   r   )selfs    r$   
total_costz!TblCommercialEquipment.total_cost#   s    ##d&8&888r#   datadbc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr"   )
model_dumpaddflush)clsr7   r8   	data_dict	new_entrys        r$   createzTblCommercialEquipment.create'   s6    OO%	$)$	
y

r#   zTblCommercialEquipment | Nonec                 x    |j                  |       j                  | j                  |k(        j                         S r4   )queryfilterr   all)r=   r   r8   s      r$   	get_by_idz TblCommercialEquipment.get_by_id/   s-    xx}##CLLH$<=AACCr#   c                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r4   )	rB   rC   r   firstr:   itemssetattrcommitrefresh)r=   r   r7   r8   update_datar>   keyvalues           r$   updatezTblCommercialEquipment.update3   s~    hhsm**3+;+;|+KLRRTOO%	#//+JC S%0 , 			


;r#   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          |S )NF)rB   rC   r   rG   deleterJ   )r=   r   r8   delete_datas       r$   rQ   zTblCommercialEquipment.delete>   sO    hhsm**3+;+;|+KLRRT
		+
		r#   N)"r   r   r   __tablename__r
   r   r	   r   r   r   r   r   r   r    r   r   r   r   r   r!   r   r   r   r   grouppropertyr6   classmethodr   r   r@   rE   rO   rQ   r"   r#   r$   r&   r&      s   .M -$d SL&+S)*5I*JUYZHfSkZ,VBZ%HKH&34GN^_oIp&qsq%26#;%Ovc{O#0%#@OVC[@#0%#@M6%=@&34H$}^iJj&ksk(%8E6%=8(uEGVC[E4KLE9E 9 9 1 w C[   D D' D6U D D  +B w Rj     4L  r#   r&   N)fastapir   pydanticr   r   
sqlalchemyr   r   r   sqlalchemy.ormr	   r
   r   r   app.models.mainr   r   r&   r"   r#   r$   <module>r\      s2    ! % . . G G  
.i 
.2T 2r#   