
    >:h                         d dl mZ d dlmZ d dlmZ d dlmZ  G d dej                  Z	 G d dej                  Z
d	S )
    )models)MinValueValidator)Decimal)
Referenciac                       e Zd ZdZdZ ej        eej        ddddgid          Z	 ej
        d	d
d          Z ej        d          Z ej
        dedd          Z ej        d
d          Z ej        d
d          Z ej        d
d
d          Z ej        d
d          Z ej        d
d          Z ej        dej        dd          Z G d  d!          Zd" Z fd#Z xZS )$ListaMaterialesz=
    Lista de Materiales (BOM) para fabricar un producto
    ))DBorrador)AActiva)Hu
   Histórica)IInactivalistas_materialestipo__inPPPTzProducto final)	on_deleterelated_namelimit_choices_toverbose_name   Tu   Código BOM)
max_lengthuniquer   u   Versión)r      r	   Estado)r   choicesdefaultr   u   Fecha creación)auto_now_addr   u   Fecha actualización)auto_nowr   u   Fecha activación)nullblankr   u   Descripción)r"   r   u   Notas técnicasz	auth.Userlistas_creadasz
Creado porr   r   r   c                   "    e Zd ZdZdZdZddgZdS )ListaMateriales.MetaLista de MaterialeszListas de Materiales)
referenciaversionreferencia__skuz-versionN)__name__
__module____qualname__r   verbose_name_pluralunique_togetherordering     CC:\Users\a_gir\Desktop\Interacto\siip\lista_de_materiales\models.pyMetar&   C   s(        ,43%z2r2   r4   c                 @    d| j          d| j         d| j        j         S )NBOM-z vz - )codigor)   r(   skuselfs    r3   __str__zListaMateriales.__str__I   s)    KdkKKT\KKdo6IKKKr2   c                     | j         sd| j        j         d| j         | _          t	                      j        |i | d S )Nr6   -)r7   r(   r8   r)   supersave)r:   argskwargs	__class__s      r3   r?   zListaMateriales.saveL   sM    { 	FE!4EEt|EEDKd%f%%%%%r2   )r+   r,   r-   __doc__ESTADOS_BOMr   
ForeignKeyr   CASCADEr(   	CharFieldr7   PositiveIntegerFieldr)   estadoDateTimeFieldfecha_creacionfecha_actualizacionfecha_activacion	TextFielddescripcionnotasPROTECT
creado_porr4   r;   r?   __classcell__)rB   s   @r3   r   r      s        K #".($tTl3%  J V"  F
 *f)  G V	  F *V)&  N /&.+   ,v+(  
 #&"#  K F&  E #".%!	  J3 3 3 3 3 3 3 3L L L& & & & & & & & &r2   r   c                      e Zd ZdZ ej        eej        dd          Z ej        e	ej
        dd          Z ej        dd ed	          gd
          Z ej        ddd ed          gd          Z ej        dd          Z ej        dd          Z ej        ddd          Z G d d          Zd Zed             ZdS )ComponenteListaMaterialeszA
    Componentes que forman parte de una lista de materiales
    componentesr'   r$   componente_en_listas
Componente      g-C6?zCantidad requerida)
max_digitsdecimal_places
validatorsr         r   z% Desperdicio)r[   r\   r   r]   r   zOrden en ensamble)r   r   TObligatorio   zNotas del componente)r   r"   r   c                   H    e Zd ZdZdZddgZ ej        ddgd          gZdS )	ComponenteListaMateriales.MetazComponente de ListazComponentes de Listalista_materialesordenr(   unique_componente_lista)fieldsnameN)	r+   r,   r-   r   r.   r0   r   UniqueConstraintconstraintsr1   r2   r3   r4   rc   |   sL        ,4&0#F#*L9.  
r2   r4   c                 >    | j          d| j        j         d| j         S )Nz x z para )cantidadr(   r8   rd   r9   s    r3   r;   z!ComponenteListaMateriales.__str__   s(    -VVDO$7VVt?TVVVr2   c                     | j         | j        t          d          S | j         t          d          | j        t          d          z  z   z  S )zCantidad incluyendo desperdicioNz0.01100)rl   desperdicior   r9   s    r3   cantidad_totalz(ComponenteListaMateriales.cantidad_total   sF     = D$4$<5>>!}0@75>>0Q RSSr2   N)r+   r,   r-   rC   r   rE   r   rF   rd   r   rQ   r(   DecimalFieldr   rl   rp   PositiveSmallIntegerFieldre   BooleanFieldobligatoriorG   rP   r4   r;   propertyrq   r1   r2   r3   rU   rU   Q   s         )v(."*	   #".+!	  J #v"%%f--.)	  H &&%%%a(()$  K -F,(  E &&%"  K F+  E	
 	
 	
 	
 	
 	
 	
 	
W W W T T XT T Tr2   rU   N)	django.dbr   django.core.validatorsr   decimalr   referencias.modelsr   Modelr   rU   r1   r2   r3   <module>r|      s          4 4 4 4 4 4       ) ) ) ) ) )H& H& H& H& H&fl H& H& H&T>T >T >T >T >T >T >T >T >T >Tr2   