+
    i?                         R t ^ RIHtHtHtHtHtHtHtH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIt ! R R]]P                  4      t ! R R	]4      t ! R
 R]4      tR# )u:   
Modèle SQLAlchemy pour les articles de la bibliothèque
)ColumnIntegerStringFloatDateTime
ForeignKeyEnumText)relationship)datetime)BaseNc                   *    ] tR t^tRtRtRtRtRtRt	R# )StatutArticlezStatuts possibles d'un articleactifstock_faiblearchivenouveau N)
__name__
__module____qualname____firstlineno____doc__ACTIFSTOCK_FAIBLEARCHIVENOUVEAU__static_attributes__r       dC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\app\models\article.pyr   r      s    (E!LGGr   r   c                   t  a  ] tR t^t o RtRt]! ]RRR7      t]! ]	! ^24      RRRR7      t
]! ]	! ^4      RR7      t]! ]]! R4      RR7      t]! ]RR7      t]! ]	! ^4      RR7      t]! ]	! ^d4      RR7      t]! ]^ R	7      t]! ]^ R	7      t]! ]^
R	7      t]! ]! ]4      ]P.                  R	7      t]! ]RR7      t]! ]RR7      t]! ]RR7      t]! ]RR7      t]! ]R
R	7      t]! ]	! ^4      RR7      t]! ]	! ^d4      RR7      t]! ]	! ^24      RR7      t ]! ]	! ^4      RR7      t!]! ]	! ^d4      RR7      t"]! ]	! ^24      RR7      t#]! ]$RR7      t%]! ]&]'PP                  R	7      t)]! ]&]'PP                  ]'PP                  R7      t*]+! RRR7      t,]+! RRR7      t-R t.]/R 4       t0]/R 4       t1]/R 4       t2]/R 4       t3Rt4V t5R# )Articleue   
Article de la bibliothèque Ressources
Peut être du bois, consommable, chimie, acier, béton, etc.
articlesTprimary_keyindexF)uniquenullabler%   r'   zcategories.iddefaultg        )r*   onupdate	Categorieback_populatesMouvementStockarticlec                <    R V P                    RV P                   R2# )z	<Article  - >)codedesignationselfs   &r   __repr__Article.__repr__H   s"    499+S)9)9(:!<<r   c                    V P                   '       dZ   V P                  '       dH   V P                  '       d6   V P                   V P                  ,          V P                  ,          R,          # R# )u3   Calcule le volume en m³ si dimensions renseignéesi@B N)longueur_cm
largeur_cmepaisseur_cmr6   s   &r   	volume_m3Article.volume_m3K   sK     D4E4E4E$$t69J9JJiWWr   c                    V P                   '       d7   V P                  '       d%   V P                   V P                  ,          R,          # R# )u4   Calcule la surface en m² si dimensions renseignéesi'  N)r;   r<   r6   s   &r   
surface_m2Article.surface_m2R   s5     $$t6&@@r   c                @    V P                   pV'       d
   VR,          # R# )u3   Estime le poids en kg (densité béton 2400 kg/m³)i`	  N)r>   )r7   volumes   & r   poids_estime_kgArticle.poids_estime_kgY   s     D= r   c                    V P                   \        P                  8X  d   RRRR/# V P                   \        P                  8X  d   RRRR/# V P                  V P
                  8:  d   RRRR/# RR	RR
/# )u   Détermine le badge à afficherclassbartextu   ⊘ Archivébnwu   □ Nouveaublou   ⚠ Stock faibleboku   ● Stock OK)statutr   r   r   stock_actuelseuil_alerter6   s   &r   badge_statutArticle.badge_statuta   sy     ;;-///UFN;;[[M111UFM::$"3"33UF,>??UFN;;r   r   N)6r   r   r   r   r   __tablename__r   r   idr   r4   r5   r   categorie_idr   prix_achat_htuniteconditionnementrO   stock_initialrP   r   r   r   rN   r;   r<   r=   longueur_unitaire
taux_pertefournisseur_1ref_fournisseur_1delai_livraison_1fournisseur_2ref_fournisseur_2delai_livraison_2r	   descriptionr   r   utcnowdate_creationdate_modificationr
   	categoriemouvements_stockr8   propertyr>   rA   rE   rQ   r   __classdictcell____classdict__s   @r   r!   r!      s     M 
T	6B&*TEFDu5K':o#>OL 540M6":.EVC[48O '1-L7A.M'2.LD'1D1DEF .K-J%$/L ut4s+J 6#;6Mvc{T:vbzD96#;6Mvc{T:vbzD9 -K 8X__=Mx8??[ [DI#$4YO=       	< 	<r   r!   c                   2  a  ] tR t^nt o RtRt]! ]RRR7      t]! ]]	! R4      RR7      t
]! ]RR7      t]! ]! ^24      RR7      t]! ]! ^d4      RR7      t]! ]RR7      t]! ]]P&                  R7      t]! ]RR7      t]! ]RR7      t]! R	RR
7      tR tRtV tR# )r/   uJ   
Historique des mouvements de stock
Permet de tracer les entrées/sorties
rg   Tr#   zarticles.idFr(   r)   r!   r-   c                j    R V P                    RV P                   RV P                  P                   R2# )z<Mouvement  r2   r3   )type_mouvementquantiter0   r4   r6   s   &r   r8   MouvementStock.__repr__   s4    T0014==/T\\EVEVDWWXYYr   r   N)r   r   r   r   r   rS   r   r   rT   r   
article_idrp   r   ro   	referencer	   commentairer   r   rc   date_mouvement	projet_id	niveau_idr
   r0   r8   r   ri   rj   s   @r   r/   r/   n   s      'M	T	6BM!:UKJg.HF2J7Nvc{T2I-KHhoo>Nw.Iw.I 95GHGZ Zr   r/   )r   
sqlalchemyr   r   r   r   r   r   r   r	   sqlalchemy.ormr
   r   app.databaser   enumstrr   r!   r/   r   r   r   <module>r}      sQ    X W W '   C X<d X<vZT Zr   