
    6i                         d dl mZmZmZmZmZmZmZmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlZ G d deej                        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)    )	ColumnIntegerStringFloatDateTime
ForeignKeyEnumNumericDate)relationship)datetime)BaseNc                   $    e Zd ZdZdZdZdZdZdZy)PurchaseStatusdraftsent	confirmedshippingreceived	cancelledN)	__name__
__module____qualname__DRAFTSENT	CONFIRMEDSHIPPINGRECEIVED	CANCELLED     ?/var/www/hypershopcomercio.com.br/hyper-ai/app/models/supply.pyr   r      s     EDIHHIr!   r   c                   V   e Zd ZdZ eedd      Z e ed      d      Z e ed      dd      Z	 e ed      d      Z
 e ed      d      Z e ed	      d      Z eed
      Z eeej                         Z eeej                   ej                         Z edd      Zy)Supplier	suppliersTprimary_keyindex   Fnullable   )uniquer+   2      defaultr1   onupdatePurchaseOrdersupplierback_populatesN)r   r   r   __tablename__r   r   idr   namecnpjcontact_nameemailphonelead_time_daysr   r   utcnow
created_at
updated_atr   ordersr    r!   r"   r$   r$      s    M	T	6B&+.D&*TD9D&+5L6#;.E6":-EGQ/N (//:J(//HOOTJ /*EFr!   r$   c                      e Zd ZdZ eedd      Z ee ed      d      Z e e	d      e
j                        Z eed      Z eed      Z e ed	d
      d      Z e ed	d
      d      Z e e	d      d      Z eeej,                        Z eeej,                  ej,                        Z edd      Z eddd      Zy)r4   purchase_ordersTr&   zsuppliers.idFr*   d   r0   
              i  r2   r$   rC   r6   PurchaseOrderItemorderzall, delete-orphan)r7   cascadeN)r   r   r   r8   r   r   r9   r   supplier_idr   r   r   statusr   expected_dater   received_dater
   
total_costadditional_costsnotesr   r@   rA   rB   r   r5   itemsr    r!   r"   r4   r4   !   s    %M	T	6B*^"<uMKF3K)=)=>F4$/M8d3MA4Jgb!nc:6$<$/E(//:J(//HOOTJ Jx@H,WNbcEr!   r4   c                   $   e Zd ZdZ eedd      Z ee ed      d      Z e e	d       ed      d      Z
 e e	d      d      Z e e	d	      d      Z eed      Z e ed
d      d      Z eed      Z edd      Z ed      Zy)rJ   purchase_order_itemsTr&   purchase_orders.idFr*   r)   ads.idi  rG   rH   r   r0   r4   rT   r6   app.models.ad.AdN)r   r   r   r8   r   r   r9   r   order_idr   ad_idskutitlequantityr
   	unit_costreceived_quantityr   rK   adr    r!   r"   rJ   rJ   7   s    *M	T	6Bgz*>?%PH6#;
8 4tDE u
-C6#;/Eg.Hwr1~6Iw2 AE	(	)Br!   rJ   c                       e Zd ZdZdZ eedd      Z e ed      d      Z	 e ed      d	      Z
 e ed
d      d	      Z e ed
d      d	      Z eed      Z eeej$                  	      Z edd      Zy)InboundShipmentzy
    Representa uma remessa para o Full (Inbound).
    Agrupa custos de envio que devem ser rateados entre os itens.
    inbound_shipmentsTr&   r)   r*   rF   planningr0   rG   rH   rI   
StockBatchinbound_shipmentr6   N)r   r   r   __doc__r8   r   r   r9   r   r:   rN   r
   shipping_costother_costsr   shipped_dater   r   r@   rA   r   batchesr    r!   r"   rc   rc   K   s     (M	T	6B&+-DF3K4F72q>37MQ5K$.L(//:J <8JKGr!   rc   c                   T   e Zd ZdZdZ eedd      Z e ed       e	d      d      Z
 eed      Z eed      Z e ed	d
      d      Z e ed	d
      d      Z eeej$                        Z ee e	d      d      Z ee e	d      d      Z ed      Z edd      Zy)rf   uq   
    Lote de estoque. Usado para FIFO e cálculo exato de margem.
    Cada entrada de estoque gera um Batch.
    stock_batchesTr&   r)   rX   Fr*   rG   rH   rI   r0   rW   zinbound_shipments.idrY   rc   rl   r6   N)r   r   r   rh   r8   r   r   r9   r   r   r[   initial_quantityremaining_quantityr
   unit_product_costunit_freight_costr   r   r@   
entry_datepurchase_order_idinbound_shipment_idr   ra   rg   r    r!   r"   rf   rf   _   s     $M	T	6B6#;
8 4uEEg6%8wr1~>wr1~s;(//:J w
3G(HSWX *5K*LW[\ 
(	)B#$5iPr!   rf   )
sqlalchemyr   r   r   r   r   r   r	   r
   r   sqlalchemy.ormr   r   app.core.databaser   enumstrr   r$   r4   rJ   rc   rf   r    r!   r"   <module>r{      sp    ` ` ` '  " S$)) Ft F$dD d,* *(Ld L(Q Qr!   