spf_tracking 0.0.17 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZGYwNDBhZGM1ZDYwYWZmNzUwMmYxMTVjZTcwODZhNjg3ZjQ5NTQzMQ==
4
+ NDA3MmVhNDc4NjM0YTYyNmNkOWYyODllMjhiOTNjOTc2MTYwOTJmZg==
5
5
  data.tar.gz: !binary |-
6
- YTE1ZTQxZjkwZmY4ODdiMTdhMzViZDA1Mjk4N2U2ODBmMzBkMWMxZg==
6
+ MTQ1YjE3YmZiYzRhNWM2MThlNjliMmUzMWIzYmZkZjk3NzEyYzk0ZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YzNjNmI2OGExY2RlNmZmZjYzMGRjMzE4OTAzMmUzYzE5NDBhNDUxNTMyN2Yw
10
- OTBmMzYyMjVkYmU3ZDI0YjY4MTRlZGVmYTY1YmU4MDIxMzVkN2I0MTYxODkx
11
- OGZiMjVkZWVjMmNkMjkzN2VjMjJjMmYyZGY5YzdiNjMyNzY2NTc=
9
+ ZmQ2YzcxZDA5OWZjYzljYzU1YTExZGNhYzJhZmM3OGY2YmE3ZTY0ZTU0Y2Jh
10
+ Zjc4Y2E0M2IyNjM1MmYwOWQyOWVlYTI5NjQ0YWM5Y2NkMDhkOTVhYWU1MzJj
11
+ M2FmMDY0ZGQxNzU5MmFkYzkzMWRmNGQzOTc0ZmZmNGRlNzQxZTE=
12
12
  data.tar.gz: !binary |-
13
- Y2NjNDkwZDMzMTEzYzBlMGI1MzVmNDllY2E1Y2Y5N2M2NDU0ZTMyMmExNDU0
14
- NGIyOWQ3ZTY0OTNjNjRjMzViOWQyYWUxZjc3OWRkZTBkNTA0NjliZTI4NmU5
15
- MjMzY2FlZWZiN2QzMDljZDI5M2NmYzkyZmEyYzAxNTVhMmJiZGM=
13
+ OGE4NDNjOTM4YzU3Yjk3MzljM2QxYWMxMDliNWU2Yjc2YTg0NTIxNGU0NDE2
14
+ YmI4OTc5Njg4NzcwNTFhMjA4MjE5Y2U0NjYxNzBiYzM5Y2E3Nzk3NDA0Y2Q2
15
+ MzZiZThmMDQxN2NhNmFiMzU1NjJkYTMxODU3ZmRiOGY1NzExMmI=
@@ -1,3 +1,3 @@
1
1
  module SpfTracking
2
- VERSION = "0.0.17"
2
+ VERSION = "0.0.18"
3
3
  end
@@ -0,0 +1,70 @@
1
+ # encoding: utf-8
2
+
3
+ # se le pasa una medida y un elemento
4
+
5
+ # ente otras cosas sabe calcular la cantidad de disponibles que hay en cada
6
+ # puesto, no solo de pustos referidos a ese elemento, sino también a su
7
+ # componente y a su composición
8
+
9
+ # EJEMPLO
10
+
11
+ # si se le pasa IM1 y E1, no solamente busca en Trazabilidad las filas con esos
12
+ # parametros, sino también los que tienen componente E1.componente y
13
+ # composición E1.componente.composicion
14
+
15
+
16
+ class Tracking::TrazabilidadElemento
17
+
18
+ def initialize(item_medida, elemento, puesto_control)
19
+ @puesto_control = puesto_control
20
+ @elemento = elemento
21
+ @componente = elemento.componente
22
+ @composicion = @componente.composicion
23
+ @trazabilidads = []
24
+ @trazabilidads += Trazabilidad.where(linea_item: item_medida, elemento: elemento)
25
+ @trazabilidads += Trazabilidad.where(linea_item: item_medida, componente: @componente)
26
+ @trazabilidads += Trazabilidad.where(linea_item: item_medida, composicion: @composicion, componente_id: nil, elemento_id: nil)
27
+ @trazabilidads = @trazabilidads.flatten.compact.uniq
28
+ end
29
+
30
+ def cantidad_terminados_listos
31
+ @trazabilidads.each do |t|
32
+ if t.puesto_control == @puesto_control
33
+ listo = t.terminado_listo
34
+ listo_siguiente = t.next.terminado_listo
35
+
36
+ return listo - listo_siguiente
37
+ end
38
+ end
39
+ raise "Error al calcular los terminados listos para Medida: #{@item_medida.ancho}x#{@item_medida.alto} ; Puesto: #{@puesto_control.nombre} ; Elemento: #{@elemento.descripcion} Id: #{@elemento.id}"
40
+ end
41
+
42
+ # Ejemplo: Float 6 Pulido Templado + cam + lam3+3
43
+ # Hoy 1/12/15 el Corte, Taller, Temp no están implementados
44
+ # Entonces
45
+ # Este método va a devovler la cantidad disponible no sólo para DVH
46
+ # Sino también para Corte, Taller, Etc
47
+ # Se usaba en el lector de roturas, selección de Puesto
48
+ def cantidad_terminados_listos_ultimo_auto
49
+ @trazabilidads.each do |t|
50
+ if t.puesto_control == @puesto_control
51
+ listo = t.terminado_listo
52
+ listo_siguiente = t.next.terminado_listo
53
+
54
+ return 1 #listo - listo_siguiente
55
+ end
56
+ end
57
+ raise "Error al calcular los terminados listos para Medida: #{@item_medida.ancho}x#{@item_medida.alto} ; Puesto: #{@puesto_control.nombre} ; Elemento: #{@elemento.descripcion} Id: #{@elemento.id}"
58
+ end
59
+
60
+ def ya_fue_laminado?
61
+ lista = @elemento.lista_de_puestos_del_elemento_completa
62
+
63
+ index_laminado = lista.index(PuestoControl.laminado) || (return false)
64
+ index_actual = lista.index(@puesto_control)
65
+
66
+ index_actual > index_laminado ? true : false
67
+ end
68
+
69
+ end
70
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spf_tracking
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.17
4
+ version: 0.0.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Ramseyer
@@ -53,6 +53,7 @@ files:
53
53
  - lib/tracking/carga_rotura.rb
54
54
  - lib/tracking/registro_trabajo.rb
55
55
  - lib/tracking/routes.rb
56
+ - lib/tracking/trazabilidad_elemento.rb
56
57
  - lib/util_trazabilidad.rb
57
58
  - test/dummy/README.rdoc
58
59
  - test/dummy/Rakefile