spf_tracking 0.0.17 → 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
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