o
    Uh                     @   sx   d dl mZ d dl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 G dd deZG dd	 d	eZd
S )    )Field)CustomModel)INTEGERVARCHARFloat
ForeignKey)Mappedmapped_columnrelationshipSession)Basec                   @   s  e Zd ZU eddZedB ed< eddZedB ed< eddZ	edB ed< eddZ
edB ed< eddZedB ed< eddZedB ed< eddZedB ed	< eddZedB ed
< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< eddZedB ed< dS )NetworkPlanningBaseN)default
network_idlocationstatetotal_hh	target_hhareaactionformat_a_y1format_a_y2format_a_y3format_a_y4format_a_y5format_b_y1format_b_y2format_b_y3format_b_y4format_b_y5total_store_count_y1total_store_count_y2total_store_count_y3total_store_count_y4total_store_count_y5group_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   r   r   floatr   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%    r-   r-   7/var/www/html/RetailAPI/app/models/main/network_plan.pyr      s0   
 r   c                	   @   s  e Zd ZU dZedddZee ed< ee	dddZ
ee ed< ee	d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eddZee ed< ee	d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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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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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eddZ"ee ed< eee#dddZ$ee ed< e%dd d!Z&e'd"e(d#e)d$d fd%d&Z*e'ded#e)d$d'fd(d)Z+e'ded#e)d$d'fd*d+Z,e'ded"e(d#e)d$d'fd,d-Z-d.S )/TblNetworkPlanningtbl_network_planningT)primary_keyautoincrementr      F)nullabler   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   ztbl_group.group_idr%   TblGroupnetwork_planning)back_populatesdatadbreturnc                 C   s,   |  }| di |}|| |  |S )Nr-   )
model_dumpaddflush)clsr8   r9   	data_dictnew_datar-   r-   r.   create@   s
   
zTblNetworkPlanning.createzTblNetworkPlanning | Nonec                 C      | | | j|k S N)queryfilterr   first)r>   r   r9   r-   r-   r.   	get_by_idH      zTblNetworkPlanning.get_by_idc                 C   rB   rC   )rD   rE   r%   rF   )r>   r%   r9   r-   r-   r.   get_by_group_idL   rH   z"TblNetworkPlanning.get_by_group_idc                 C   sf   | | | j|k }|sd S | }| D ]\}}|d ur't||| q|  || |S rC   )	rD   rE   r   rF   r;   itemssetattrcommitrefresh)r>   r   r8   r9   objr?   keyvaluer-   r-   r.   updateQ   s   
zTblNetworkPlanning.updateN).r&   r'   r(   __tablename__r	   r   r   r)   r*   r   r   r+   r   r   r   r   r   r   r,   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r   r%   r
   groupclassmethodr   r   rA   rG   rI   rQ   r-   r-   r-   r.   r/       sD   
  r/   N)pydanticr   app.utils.schemas_utilsr   
sqlalchemyr   r   r   r   sqlalchemy.ormr   r	   r
   r   app.models.mainr   r   r/   r-   r-   r-   r.   <module>   s    