# encoding: utf-8 # ESTE OBJETO SIRVE PARA IMPLEMENTAR MOMENTANEAMENTE LA ROTURA POR ETIQUETA # ACTUALMENTE ESTA EL PROBLEMA DE QUE POR LOS PUESTOS QUE PASAN A TERMINADO # EN FORMA AUTOMATICA, POR EJEMPLO UN VIDRIO TEMPLADO DE UN PEDIDO QUE SE # ACTIVA, YA PASA A ESTADO TEMPLADO TERMINADO Y A LA ESPERA DE PREPARACION # AUNQUE EN FABRICA, EN LA REALIDAD, TODAVIA NI SIQUIERA FUE CORTADO # ENTONCES SURGE LA CUESTIÓN DE QUE UN VIDRIO "SE ROMPE EN DOS PUESTOS" # SI EL VIDRIO SE ROMPE EN LA REALIDAD EN TALLER AL MOMENTO DE SER PULIDO # ENTONCES VOY A GUARDAR EN LA TABLA ROTURAVIDRIOS ESE DATO # PERO... PERO # EN EL SISTEMA DE TRAZABILIDAD NO PUEDO HACER QUE EL VIDRIO SE ROMPA AHÍ # PORQUE NO ES CONSISTENTE, YA QUE SUPUESTAMENTE EL VIDRIO YA ESTÁ TALLER # TERMINADO Y TEMPLADO TAMBIÉN TERMINADO -POR LA NATURALEZA DE TERMINARSE # AUTOMÁTICAMENTE LOS PUESTOS QUE NO TIENEN AUN UNA PC EN PLANTA # RESUMIENDO # SI SE ROMPE ALGO EN TALLER, COMO TALLER NO ESTÁ IMPLEMENTADO EN PLANTA, # EL VIDRIO EN LA TEORIA SE HACE ROMPER LUEGO DEL ULTIMO PUESTO COMPLETO class ProximaTrazabilidadRotura def initialize(item_medida, elemento, puesto_control) @item_medida = item_medida @elemento = elemento @puesto_control = puesto_control end # REFACTORIZAR Y AGREGAR QUE TAMBIEN DEVUELVA POR COMPONENTE Y ELEMENTO def get_prd_track prd_track = @puesto_control.get_prd_track.find_by(linea_item: @item_medida, elemento_id: @elemento.id) || @puesto_control.get_prd_track.find_by(linea_item: @item_medida, componente_id: @elemento.componente_id) || @puesto_control.get_prd_track.find_by(linea_item: @item_medida, composicion_id: @elemento.componente.composicion.id) while prd_track.next.trabajos_disponibles == 0 do prd_track = prd_track.next end prd_track end end