
    >:h%                        d dl mZ d dlmZ d dlmZ d dlmZ ddlm	Z	m
Z
mZmZmZmZ  ej        e	           G d dej                              Z ej        e
           G d	 d
ej                              Z G d dej                  Z ej        e           G d dej                              Z ej        e           G d dej                              Z ej        e           G d dej                              ZdS )    )admin)format_html)reverse)	mark_safe   )PlantaProduccionMaquinaMaquinaReferenciaMantenimiento
Reparacion
Referenciac                   ^    e Zd ZdZdZdZddgZd Zde_        d Z	d	e	_        d
 Z
de
_        dS )PlantaProduccionAdmin)nombrecontacto_producciontelefono_contactoemail_contactoactivomaquinas_countr   )r   	direccionr   activar_plantasdesactivar_plantasc                 4    |j                                         S N)maquinascountselfobjs     :C:\Users\a_gir\Desktop\Interacto\siip\fabricacion\admin.pyr   z$PlantaProduccionAdmin.maquinas_count   s    |!!###    u   # Máquinasc                 2    |                     d           d S )NTr   updater   requestquerysets      r!   r   z%PlantaProduccionAdmin.activar_plantas       t$$$$$r"   zActivar plantas seleccionadasc                 2    |                     d           d S )NFr   r$   r&   s      r!   r   z(PlantaProduccionAdmin.desactivar_plantas       u%%%%%r"   z Desactivar plantas seleccionadasN)__name__
__module____qualname__list_displaylist_filtersearch_fieldsactionsr   short_descriptionr   r    r"   r!   r   r      st        L KBM "67G$ $ $'4N$% % %(GO%& & &+M(((r"   r   c                       e Zd ZdZdZdZdZdZddgZddd	iffZ	d
 Z
de
_        d Zde_        d Zde_        d Zde_        d Zde_        d Zde_        d Zde_        dS )MaquinaAdmin)r   planta_linkmostrar_tiempo_configuracionmostrar_periodo_mantenimientoactivaproxima_mantenimientoreferencias_count)plantar:   )r   planta__nombre)r=   activar_maquinasdesactivar_maquinasNfields)r=   r   )tiempo_configuracionperiodo_mantenimientor:   c                     	 t          d|j        j        g          }t          d| d|j         d          S # t          $ r Y dS w xY w)Nz)admin:fabricacion_plantaproduccion_changeargs	<a href=""></a>-)r   r=   idr   	Exceptionr   r    urls      r!   r7   zMaquinaAdmin.planta_link@   sf    	ESZ]O\\\C@@@
@@@AAA 	 	 	33	s   69 
AAPlantac                 :    	 |j          dS # t          $ r Y dS w xY w)Nz hrJ   )rB   rL   r   s     r!   r8   z)MaquinaAdmin.mostrar_tiempo_configuracionH   s;    	.2222 	 	 	33	   	 
z#Tiempo para poner operativa (horas)c                 :    	 |j          dS # t          $ r Y dS w xY w)N    díasrJ   )rC   rL   r   s     r!   r9   z*MaquinaAdmin.mostrar_periodo_mantenimientoO   s;    	/7777 	 	 	33	rQ   u%   Período entre mantenimientos (días)c                     	 |j                                         }|dk    rt          d          S |S # t          $ r Y dS w xY w)Nr   z#<span style="color: #bbb;">0</span>rJ   )referencias_maquinar   r   rL   )r   r    r   s      r!   r<   zMaquinaAdmin.referencias_countV   sZ    	+1133Ezz"#HIIIL 	 	 	33	s   -2 2 
A A z# Referenciasc                     	 |j                             d                              d                                          }|rd|j         dS dS # t
          $ r Y dS w xY w)NT)	realizadoz-fecha_realizacionzCada rS   zNunca mantenidarJ   )mantenimientosfilterorder_byfirstrC   rL   )r   r    last_maintenances      r!   r;   z"MaquinaAdmin.proxima_mantenimiento`   s    	"18848HHQQRfggmmoo A@s8@@@@$$ 	 	 	33	s   AA 
