
    di
                         d dl mZ 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
)    )List)	BaseModelField)Mappedmapped_columnSessionrelationship)DOUBLE
ForeignKeyIntegerVARCHARText)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)	AdditionalInstallationBaseN)defaultadditional_idnamedescriptioncost_per_unitremarkgroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   floatr   r        S/var/www/html/retail-simulation-api/app/models/main/additional_installations_fix.pyr   r      st    !&t!4MC$J4d+D3:+$T2K#*2#(#6MEDL6-FS4Z-!$/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)TblAdditionalInstallationtbl_additional_installationr   T)primary_keyautoincrementr      N)nullableserver_defaultr   r   r   r   ztbl_group.group_idTblGroupadditional_installation)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr    )
model_dumpaddflush)clsr.   r/   new_datas       r"   create_additional_installationz8TblAdditionalInstallation.create_additional_installation   s0    +*+
x

r!   additional_get_idc                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   first)r5   r8   r/   get_datas       r"   get_additional_installationz5TblAdditionalInstallation.get_additional_installation$   s4    88C=''(9(9=N(NOUUWr!   additional_update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r:   )	r;   r<   r   r=   r2   itemssetattrcommitrefresh)r5   r@   r.   r/   update_data	data_dictkeyvalues           r"   update_additional_installationz8TblAdditionalInstallation.update_additional_installation)   s    hhsm**3+<+<@T+TU[[]OO%	#//+JC S%0 , 			


;r!   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r;   r<   r   r=   deleterD   )r5   r   r/   delete_datas       r"   delete_additional_installationz8TblAdditionalInstallation.delete_additional_installation4   sL    hhsm**3+<+<+MNTTV
		+
		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?   rJ   rN   r    r!   r"   r$   r$      sn   1M"/VZjn"oMF3Ko&vws|d[_`D6#;` -mTDae fK&+f$1/6TXim$nMF5Mn(4$W[\FVC[\*:w
K_@`aHvc{a4MNE1K PW [v   3 7 Ni    Ke jq   vQ   # ' Mh  r!   r$   N)typingr   pydanticr   r   sqlalchemy.ormr   r   r   r	   
sqlalchemyr
   r   r   r   r   app.models.base_classr   r   r$   r    r!   r"   <module>rW      s2     % G G A A &0 0* *r!   