
    	,h
                         d dl mZ d dlmZ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y
)    )Field)INTEGERFloat
ForeignKeyIntegerString)MappedSessionmapped_columnrelationship)Base)CustomModelc                      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
<   y)CatchmentPotentialBaseN)defaultcatch_idISEC_Segmentnumber_of_householdspercentage_of_segmentpotential_number_of_householdsAssumptionsSourcesgroup_id)__name__
__module____qualname__r   r   int__annotations__r   r   r   floatr   r   strr   r        >/var/www/html/RetailAPI/app/models/main/catchment_potential.pyr   r      s     .HcDj.$T2L#*2',T':#*:*/*=54<=383F"C4KF$T2K#*2 .GcDj.!$/HsTz/r"   r   c            	          e Zd ZU dZ edd      Zee   ed<    ede	d      Z
ee   ed<    eed      Zee   ed<    eed      Zee   ed	<    ee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	 ed      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efd       Z y)TblCatchmentPotentialtbl_catchment_potentialT)primary_keyautoincrementr   r   F)nullabler   r   r   d   r   r   r   ztbl_group.group_idTblGroupcatchmentPotential)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr!   )
model_dumpaddflush)clsr.   r/   	data_dictnew_datas        r#   createzTblCatchmentPotential.create   s5    OO%	##
x

r"   zTblCatchmentPotential | Nonec                 x    |j                  |       j                  | j                  |k(        j                         S N)queryfilterr   first)r5   r   r/   s      r#   	get_by_idzTblCatchmentPotential.get_by_id'   s-    xx}##CLLH$<=CCEEr"   c                 4   |j                  |       j                  | j                  |k(        j                         }|sy |j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r:   )	r;   r<   r   r=   r2   itemssetattrcommitrefresh)r5   r   r.   r/   get_datar6   keyvalues           r#   updatezTblCatchmentPotential.update+   s    88C=''(@AGGIOO%	#//+JC #u- , 			


8r"   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       y)NFT)r;   r<   r   r=   delete)r5   r   r/   objs       r#   rI   zTblCatchmentPotential.delete8   s@    hhsm""3<<8#;<BBD
		#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classmethodr   r
   r8   r>   rG   boolrI   r!   r"   r#   r%   r%      s   -M)d$OHfSkO -ngPU VL&+V(5g(N&+N+8+O6%=O2?RW2X"F3KX -fSkD IK&+I)&+EGfSkE)*gzJ^?_jnoHfSko4HIE0 g BY   F F' F6T F F 
c 
)? 
W 
Qo 
 
 c w 4  r"   r%   N)pydanticr   
sqlalchemyr   r   r   r   r   sqlalchemy.ormr	   r
   r   r   app.models.mainr   app.utils.schemas_utilsr   r   r%   r!   r"   r#   <module>rT      s2     B B G G   /0[ 0-D -r"   