
    ]i_                        d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	  G d de      Z
 G d de
      Z G d	 d
e      Z G d de
      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d d e      Z G d! d"e      Z G d# d$e      Z G d% d&e      Z G d' d(e      Z G d) d*e      Z G d+ d,e      Z G d- d.e      Z G d/ d0e      Z G d1 d2e      Z  G d3 d4e      Z! G d5 d6e      Z" G d7 d8e"      Z# G d9 d:e      Z$ G d; d<e"      Z% G d= d>e      Z&y?)@    )datetime)Decimal)Literal)	BaseModel
ConfigDictc                   :    e Zd ZU eed<   eed<   eed<   dZeed<   y)	ShiftBasenama	jam_mulaijam_selesaiT	is_activeN)__name__
__module____qualname__str__annotations__r   r   bool     2/var/www/html/spbu.com/backend/app/schemas/spbu.pyr
   r
      s    
IOItr   r
   c                       e Zd Zy)ShiftCreateNr   r   r   r   r   r   r   r          r   r   c                   ^    e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	e
dz  ed<   y)ShiftUpdateNr   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s:    D#*!Itd{!#K#!Itd{!r   r   c                   4    e Zd ZU  ed      Zeed<   eed<   y)ShiftResponseTfrom_attributesidspbu_idNr   r   r   r   model_configintr   r   r   r   r   r      s    d3LGLr   r   c                       e Zd ZU eed<   eed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	edz  ed<   dZ
edz  ed	<    ed
      Zeed<   y)SpbuBasenamenomor_pertaminaNkode_internalalamat
no_telepon	nama_bankno_rekening	atas_namaz0.300 teller_discrepancy_threshold_pct)r   r   r   r   r   r+   r,   r-   r.   r/   r0   r   r1   r   r   r   r(   r(   !   sq    
I $M3:$FC$J!Jd
! IsTz "Kt" IsTz 070@$g@r   r(   c                   "    e Zd ZU g Zee   ed<   y)
SpbuCreateshiftsN)r   r   r   r4   listr   r   r   r   r   r3   r3   -   s     "FD"r   r3   c                       e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	edz  ed<   dZ
edz  ed<   dZedz  ed<   dZedz  ed	<   dZedz  ed
<   dZedz  ed<   y)
SpbuUpdateNr)   r*   r+   r,   r-   r.   r/   r0   r1   r   )r   r   r   r)   r   r   r*   r+   r,   r-   r.   r/   r0   r1   r   r   r   r   r   r   r7   r7   1   s    D#*"&OS4Z& $M3:$FC$J!Jd
! IsTz "Kt" IsTz 7;$gn;!Itd{!r   r7   c                   H    e Zd ZU  ed      Zeed<   eed<   g Ze	e
   ed<   y)SpbuResponseTr    r"   r   r4   N)r   r   r   r   r%   r&   r   r   r4   r5   r   r   r   r   r9   r9   >   s%    d3LGO"$FD$r   r9   c                   4    e Zd ZU eed<   dZeed<   dZeed<   y)
IslandBaser      urutanTr   N)	r   r   r   r   r   r=   r&   r   r   r   r   r   r;   r;   G   s    
IFCOItr   r;   c                       e Zd Zy)IslandCreateNr   r   r   r   r?   r?   M   r   r   r?   c                   J    e Zd ZU dZedz  ed<   dZedz  ed<   dZe	dz  ed<   y)IslandUpdateNr   r=   r   )
r   r   r   r   r   r   r=   r&   r   r   r   r   r   rA   rA   Q   s,    D#*FC$J!Itd{!r   rA   c                       e Zd ZU  ed      Zeed<   eed<   eed<   edz  ed<   edz  ed<   eed	<   eed
<   dZ	edz  ed<   dZ
edz  ed<   edd       Zy)NozzleResponseTr    r"   	island_idr   N	produk_id	tangki_idprimary_tellerr   produk_namatangki_namac                 B    | |j                   |j                  |j                  |j                  |j                  |j
                  |j                  |j                  r|j                  j                  nd |j                  r|j                  j                  	      S d 	      S )N)	r"   rD   r   rE   rF   rG   r   rH   rI   )	r"   rD   r   rE   rF   rG   r   produktangki)clsnozzles     r   from_orm_with_namesz"NozzleResponse.from_orm_with_namesd   s    yy&&&&&&!00&&.4mm**.4mm**

 
	
 BF

 
	
r   )returnrC   )r   r   r   r   r%   r&   r   r   r   rH   rI   classmethodrO   r   r   r   rC   rC   W   sh    d3LGN
ITzTzO"Kt""Kt"
 
