
    ]i                         d Z ddlmZmZmZ ddlmZ ddlmZmZ ddl	m
Z
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y)z0Schemas for the penerimaan (BBM receipt) module.    )datedatetimetime)Decimal)LiteralOptional)	BaseModel
ConfigDictfield_validatorc                   r    e Zd ZU dZedz  ed<   eed<   eed<   eed<   eed<   dZedz  ed<   dZedz  ed<   y)	PenerimaanItemCreateNpenebusan_item_id	produk_id	tangki_iddipstick_sebelum_mmdipstick_sesudah_mmatg_sebelum_mmatg_sesudah_mm)	__name__
__module____qualname__r   int__annotations__r   r   r        8/var/www/html/spbu.com/backend/app/schemas/penerimaan.pyr   r   
   sC    $(sTz(NN    %)NGdN)%)NGdN)r   r   c                   R   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	<   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e   ed<    ed      ededefd              Zy)PenerimaanCreatepenebusan_idtanggalNtgl_jam_keluar_terminaljam_tibajam_berangkat	no_polisishipment_nonama_pengemudino_lodensity_obstemp_obsdensity_onstemp_onscatatanitemsvreturnc                      |st        d      |S )Nz(Minimal satu item penerimaan harus diisi)
ValueError)clsr.   s     r   items_not_emptyz PenerimaanCreate.items_not_empty%   s     GHHr   )r   r   r   r   r   r   r!   r   r"   r   r#   r$   strr%   r&   r'   r(   r   r)   r*   r+   r,   listr   r   classmethodr3   r   r   r   r   r      s    M/3X_3 HdTk !%M4$;% IsTz "Kt"!%NC$J%E3:"&K4&#Hgn#"&K4&#Hgn#GS4Z$%%W    r   r   c                   X    e Zd ZU  ed      Zeed<   eed<   edz  ed<   eed<   eed<   y)	PenerimaanFotoResponseTfrom_attributesidpenerimaan_idNpenerimaan_item_idtipeurl)r   r   r   r
   model_configr   r   r4   r   r   r   r8   r8   -   s+    d3LGd
"
I	Hr   r8   c                       e Zd ZU  ed      Zeed<   eed<   edz  ed<   eed<   eed<   eed	<   eed
<   eed<   eed<   eed<   eed<   eed<   edz  ed<   edz  ed<   e	e
   ed<   y)PenerimaanItemResponseTr9   r;   r<   Nr   r   produk_namar   tangki_namar   volume_sebelumr   volume_sesudahvolume_diterimar   r   fotos)r   r   r   r
   r@   r   r   r4   r   r5   r8   r   r   r   rB   rB   7   su    d3LGTz!NN    dN"dN"&''r   rB   c                      e Zd ZU  ed      Zeed<   eed<   eed<   eed<   edz  ed<   eed	<   e	dz  ed
<   e
dz  ed<   e
dz  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   ee   ed<   ee   ed<   eed<   edz  ed<   e	dz  ed<   dZeed<   dZee   ed<   dZee	   ed<   dZee   ed<   dZee	   ed <   dZee   ed!<   dZee   ed"<   dZee	   ed#<   dZee   ed$<   y)%PenerimaanResponseTr9   r;   spbu_idr   penebusan_booking_codeNpenebusan_no_sor    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   rH   total_volume_diterimacreated_by_name
created_atdraftstatussubmitted_by_namesubmitted_atreviewed_by_namereviewed_atcatatan_reviewunlocked_by_nameunlocked_atunlock_reason)r   r   r   r
   r@   r   r   r4   r   r   r   r   r5   rB   r8   rR   rS   r   rT   rU   rV   rW   rX   rY   rZ   r   r   r   rJ   rJ   K   s[   d3LGL4ZM%_,Tk$;Tzt$J:4n4n4Z&''&''""4Z4FC'+x}+'+L(8$+&*hsm*&*K(#*$(NHSM(&*hsm*&*K(#*#'M8C='r   rJ   c                   2    e Zd ZU ed   ed<   dZee   ed<   y)ReviewRequest)approverejectactionNr,   )r   r   r   r   r   r,   r   r4   r   r   r   r\   r\   p   s    '((!GXc]!r   r\   c                       e Zd ZU eed<   y)UnlockRequestalasanN)r   r   r   r4   r   r   r   r   ra   ra   u   s    Kr   ra   N)__doc__r   r   r   decimalr   typingr   r   pydanticr	   r
   r   r   r   r8   rB   rJ   r\   ra   r   r   r   <module>rg      so    6 ) )  $ ; ;*9 *y 2Y (Y (("( "(J"I "
I r   