
    ]i                     L   d Z ddlZddlmZmZmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZmZmZ ddlmZmZmZ ddlmZmZ  G d d	eej0                        Z G d
 deej0                        Z G d dee      Z G d de      Z G d de      ZddlmZm Z  ddl!m"Z" ddl#m$Z$ ddl%m&Z& y)u7   Penerimaan models — BBM receipt from Pertamina truck.    N)datedatetimetime)Decimal)DateDateTime
ForeignKeyIndexNumericStringTextTime)Mappedmapped_columnrelationship)BaseTimestampMixinc                   8    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZy)TipeFotoEnumtruckstick_t3compartment_bukacompartment_kosongsurat_jalan
stick_awalstick_akhirdipstick_sebelumdipstick_sesudahatg_sebelumatg_sesudahN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r   r         7/var/www/html/spbu.com/backend/app/models/penerimaan.pyr   r      s=    EH)-KJK))KKr%   r   c                       e Zd ZdZdZdZdZy)StatusPenerimaandraft	submittedapprovedrejectedN)r!   r"   r#   DRAFT	SUBMITTEDAPPROVEDREJECTEDr$   r%   r&   r(   r(   $   s    EIHHr%   r(   c                      e Zd ZU dZdZ eddd       edd      fZ ed	      Ze	e
   ed
<    e edd      dd      Ze	e
   ed<    e edd      d      Ze	e
   ed<    eed      Ze	e   ed<    e ed      d      Ze	edz     ed<    eed      Ze	edz     ed<    eed      Ze	edz     ed<    e ed      d      Ze	edz     ed<    e ed      d      Ze	edz     ed<    eed      Ze	edz     ed<    e ed      d      Ze	edz     ed<    e e dd       d      Z!e	e"dz     ed!<    e e d"d#      d      Z#e	e"dz     ed$<    e e dd       d      Z$e	e"dz     ed%<    e e d"d#      d      Z%e	e"dz     ed&<    eed      Z&e	edz     ed'<    e ed(d)      d      Z'e	e
