spf_tracking 0.0.13 → 0.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/ruta_seguimiento.rb +233 -0
- data/lib/spf_tracking/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZWNmODZiY2U3MzhiN2ExNzM0MjliYWIwOThjMmU5ODNjZWQ0ZWVlZQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZTgxYzc0OWVkMWI5YjAwMDY0NGI0MmYxYWJkMWM1MGQ3Y2E1MjIxNw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MTNlM2I2ZDFlMWExYjIzNWEzZDQ0NjUxODBiNDdkNGU5MGY2ZjZjYmQ3Nzli
|
10
|
+
OTM4NmM2NmRmMjQ3YjA3Y2VmOGY3ZGIxNzE0MDk5MGVlZGU2MmJlMWU3M2I3
|
11
|
+
NTg1MWVhMDU1YWI2ZmE0ZGYzYTFiOWM3YmU2M2I1NGM4YmIyNjI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MWJlMzQ4NDlhYTM3MDQyYjhlY2Y1MmQ2NDljYzBhNDhkYjEzOTlkNmZjZGYw
|
14
|
+
MTRjMjlkYjc0NzkwNThkOGEzMDc0N2M5ZWVjMTVmNzNiZTcwOWE5ZTU4YTQ1
|
15
|
+
Y2YyZjczYjEwMWFjZjg1YzllNmU0OWJkMjQxMjhkZWQ3OThmOTU=
|
@@ -0,0 +1,233 @@
|
|
1
|
+
module RutaSeguimiento
|
2
|
+
module RutaSeguimientoPedido
|
3
|
+
def lista_de_puestos_de_pedido
|
4
|
+
self.items.map(&:composicion).map(&:get_elementos_trackeables).flatten.map(&:lista_de_puestos_del_elemento).flatten.uniq
|
5
|
+
end
|
6
|
+
|
7
|
+
# mas general incluye adjuntos y taller(agujeros), administracion, etc
|
8
|
+
def lista_de_puestos_de_pedido_mas_general
|
9
|
+
lista = lista_de_puestos_de_pedido
|
10
|
+
lista << PuestoControl.adjunto if self.tiene_adjuntos?
|
11
|
+
lista << PuestoControl.expedicion
|
12
|
+
lista << PuestoControl.corte
|
13
|
+
lista << PuestoControl.glassware_produccion
|
14
|
+
lista << PuestoControl.glassware_administracion
|
15
|
+
|
16
|
+
lista << PuestoControl.taller if (!lista.include?(PuestoControl.taller) && self.tiene_agujeros_o_entrantes?)
|
17
|
+
|
18
|
+
lista.flatten
|
19
|
+
end
|
20
|
+
|
21
|
+
# completa desde inicio hasta entrega, sin adjunto, glassware admin, etc
|
22
|
+
def lista_de_puestos_de_pedido_completa
|
23
|
+
(self.items.map(&:composicion).map(&:get_elementos_trackeables).flatten.map(&:lista_de_puestos_del_elemento_completa) + self.items.map(&:item_complementos).flatten.map(&:lista_de_puestos_del_complemento_completa)).flatten.uniq
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
module RutaSeguimientoComposicion
|
28
|
+
|
29
|
+
# DVH EXP
|
30
|
+
def lista_de_racks
|
31
|
+
lista = []
|
32
|
+
lista << PuestoControl.dvh if multicomponente?
|
33
|
+
lista << procesos_de_procesos.map(&:puesto_control)
|
34
|
+
lista.flatten.uniq
|
35
|
+
end
|
36
|
+
|
37
|
+
def lista_de_puestos_de_composicion
|
38
|
+
get_elementos_trackeables.map(&:lista_de_puestos_del_elemento).flatten.uniq
|
39
|
+
end
|
40
|
+
|
41
|
+
def lista_de_puestos_de_composicion_completa
|
42
|
+
lista = []
|
43
|
+
lista = agregar_puestos_pre_composicion(lista)
|
44
|
+
lista << lista_de_puestos_de_composicion
|
45
|
+
lista = agregar_puestos_post_composicion(lista)
|
46
|
+
lista.flatten.uniq
|
47
|
+
end
|
48
|
+
|
49
|
+
def lista_de_puestos_de_composicion_track_tercer_nivel
|
50
|
+
lista = []
|
51
|
+
lista << PuestoControl.dvh if self.multicomponente?
|
52
|
+
lista << procesos_de_procesos.map(&:puesto_control)
|
53
|
+
lista = self.agregar_puestos_post_composicion(lista)
|
54
|
+
lista.flatten.uniq
|
55
|
+
end
|
56
|
+
|
57
|
+
# ver de refactorizar, este metodo se usa en un showlogic
|
58
|
+
def composicion_pasa_por?(puesto_control)
|
59
|
+
lista_de_puestos_de_composicion_track_tercer_nivel.include?(puesto_control)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
module RutaSeguimientoComponente
|
64
|
+
# LAM TLL DVH
|
65
|
+
def lista_de_racks
|
66
|
+
lista = []
|
67
|
+
if !cantidad_de_pvb.zero?
|
68
|
+
lista << PuestoControl.prelaminado
|
69
|
+
lista << PuestoControl.laminado
|
70
|
+
end
|
71
|
+
lista << procesos_de_procesos.map(&:puesto_control)
|
72
|
+
lista << PuestoControl.dvh if composicion.multicomponente?
|
73
|
+
lista << composicion.procesos_de_procesos.map(&:puesto_control)
|
74
|
+
lista.flatten.uniq
|
75
|
+
end
|
76
|
+
|
77
|
+
def lista_de_puestos_del_componente_track_segundo_nivel
|
78
|
+
# devuelve como mucho [LAM, TLL]
|
79
|
+
lista = []
|
80
|
+
if !cantidad_de_pvb.zero?
|
81
|
+
lista << PuestoControl.prelaminado
|
82
|
+
lista << PuestoControl.laminado
|
83
|
+
end
|
84
|
+
lista << procesos_de_procesos.map(&:puesto_control)
|
85
|
+
return lista.flatten.uniq
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
module RutaSeguimientoElemento
|
90
|
+
# TLL TMP CUR LAM DVH
|
91
|
+
def lista_de_racks
|
92
|
+
lista = []
|
93
|
+
lista << procesos_de_procesos.map(&:puesto_control)
|
94
|
+
if !componente.cantidad_de_pvb.zero?
|
95
|
+
lista << PuestoControl.prelaminado
|
96
|
+
lista << PuestoControl.laminado
|
97
|
+
end
|
98
|
+
lista << componente.procesos_de_procesos.map(&:puesto_control)
|
99
|
+
lista << PuestoControl.dvh if componente.composicion.multicomponente?
|
100
|
+
lista << componente.composicion.procesos_de_procesos.map(&:puesto_control)
|
101
|
+
lista.flatten.uniq
|
102
|
+
end
|
103
|
+
|
104
|
+
def lista_de_puestos_del_elemento # excel ????????
|
105
|
+
|
106
|
+
composicion = componente.composicion
|
107
|
+
|
108
|
+
lista = []
|
109
|
+
# procesos de elementos
|
110
|
+
lista << procesos_de_procesos.map(&:puesto_control)
|
111
|
+
# pvb; laminados
|
112
|
+
if !componente.cantidad_de_pvb.zero?
|
113
|
+
lista << PuestoControl.prelaminado
|
114
|
+
lista << PuestoControl.laminado
|
115
|
+
end
|
116
|
+
# procesos de componentes
|
117
|
+
lista << componente.procesos_de_procesos.map(&:puesto_control)
|
118
|
+
# dvh
|
119
|
+
lista << PuestoControl.dvh if composicion.multicomponente?
|
120
|
+
# procesos de composicion
|
121
|
+
lista << composicion.procesos_de_procesos.map(&:puesto_control)
|
122
|
+
lista.flatten
|
123
|
+
end
|
124
|
+
|
125
|
+
def lista_de_puestos_del_elemento_completa
|
126
|
+
lista = []
|
127
|
+
agregar_puestos_pre_composicion(lista)
|
128
|
+
lista << lista_de_puestos_del_elemento
|
129
|
+
agregar_puestos_post_composicion(lista)
|
130
|
+
end
|
131
|
+
|
132
|
+
# este incluye LAMINADO (a diferencia de primer nivel)
|
133
|
+
def lista_de_puestos_del_elemento_track
|
134
|
+
composicion = componente.composicion
|
135
|
+
|
136
|
+
lista = []
|
137
|
+
agregar_puestos_pre_composicion(lista)
|
138
|
+
# procesos de elementos
|
139
|
+
lista << procesos_de_procesos.map(&:puesto_control)
|
140
|
+
# pvb; laminados
|
141
|
+
if !componente.cantidad_de_pvb.zero?
|
142
|
+
lista << PuestoControl.prelaminado
|
143
|
+
lista << PuestoControl.laminado
|
144
|
+
end
|
145
|
+
lista.flatten
|
146
|
+
end
|
147
|
+
|
148
|
+
# todos los que tienen elemento_id en tabla trazabilidad [ini... corte, templado] (LAMINADO NO)
|
149
|
+
def lista_de_puestos_del_elemento_track_primer_nivel
|
150
|
+
composicion = componente.composicion
|
151
|
+
|
152
|
+
lista = []
|
153
|
+
agregar_puestos_pre_composicion(lista)
|
154
|
+
# procesos de elementos
|
155
|
+
lista << procesos_de_procesos.map(&:puesto_control)
|
156
|
+
lista.flatten
|
157
|
+
end
|
158
|
+
|
159
|
+
end
|
160
|
+
|
161
|
+
module RutaSeguimientoItemComplemento
|
162
|
+
|
163
|
+
def lista_de_puestos_del_complemento_completa
|
164
|
+
lista = []
|
165
|
+
agregar_puestos_comunes_complemento(lista)
|
166
|
+
lista.flatten
|
167
|
+
end
|
168
|
+
|
169
|
+
end
|
170
|
+
|
171
|
+
module RutaSeguimientoGeneral
|
172
|
+
|
173
|
+
# si puesto_control_actual es corte => devuelve el primer rack
|
174
|
+
# caso contrario devuelve el proximo rack respecto al actual
|
175
|
+
def proximo_rack(puesto_control_actual)
|
176
|
+
|
177
|
+
if puesto_control_actual == PuestoControl.corte
|
178
|
+
if lista_de_racks.empty?
|
179
|
+
return PuestoControl.expedicion
|
180
|
+
else
|
181
|
+
return lista_de_racks[0]
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
|
186
|
+
index_puesto_actual = lista_de_racks.index(puesto_control_actual) || 0
|
187
|
+
|
188
|
+
# si lista[index_puesto_actual + 1] no existe entonces devuelve EXPEDICION
|
189
|
+
|
190
|
+
return PuestoControl.expedicion if lista_de_racks[index_puesto_actual + 1].nil?
|
191
|
+
|
192
|
+
# devuelve el proximo
|
193
|
+
lista_de_racks[index_puesto_actual + 1]
|
194
|
+
end
|
195
|
+
|
196
|
+
def agregar_puestos_post_composicion(lista)
|
197
|
+
# lista << PuestoControl.find_by_nombre("Embalaje")
|
198
|
+
lista << PuestoControl.preparacion
|
199
|
+
lista << PuestoControl.facturacion
|
200
|
+
lista << PuestoControl.expedicion
|
201
|
+
# lista << PuestoControl.find_by_nombre("Salida de camiones")
|
202
|
+
lista << PuestoControl.entregado
|
203
|
+
# lista << PuestoControl.find_by_nombre("Devolucion")
|
204
|
+
lista.flatten
|
205
|
+
end
|
206
|
+
|
207
|
+
def agregar_puestos_pre_composicion(lista)
|
208
|
+
lista << PuestoControl.inicial
|
209
|
+
lista << PuestoControl.compra
|
210
|
+
lista << PuestoControl.stock
|
211
|
+
lista << PuestoControl.sin_programar
|
212
|
+
lista << PuestoControl.borrador
|
213
|
+
lista << PuestoControl.planificado
|
214
|
+
lista << PuestoControl.corte
|
215
|
+
lista.flatten
|
216
|
+
end
|
217
|
+
|
218
|
+
def agregar_puestos_comunes_complemento(lista)
|
219
|
+
lista << PuestoControl.inicial
|
220
|
+
lista << PuestoControl.compra
|
221
|
+
lista << PuestoControl.stock
|
222
|
+
# lista << PuestoControl.find_by_nombre("Embalaje")
|
223
|
+
lista << PuestoControl.preparacion
|
224
|
+
lista << PuestoControl.facturacion
|
225
|
+
lista << PuestoControl.expedicion
|
226
|
+
# lista << PuestoControl.find_by_nombre("Salida de camiones")
|
227
|
+
lista << PuestoControl.entregado
|
228
|
+
# lista << PuestoControl.find_by_nombre("Devolucion")
|
229
|
+
lista.flatten
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
end
|
data/lib/spf_tracking/version.rb
CHANGED
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.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carlos Ramseyer
|
@@ -38,6 +38,7 @@ files:
|
|
38
38
|
- lib/experto_trazabilidad.rb
|
39
39
|
- lib/proxima_trazabilidad_rotura.rb
|
40
40
|
- lib/rotura_anterior.rb
|
41
|
+
- lib/ruta_seguimiento.rb
|
41
42
|
- lib/service_track.rb
|
42
43
|
- lib/service_track/busca_ultimo_puesto_completo.rb
|
43
44
|
- lib/service_track/create_entrega_rapida.rb
|