Module: Tracking::RegistroTrabajo

Defined in:
lib/tracking/registro_trabajo.rb

Instance Method Summary collapse

Instance Method Details

#actualizar_terminados(cant_trabajada, opts = {}) ⇒ Object



53
54
55
56
57
# File 'lib/tracking/registro_trabajo.rb', line 53

def actualizar_terminados(cant_trabajada, opts = {})
  usuario_id = opts.fetch(:usuario_id, nil)
  self.trabajos.build(type: "Terminado", cantidad: cant_trabajada, hora_fecha: Time.now, user_id: usuario_id).save!
  self.update_attribute :terminado, self.terminado + cant_trabajada
end

#disponibles_anteriorObject



41
42
43
# File 'lib/tracking/registro_trabajo.rb', line 41

def disponibles_anterior
  self.prev.min_by(&:terminado_listo).try(:terminado_listo)
end

#registrar_trabajo(cant_trabajada, opts = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/tracking/registro_trabajo.rb', line 6

def registrar_trabajo(cant_trabajada, opts = {})

  cant_trabajada = cant_trabajada.to_i

  proximo = self.next

  if validaciones_actualizar_terminados(cant_trabajada)
    actualizar_terminados(cant_trabajada, opts)

    proximo.registrar_trabajo(cant_trabajada, opts) if proximo.try(:modo) == "auto" # si proximo no es nil (si self == PrdDevTrack, proximo es nil )
  end

  # REFACTORIZAR: ESTO MEPA QUE NO SE USA MAS, ERA DE LA PREFACTURACION
  # post_proceso(cant_trabajada)

end

#terminado_listoObject

terminado listo es lo que está terminado y en existencia física



46
47
48
# File 'lib/tracking/registro_trabajo.rb', line 46

def terminado_listo
  terminado - retrabajo
end

#validaciones_actualizar_terminados(cant_trabajada) ⇒ Object



24
25
26
# File 'lib/tracking/registro_trabajo.rb', line 24

def validaciones_actualizar_terminados(cant_trabajada)
  validar_disponible_anterior(cant_trabajada) && validar_limite_total_pedido(cant_trabajada)
end

#validar_disponible_anterior(cant) ⇒ Object

la cantidad trabajada tiene que ser menor o igual a lo que haya di



29
30
31
32
# File 'lib/tracking/registro_trabajo.rb', line 29

def validar_disponible_anterior(cant)
  disponibles = self.disponibles_anterior || 9999
  (cant.to_i <= disponibles)
end

#validar_limite_total_pedido(cant) ⇒ Object

la cantidad trabajada más lo que ya hay terminado y listo no puede superar al total de paños pedidos



35
36
37
# File 'lib/tracking/registro_trabajo.rb', line 35

def validar_limite_total_pedido(cant)
  (self.total_pedido >= cant.to_i + self.terminado_listo)
end