
    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mZ d dlmZ d dl
mZ  G d de      Z G d	 d
e      Zy)    )Optional)	BaseModelField)Mappedmapped_columnrelationshipSession)IntegerVARCHAREnumTEXT
ForeignKeyDOUBLE)Base)JSONc                   b   e Zd ZU  ed      Zee   ed<    ed      Zee   ed<    ed      Z	ee
   ed<    ed      Zee
   ed<    ed      Zee
   ed<    ed      Zee
   ed<    ed      Zee
   ed	<    ed      Zee   ed
<    ed      Zee
   ed<    ed      Zee   ed<   y)LocationDetailsBaseN)default
details_idtrading_radiustrading_rationaladjacenciesadjacencies_rationallocation_characteristicsrationaldetailsstore_format_typegroup_id)__name__
__module____qualname__r   r   r   int__annotations__r   r   strr   r   r   r   r   dictr   r        G/var/www/html/retail-simulation-api/app/models/main/location_details.pyr   r      s     %d 3J3$)$$7NHSM7&+D&9hsm9!&t!4K#4*/*=(3-=.3D.AhsmA#D1Hhsm1#D1GXd^1',T':x}:#D1Hhsm1r'   r   c            	       h   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	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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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)TblLocationDetailstbl_location_detailsr   T)primary_keyautoincrementr   N)nullableserver_defaultr   r   r   r   corner_property_rationalr   r   r   zStore Format AzStore Format Br   ztbl_group.group_idTblGrouplocation_details)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr&   )
model_dumpaddflush)clsr4   r5   new_data	data_dicts        r(   create_location_detailsz*TblLocationDetails.create_location_details1   s4    ??$O(O	
y

r'   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r;   r   r5   get_datas       r(   get_location_detailsz'TblLocationDetails.get_location_details9   s1    88C=''(@AEEGr'   	update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r@   )	rA   rB   r   firstr8   itemssetattrcommitrefresh)r;   rF   r4   r5   update_datar=   keyvalues           r(   update_location_detailsz*TblLocationDetails.update_location_details>   s|    hhsm**3>>Y+FGMMOOO%	#//+JC S%0 , 			


;r'   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          |S )NF)rA   rB   r   rH   deleterK   )r;   r   r5   delete_datas       r(   delete_location_detailsz*TblLocationDetails.delete_location_detailsI   sM    hhsm**3>>Z+GHNNP
		+
		r'   )$r   r    r!   __tablename__r   r
   r   r   r"   r#   r   r   r   r   r$   r   r   r   r0   r   r   r   r%   r   r   r   r   r   groupclassmethodr   r	   r>   rE   rP   rT   r&   r'   r(   r*   r*   !   s   )M,\7PTdhiJi#01A6TXim#nNVC[n%23EtVZko%pvc{p -mTDae fK&+f)67Mt^bsw)x6#;x-:;UW[fj{  .Avc{  A-:;UW[fj{  .Avc{  A*:td[_`Hvc{`*9dTZ^_GfTl_&34GN^`pIq&rsr*:zBV7WXHvc{X4FGE*= ' Ma   3 7 >R   s 9L QX \p     CW  r'   r*   N)typingr   pydanticr   r   sqlalchemy.ormr   r   r   r	   
sqlalchemyr
   r   r   r   r   r   app.models.base_classr   r   r   r*   r&   r'   r(   <module>r]      s5     % G G G G & 
2) 
2/ /r'   