
    &0i                         d dl mZmZ d dlmZ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e      Z G d
 de      Zy)    )	BaseModelField)INTEGERVARCHARTEXTEnum
ForeignKeyFLOAT)MappedSessionmapped_columnrelationship)Base)r   c                       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	<   y)
	CivilBaseN)defaultcivil_idgroup_idstore_format_typetype_of_civil_workrate_per_sqft
total_sqftremarks)__name__
__module____qualname__r   r   int__annotations__r   r   strr   r   floatr   r        </var/www/html/retail-simulation-api/app/models/main/civil.pyr   r      s     .HcDj. .HcDj.$)$$7sTz7%*4%8d
8"'"5M54<5$T2J2-GS4Z-r"   r   c                       e Zd ZdZdZy)StoreFormatTypezStore Format AzStore Format BN)r   r   r   STORE_FORMAT_ASTORE_FORMAT_Br!   r"   r#   r%   r%      s    %N%Nr"   r%   c            	          e Zd ZU dZ ededd      Zee   e	d<    ee e
d      d      Zee   e	d<    e ed	      d      Zee   e	d
<    ed ee            Zee   e	d<    eded      Zee   e	d<    eded      Zee   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)TblCivil	tbl_civilr   T)primary_keyautoincrementztbl_group.group_idF)nullabler      r   r   r   r   r   TblGroupcivils)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr!   )
model_dumpaddflush)clsr2   r3   	data_dictnew_datas        r#   createzTblCivil.create"   s5    OO%	##
x

r"   zTblCivil | Nonec                 x    |j                  |       j                  | j                  |k(        j                         S )N)queryfilterr   all)r9   r   r3   s      r#   	get_civilzTblCivil.get_civil*   s-    xx}##CLLH$<=AACCr"   c                 b   |j                  |       j                  | j                  |k(        j                         }|sy |j	                         }h d}|j                         D ]  \  }}||v st        |||        |j                  |       |j                          |j                  |       |S )N>   unitsremarkr   r   rate_per_sqcost_per_unitr   r   )
r>   r?   r   firstr6   itemssetattrr7   commitrefresh)	r9   r   r2   r3   get_datar:   allowed_fieldskeyvalues	            r#   updatezTblCivil.update;   s    88C=''(@AGGIOO%		
 $//+JCn$#u- , 	x
		


8r"   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          |S )NF)r>   r?   r   rG   deleterJ   )r9   r   r3   delete_datas       r#   rR   zTblCivil.deleteX   sM    hhsm**3<<8+CDJJL
		+
		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   r   groupclassmethodr   r   r<   rA   rP   rR   r!   r"   r#   r)   r)      su   M)*g4_cdHfSkd)':>R3S^cdHfSkd&3GCL4&PsP&34GoI^&_s_#0%RV#WM6%=W -lED QJuQ(=GVC[=H=E)  Z   D D' D6G D D  c   DU  8 S W 
  r"   r)   N)pydanticr   r   
sqlalchemyr   r   r   r   r	   r
   sqlalchemy.ormr   r   r   r   app.models.mainr   enumPyEnumr   r   r%   r)   r!   r"   r#   <module>r]      sB    % F F G G   .	 .&c6 &
Jt Jr"   