r   rC   c                   H    e Zd ZU  ed      Zeed<   eed<   g Zee	   ed<   y)IslandResponseTr    r"   r#   nozzlesN)
r   r   r   r   r%   r&   r   rT   r5   rC   r   r   r   rS   rS   s   s%    d3LGL$&GT.!&r   rS   c                   N    e Zd ZU eed<   dZedz  ed<   dZedz  ed<   dZe	ed<   y)NozzleCreater   NrE   rF   Tr   )
r   r   r   r   r   rE   r&   rF   r   r   r   r   r   rV   rV   |   s-    
I IsTz  IsTz Itr   rV   c                   x    e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	e
d   dz  ed<   dZedz  ed<   y)NozzleUpdateNr   rE   rF   )manualdigitalrG   r   )r   r   r   r   r   r   rE   r&   rF   rG   r   r   r   r   r   r   rX   rX      sO    D#* IsTz  IsTz :>NG/047>!Itd{!r   rX   c                   "    e Zd ZU eed<   eed<   y)KalibrasiTangkiItem	tinggi_mmvolume_literN)r   r   r   r   r   r   r   r   r\   r\      s    r   r\   c                   4    e Zd ZU  ed      Zeed<   eed<   y)KalibrasiTangkiResponseTr    r"   rF   Nr$   r   r   r   r`   r`      s    d3LGNr   r`   c                   X    e Zd ZU eed<   dZedz  ed<   eed<   dZedz  ed<   dZ	e
ed<   y)
TangkiBaser   Nkode_kalibrasikapasitas_literrE   Tr   )r   r   r   r   r   rc   r   rE   r&   r   r   r   r   r   rb   rb      s3    
I!%NC$J% IsTz Itr   rb   c                       e Zd Zy)TangkiCreateNr   r   r   r   rf   rf      r   r   rf   c                   r    e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	e
dz  ed<   dZedz  ed<   y)TangkiUpdateNr   rc   rd   rE   r   )r   r   r   r   r   r   rc   rd   r   rE   r&   r   r   r   r   r   rh   rh      sH    D#*!%NC$J%&*OWt^* IsTz !Itd{!r   rh   c                   n    e Zd ZU  ed      Zeed<   eed<   g Zee	   ed<   dZ
edz  ed<   ed	d       Zy)
TangkiResponseTr    r"   r#   	kalibrasiNrH   c                 ^    | |j                   |j                  |j                  |j                  |j                  |j
                  |j                  |j                  D cg c]  }t        j                  |       c}|j                  r|j                  j                  	      S d 	      S c c}w )N)	r"   r#   r   rc   rd   rE   r   rk   rH   )r"   r#   r   rc   rd   rE   r   rk   r`   model_validaterK   )rM   rL   ks      r   rO   z"TangkiResponse.from_orm_with_names   s    yyNN!00"22&&&&JPJZJZ[JZQ.==a@JZ[.4mm**

 
	
 BF

 
	
 \s   B*)rP   rj   )r   r   r   r   r%   r&   r   rk   r5   r`   rH   r   rQ   rO   r   r   r   rj   rj      sF    d3LGL/1It+,1"Kt"
 
r   rj   c                   b    e Zd ZU eed<   dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	e
ed<   y)
TenantBaser   Njenis_usahaluas_m2kontakTr   )r   r   r   r   r   rq   rr   r   rs   r   r   r   r   r   rp   rp      s;    
I"Kt""GWt^"FC$JItr   rp   c                       e Zd Zy)TenantCreateNr   r   r   r   ru   ru      r   r   ru   c                   r    e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	edz  ed<   dZ
edz  ed<   y)TenantUpdateNr   rq   rr   rs   r   )r   r   r   r   r   r   rq   rr   r   rs   r   r   r   r   r   rw   rw      sH    D#*"Kt""GWt^"FC$J!Itd{!r   rw   c                   @    e Zd ZU eed<   eed<   eed<   dZedz  ed<   y)KontrakSewaBasenilai_bulanantanggal_mulaitanggal_akhirNdokumen_url)r   r   r   r   r   r   r}   r   r   r   r   ry   ry      s"    "Kt"r   ry   c                       e Zd Zy)KontrakSewaCreateNr   r   r   r   r   r      r   r   r   c                   r    e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dZ	e
dz  ed<   dZe
dz  ed<   y)KontrakSewaUpdateNrz   r{   r|   statusr}   )r   r   r   rz   r   r   r{   r   r|   r   r   r}   r   r   r   r   r      sH    $(M7T>(!%M4$;%!%M4$;%FC$J"Kt"r   r   c                   >    e Zd ZU  ed      Zeed<   eed<   eed<   y)KontrakSewaResponseTr    r"   	tenant_idr   N)r   r   r   r   r%   r&   r   r   r   r   r   r   r      s    d3LGNKr   r   c                   H    e Zd ZU  ed      Zeed<   eed<   g Zee	   ed<   y)TenantResponseTr    r"   r#   kontrakN)
r   r   r   r   r%   r&   r   r   r5   r   r   r   r   r   r      s&    d3LGL)+GT%&+r   r   N)'datetimer   r   decimalr   typingr   pydanticr   r   r
   r   r   r   r(   r3   r7   r9   r;   r?   rA   rC   rS   rV   rX   r\   r`   rb   rf   rh   rj   rp   ru   rw   ry   r   r   r   r   r   r   r   <module>r      sp      *	 	) 	") "I 	Ay 	A# #
" 
"%8 % 	: 	"9 "
Y 
8'Z '9 "9 ") 
1  	: 	"9 "
Z 
0 	: 	"9 "#i #	 	#	 #/ ,Z ,r   