dz     ed*<    e ed      de(jR                  +      Z*e	e   ed,<    e ed(d)      d      Z+e	e
dz     ed-<    e ed      d      Z,e	edz     ed.<    e ed(d)      d      Z-e	e
dz     ed/<    e ed      d      Z.e	edz     ed0<    eed      Z/e	edz     ed1<    e ed(d)      d      Z0e	e
dz     ed2<    e ed      d      Z1e	edz     ed3<    eed      Z2e	edz     ed4<    e3eg5      Z4e	d6   ed7<    e3e'g5      Z5e	d8   ed9<    e3e+g5      Z6e	d8   ed:<    e3e-g5      Z7e	d8   ed;<    e3e0g5      Z8e	d8   ed<<    e3dd=>      Z9e	e:d?      ed@<    e3dd=>      Z;e	e:dA      edB<   y)C
PenerimaanuK   One BBM receipt event — truck arrives, BBM pumped into underground tanks.
penerimaanix_penerimaan_spbu_tanggalspbu_idtanggalix_penerimaan_penebusan_idpenebusan_idTprimary_keyidzmaster_spbu.idCASCADEondeleteF)nullableindexzpenebusan.idRESTRICTr?   timezoneNtgl_jam_keluar_terminaljam_tibajam_berangkat   	no_polisi2   shipment_nonama_pengemudid   no_lo      density_obs      temp_obsdensity_onstemp_onscatatanzmaster_user.idSET NULLcreated_by_id)r?   defaultstatussubmitted_by_idsubmitted_atreviewed_by_idreviewed_atcatatan_reviewunlocked_by_idunlocked_atunlock_reasonforeign_keys	Penebusan	penebusanzUser | None
created_bysubmitted_byreviewed_byunlocked_byall, delete-orphan)back_populatescascadePenerimaanItemitemsPenerimaanFotofotos)<r!   r"   r#   __doc____tablename__r
   __table_args__r   r;   r   int__annotations__r	   r5   r8   r   r6   r   r   rE   r   r   rF   r   rG   r   rI   strrK   r   rL   rN   r   rQ   r   rT   rU   rV   rW   rY   r(   r-   r[   r\   r]   r^   r_   r`   ra   rb   rc   r   rg   rh   ri   rj   rk   rp   listrr   r$   r%   r&   r2   r2   +   s   U M 	*IyA*N;N
 $5Bs5(#i85PTGVC[  !.>J7%!L&+ 
 *$?GVD\?7D$$8VHtO4  %2$$FHfTD[!F)6td)KM6$+&K$1&*t$LIvcDj!L&3F2J&NKd
#N)6td)KNF3:&K -fSkD IE6#*I +81PT*UK$'U'4WQ]T'RHfWt^$R*71PT*UK$'U'4WQ]T'RHfWt^$R"/t"DGVC$JD(5#j9D)M6#*% 
 (r
UL\LbLbcFF3Kc*7#j9D+OVC$J'  -:(D:Q\`,aL&D)a)6#j9D*NF3:&  ,949P[_+`K4(`)6td)KNF3:&K)6#j9D*NF3:&  ,949P[_+`K4(`(5dT(JM6#*%J &2~%NIvk"N(4=/(RJ}%R*6_DU*VL&'V)5NCS)TK&T)5NCS)TK&T,8#-A-E6$'()  -9#-A-E6$'() r%   r2   c                   F   e Zd ZU dZdZ edd      fZ ed      Ze	e
   ed<    e edd	
      d      Ze	e
   ed<    e edd
      d      Ze	e
dz     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      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      d      Ze	e   ed<    e edd      d      Ze	e   ed<    e edd      d      Ze	edz     ed<    e edd      d      Ze	edz     ed <    ed!"      Ze	d#   ed$<    eeg%      Ze	d&   ed'<    eeg%      Ze	d(   ed)<    eeg%      Ze	d*   ed+<    ed,d-d./      Ze	e d0      ed1<   y)2ro   z]One product/tangki line within a Penerimaan (one per truck compartment unloaded to one tank).penerimaan_item ix_penerimaan_item_penerimaan_idpenerimaan_idTr9   r;   penerimaan.idr<   r=   FrB   zpenebusan_item.idrX   Npenebusan_item_idzmaster_produk.idrA   	produk_idzmaster_spbu_tangki.id	tangki_id
      dipstick_sebelum_mm      volume_sebelumdipstick_sesudah_mmvolume_sesudahvolume_diterimaatg_sebelum_mmatg_sesudah_mmrp   )rm   r2   r3   rd   zPenebusanItem | Nonepenebusan_itemProdukprodukTangkitangkiitemz6PenerimaanFoto.penerimaan_item_id == PenerimaanItem.idrl   )rm   primaryjoinrn   rq   rr   )!r!   r"   r#   rs   rt   r
   ru   r   r;   r   rv   rw   r	   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r3   r   r   r   rr   ry   r$   r%   r&   ro   ro   t   s   g%M 	0/BN $5Bs5!.?Y7%"M6#;  -:&<t-vcDj)  +%
;eIvc{  +*Z@5Ivc{  ,9QRW+XX&3GBNU&SNF7OS+8QRW+XX&3GBNU&SNF7OS'4WR^e'TOVG_T-:72q>TX-YNF7T>*Y-:72q>TX-YNF7T>*Y (47'KJ|$K5APaOb5cNF12c+)EFF8E+)EFF8E,8L$-E6$'() r%   ro   c                      e Zd ZU dZdZ edd      fZ ed      Ze	e
   ed<    e edd	
      d      Ze	e
   ed<    e edd	
      d      Ze	e
dz     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deg      Ze	d   ed<    edeg      Ze	d   ed<   y)rq   z5Photo attached to a Penerimaan (general or per-item).penerimaan_foto ix_penerimaan_foto_penerimaan_idr}   Tr9   r;   r~   r<   r=   FrB   zpenerimaan_item.idNpenerimaan_item_id   tipei  urlrC   znow())server_defaultr?   
created_atrr   )rm   re   r2   r3   zPenerimaanItem | Noner   )r!   r"   r#   rs   rt   r
   ru   r   r;   r   rv   rw   r	   r}   r   r   r   rx   r   r   r   r   r   r3   r   r$   r%   r&   rq   rq      s   ?%M 	0/BN $5Bs5!.?Y7%"M6#;  .;')<t.sTz*  &fRj5AD&+A$VC[5ACA#0$%$Jx  
 (4#_(J|$  -9()-D&(
) r%   rq   )rf   PenebusanItem)r   )r   )User)'rs   enumr   r   r   decimalr   
sqlalchemyr   r   r	   r
   r   r   r   r   sqlalchemy.ormr   r   r   app.models.baser   r   rx   Enumr   r(   r2   ro   rq   app.models.penebusanrf   r   app.models.productr   app.models.spbur   app.models.userr   r$   r%   r&   <module>r      s    =  ) ) 	 	 	 ? > 0 3		  sDII F~ FR(T (VT D : % "  r%   