-
Notifications
You must be signed in to change notification settings - Fork 0
/
Clases_Principales.py
58 lines (50 loc) · 2.27 KB
/
Clases_Principales.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#Clase Nodo para utilizar la herencia y asi no repetir el codigo de siguiente
# y anterior en cada clase que haga despues.
class NodoLista():
def __init__(self):
self.siguiente = None
self.anterior = None
class LineasProduccion(NodoLista):
def __init__(self, num_Id, cant_Componentes, tmp_Ensamblaje):
self.num_Id = num_Id
self.cant_Componentes = cant_Componentes
self.tmp_Ensamblaje = tmp_Ensamblaje
self.contadorComponente = 0
self.cont_tmp_Ensamblaje = 1
super().__init__()
#Procedimiento o Elaboraciones que se hacen para fabricar el producto
class Elaboracion(NodoLista):
def __init__(self, linea, componente):
self.linea = linea
self.componente = componente
self.estado = False #su estado inicial es false puesto que no se han cumplido
self.ensamblando = False #estado para ver si la elaboracion le toca ensamblar
super().__init__()
class Producto(NodoLista):
def __init__(self, nombre, listaElaboracion):
self.nombre = nombre
#Este atributo es una lista de la clase Elaboracion
self.listaElaboracion = listaElaboracion #lista de Elaboracion(NodoLista)
self.listaAccionesProducto = None
super().__init__()
class ProductoSimulacion(NodoLista):
def __init__(self, nombre, listaElaboracion, listaAccionesProducto):
self.nombre = nombre
#Este atributo es una lista de la clase Elaboracion
self.listaElaboracion = listaElaboracion #lista de Elaboracion(NodoLista)
self.listaAccionesProducto = listaAccionesProducto
super().__init__()
class Accion(NodoLista):
#Atributos: Linea de movimiento, movimiento de accion(componente, ensamblar o no hacer nada), tiempo en que sucede la accion
def __init__(self, linea, mov, tmp_Accion):
self.linea = linea
self.mov = mov
self.tmp_Accion = tmp_Accion
super().__init__()
def __str__(self):
return f"(linea = {str(self.linea)} ,mov = {str(self.mov)}, tmp_Accion = {str(self.tmp_Accion)})"
class Simulacion(NodoLista):
def __init__(self, nombreSimulacion = None, listaProductos = None):
self.nombreSimulacion = nombreSimulacion
self.listaProductos = listaProductos
super().__init__()