AAu   Próxima mantenimientoc                 2    |                     d           d S )NTr:   r$   r&   s      r!   r?   zMaquinaAdmin.activar_maquinasj   r)   r"   u   Activar máquinas seleccionadasc                 2    |                     d           d S )NFr^   r$   r&   s      r!   r@   z MaquinaAdmin.desactivar_maquinasn   r+   r"   u"   Desactivar máquinas seleccionadas)r,   r-   r.   r/   r0   r1   list_select_relatedraw_id_fieldsr2   	fieldsetsr7   r3   r8   r9   r<   r;   r?   r@   r4   r"   r!   r6   r6   #   s       L 'K0M%M!#89G 
 
 		I   %-K!  
 6[ 2  
 7^!3   +:'   /G+% % %)J&& & &,P)))r"   r6   c                   "    e Zd ZeZdZdZdZdZdS )MaquinaReferenciaInliner   )maquinaunidades_por_minutolead_time_totalminimo_unidadesempaquerg   re   ri   N)	r,   r-   r.   r
   modelextrarA   readonly_fieldsautocomplete_fieldsr4   r"   r!   rd   rd   q   s.        EEF +O2r"   rd   c                        e Zd ZdZdZdZdZdZdZdZ	dd	d
iffZ
d Zde_        d Zde_        ddZd fd	Z G d d          Z xZS )MaquinaReferenciaAdmin
referenciark   )rs   maquina_linkrf   rg   rh   produccion_estimada)maquina__plantare   )referencia__skureferencia__descripcionmaquina__nombre)rs   re   rv   ri   rj   NrA   )rr   )re   )rf   rh   )lead_time_generar_ordenlead_time_produccionrj   )ri   unidades_por_empaquec                 f    t          d|j        j        g          }t          d||j                  S )N admin:fabricacion_maquina_changerE   z<a href="{}">{}</a>)r   re   rK   r   rM   s      r!   rt   z#MaquinaReferenciaAdmin.maquina_link   s1    8?OPPP0#s{CCCr"      Máquinac                 4    |                     d          ddS )Ni  z.1fz
 min/1000u)tiempo_estimado_produccionr   s     r!   ru   z*MaquinaReferenciaAdmin.produccion_estimada   s"    0066FFFFFr"   zTiempo 1000uc                     |r|j         st          d          S t          d|j         j         d|j         j         d          S )Nu  
                <div class="form-row"><label>SKU:</label><div id="id_sku_referencia" class="readonly"></div></div>
                <div class="form-row"><label>Descripción:</label><div id="id_descripcion_referencia" class="readonly"></div></div>
            zc
            <div class="form-row"><label>SKU:</label><div id="id_sku_referencia" class="readonly">u   </div></div>
            <div class="form-row"><label>Descripción:</label><div id="id_descripcion_referencia" class="readonly">z</div></div>
        )rs   r   skudescripcion)r   r'   r    s      r!   render_extra_referencia_infoz3MaquinaReferenciaAdmin.render_extra_referencia_info   sv     	#. 	      cfcqcu tw  uC  uO     	r"   F c                     t          d          |d         j        j        d         _        t          d          |d<   t	                                          ||||||          S )Nz&Selecciona una referencia con la lupa.	adminformrs   uK  
            <div id="referencia-info-extra" style="margin-top: 5px;">
                <div><strong>SKU:</strong> <span id="id_sku_referencia" style="color: #555;">-</span></div>
                <div><strong>Descripción:</strong> <span id="id_descripcion_referencia" style="color: #555;">-</span></div>
            </div>
        
extra_info)r   formrA   	help_textsuperrender_change_form)r   r'   contextaddchangeform_urlr    	__class__s          r!   r   z)MaquinaReferenciaAdmin.render_change_form   sb    CLMuCvCv!(6@ ) + ! ! ww))'7CSVWWWr"   c                       e Zd ZdZdS )MaquinaReferenciaAdmin.Media)zjs/maquina_referencia_admin.jsN)r,   r-   r.   jsr4   r"   r!   Mediar      s        0r"   r   r   )FFr   N)r,   r-   r.   ra   ro   r/   r0   r1   r`   rn   rb   rt   r3   ru   r   r   r   __classcell__)r   s   @r!   rq   rq   ~   s       #M0L 1KM
 R*O 
 	
 		ID D D &0L"G G G,:)	 	 	 	X X X X X X1 1 1 1 1 1 1 1 1 1 1 1r"   rq   c                   X    e Zd ZdZdZdZdZdZdddiffZd	 Z	d
e	_
        d Zde_
        dS )MantenimientoAdmin)rt   fecha_programadarW   fecha_realizaciontiempo_mantenimientoconcepto_short)rv   rW   r   ry   conceptore   rv   r   NrA   )re   r   rW   r   r   r   c                 p    t          d|j        j        g          }t          d| d|j         d          S Nr~   rE   rG   rH   rI   r   re   rK   r   rM   s      r!   rt   zMantenimientoAdmin.maquina_link   @    8?OPPP=S==CK===>>>r"   r   c                 d    t          |j                  dk    r|j        d d         dz   n|j        S N2   z...lenr   r   s     r!   r   z!MantenimientoAdmin.concepto_short   3    ,/,=,=,B,Bs|CRC 5((Tr"   Conceptor,   r-   r.   r/   r0   r1   r`   date_hierarchyrb   rt   r3   r   r4   r"   r!   r   r      s        LK
M ;'N 
 
 	
I? ? ? &0L"U U U'1N$$$r"   r   c                   X    e Zd ZdZdZdZdZdZdddiffZd	 Z	d
e	_
        d Zde_
        dS )ReparacionAdmin)rt   fecha_reparaciontiempo_arreglor   )rv   r   r   r   r   NrA   )re   r   r   r   observacionesc                 p    t          d|j        j        g          }t          d| d|j         d          S r   r   rM   s      r!   rt   zReparacionAdmin.maquina_link  r   r"   r   c                 d    t          |j                  dk    r|j        d d         dz   n|j        S r   r   r   s     r!   r   zReparacionAdmin.concepto_short  r   r"   r   r   r4   r"   r!   r   r      s        LKM ;'N 
 
 	
I? ? ? &0L"U U U'1N$$$r"   r   N)django.contribr   django.utils.htmlr   django.urlsr   django.utils.safestringr   modelsr   r	   r
   r   r   r   register
ModelAdminr   r6   TabularInlinerd   rq   r   r   r4   r"   r!   <module>r      s5               ) ) ) ) ) )       - - - - - - h h h h h h h h h h h h h h h h !!N N N N NE, N N "!N4 LQ LQ LQ LQ LQ5# LQ LQ LQZ3 3 3 3 3e1 3 3 3 !""D1 D1 D1 D1 D1U- D1 D1 #"D1N )2 )2 )2 )2 )2) )2 )2 )2V 
&2 &2 &2 &2 &2e& &2 &2 &2 &2 &2r"   