
    h6                         d dl 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 d dlmZ  G d de      Z G d d	ee j                        Z G d
 dee j                        Z G d de      Zy)    N)	BaseModelField)Mappedmapped_columnSessionrelationship)
ForeignKeyIntegerVARCHAREnum)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)	SalesEstimateBaseN)defaultsales_id	parametervalueremarkstore_formate_typegroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   r   r        9/var/www/html/RetailAPI/app/models/main/sales_estimate.pyr   r      su    !$/HsTz/"40Id
0t,EC$J,-FS4Z-&+D&9t9!$/HsTz/r   r   c                       e Zd ZdZdZdZdZy)ParameterEnumzGross Margin % EstimatezNumber of Bills per MonthzNumber of Items per Billz"Average Price per item (in Rupees)N)r   r   r   GROSS_MARGINBILLS_PER_MONTHITEMS_PER_BILL	AVG_PRICEr   r   r   r!   r!      s    ,L1O/N4Ir   r!   c                       e Zd ZdZdZy)StoreFormatEnumzStore Formate AzStore Formate BN)r   r   r   FORMAT_AFORMAT_Br   r   r   r'   r'      s     H Hr   r'   c            	          e Zd ZU dZ ededd      Zee   e	d<    e e
e            Zee   e	d<    ededd      Zee   e	d<    ed	 ed
      dd      Zee   e	d	<    e e
e            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)TblSalesEstimatetbl_sales_estimater   T)primary_keyautoincrementr   r   N)nullableserver_defaultr      r   r   ztbl_group.group_idTblGroupsales_estimate)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr5   r6   	data_dictnew_datas        r   create_sales_estimatez&TblSalesEstimate.create_sales_estimate&   s5    OO%	##
x

r   sales_get_idc                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   first)r<   r@   r6   get_datas       r   get_sales_estimatez#TblSalesEstimate.get_sales_estimate.   s1    88C=''(DEKKMr   sales_update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S rB   )	rC   rD   r   rE   r9   itemssetattrcommitrefresh)r<   rH   r5   r6   update_datar=   keyr   s           r   update_sales_estimatez&TblSalesEstimate.update_sales_estimate3   s|    hhsm**3<<?+JKQQSOO%	#//+JC S%0 , 			


;r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|D ]#  }|j	                  |       |j                          % y)NFT)rC   rD   r   alldeleterL   )r<   r   r6   delete_datarS   s        r   delete_sales_estimatez&TblSalesEstimate.delete_sales_estimate>   sV    hhsm**3<<8+CDHHJ!FIIfIIK " 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   r?   rG   rP   rU   r   r   r   r+   r+      sf   (M +:wD`deHvc{e+D,?@Is@'4X\]EF3K](73<$_cdFVC[d'4T/5J'KK*:w
K_@`aHvc{a4DEE(9 g I[   S W @R   3 =N SZ ^p   C G ?Q  r   r+   )enumpydanticr   r   sqlalchemy.ormr   r   r   r   
sqlalchemyr	   r
   r   r   app.models.base_classr   r   r   r!   r'   r+   r   r   r   <module>r^      sV     % D D 9 9 &0	 05C 5!c499 !-t -r   