Commit f52fa83f authored by Georgios Dagkakis's avatar Georgios Dagkakis

Jobs definition in the new way. 3 tests fail

parent 37a13947
......@@ -34,7 +34,7 @@ from Entity import Entity
class CapacityEntity(Entity):
type="CapacityEntity"
def __init__(self, id=None, name=None, capacityProjectId=None, requiredCapacity=10, priority=0, dueDate=None, orderDate=None, isCritical=False):
def __init__(self, id=None, name=None, capacityProjectId=None, requiredCapacity=10, priority=0, dueDate=0, orderDate=0, isCritical=False):
Entity.__init__(self, id, name, priority, dueDate, orderDate, isCritical)
self.capacityProjectId=capacityProjectId # the project id hat the capacity Entity is part of
self.capacityProject=None # the project that the capacity Entity is part of. It is defined in initialize
......
......@@ -34,7 +34,7 @@ import simpy
class Entity(object):
type="Entity"
def __init__(self, id=None, name=None, priority=0, dueDate=None, orderDate=None,
def __init__(self, id=None, name=None, priority=0, dueDate=0, orderDate=0,
isCritical=False, remainingProcessingTime=0):
self.name=name
self.id=id
......@@ -48,16 +48,21 @@ class Entity(object):
self.height=1.0
self.length=1.0
# information concerning the sorting of the entities inside (for example) queues
self.priority=priority
self.dueDate=dueDate
self.orderDate=orderDate
self.priority=float(priority)
self.dueDate=float(dueDate)
self.orderDate=float(orderDate)
# a list that holds information about the schedule
# of the entity (when it enters and exits every station)
self.schedule=[]
self.currentStation=None
# values to be used in the internal processing of compoundObjects
self.internal = False # informs if the entity is being processed internally
self.isCritical=isCritical # flag to inform weather the entity is critical -> preemption
if isinstance(isCritical, unicode):
self.isCritical=bool(int(isCritical))
elif isinstance(isCritical, int):
self.isCritical=bool(isCritical) # flag to inform weather the entity is critical -> preemption
else:
self.isCritical=isCritical
self.manager=None # default value
self.numberOfUnits=1 # default value
# variable used to differentiate entities with and entities without routes
......@@ -70,6 +75,7 @@ class Entity(object):
# alias used for printing the Route
self.alias=None
self.remainingProcessingTime=remainingProcessingTime
print self.id
# =======================================================================
# outputs results to JSON File
......
......@@ -72,11 +72,8 @@
"wip": [
{
"_class": "Dream.Job",
"due_date": "2013-12-15",
"id": "J1",
"material": "Plastic",
"name": "Order 1 from X",
"order_date": "2013-11-20",
"priority": "2",
"route": [
{
......@@ -114,6 +111,11 @@
"stationIdsList": [
"M3"
]
},
{
"stationIdsList": [
"E1"
]
}
]
}
......@@ -127,11 +129,8 @@
"wip": [
{
"_class": "Dream.Job",
"due_date": "2013-11-30",
"id": "J2",
"material": "Aluminium",
"name": "Order 2 from Y",
"order_date": "2013-11-14",
"priority": "1",
"route": [
{
......@@ -169,6 +168,11 @@
"stationIdsList": [
"M1"
]
},
{
"stationIdsList": [
"E1"
]
}
]
}
......@@ -182,11 +186,8 @@
"wip": [
{
"_class": "Dream.Job",
"due_date": "2014-02-01",
"id": "J3",
"material": "Plastic",
"name": "Order 3 from Z",
"order_date": "2013-11-03",
"priority": "3",
"route": [
{
......@@ -224,6 +225,11 @@
"stationIdsList": [
"M1"
]
},
{
"stationIdsList": [
"E1"
]
}
]
}
......
......@@ -85,6 +85,11 @@
"stationIdsList": [
"M2"
]
},
{
"stationIdsList": [
"E1"
]
}
]
}
......@@ -120,6 +125,11 @@
"stationIdsList": [
"M2"
]
},
{
"stationIdsList": [
"E1"
]
}
]
}
......
......@@ -85,6 +85,11 @@
"stationIdsList": [
"M2"
]
},
{
"stationIdsList": [
"E1"
]
}
]
}
......@@ -120,6 +125,11 @@
"stationIdsList": [
"M2"
]
},
{
"stationIdsList": [
"E1"
]
}
]
}
......
......@@ -6,7 +6,7 @@
"confidenceLevel": "0.95",
"maxSimTime": "-1",
"numberOfReplications": "1",
"trace": "No"
"trace": "Yes"
},
"nodes": {
"AB1": {
......
......@@ -137,6 +137,11 @@
"stationIdsList": [
"M2"
]
},
{
"stationIdsList": [
"E1"
]
}
]
}
......@@ -197,6 +202,11 @@
"stationIdsList": [
"M4"
]
},
{
"stationIdsList": [
"E1"
]
}
]
}
......
......@@ -136,6 +136,11 @@
"stationIdsList": [
"EDM"
]
},
{
"stationIdsList": [
"E1"
]
}
]
},
......@@ -181,6 +186,11 @@
"stationIdsList": [
"EDM"
]
},
{
"stationIdsList": [
"E1"
]
}
]
},
......@@ -226,6 +236,11 @@
"stationIdsList": [
"EDM"
]
},
{
"stationIdsList": [
"E1"
]
}
]
},
......@@ -271,6 +286,11 @@
"stationIdsList": [
"EDM"
]
},
{
"stationIdsList": [
"E1"
]
}
]
},
......@@ -297,6 +317,11 @@
"stationIdsList": [
"M1"
]
},
{
"stationIdsList": [
"E1"
]
}
]
}
......
......@@ -96,6 +96,11 @@
"M2"
],
"stepNumber": "3"
},
{
"stationIdsList": [
"E1"
]
}
]
}
......@@ -133,6 +138,11 @@
"M2"
],
"stepNumber": "1"
},
{
"stationIdsList": [
"E1"
]
}
]
}
......
......@@ -36,23 +36,20 @@ class Job(Entity): # inherits from the Entity c
type='Job'
family='Job'
def __init__(self, id=None, name=None, route=[], priority=0, dueDate=None, orderDate=None, extraPropertyDict=None,isCritical=False):
def __init__(self, id=None, name=None, route=[], priority=0, dueDate=0, orderDate=0, extraPropertyDict=None,isCritical=False):
Entity.__init__(self, id=id,name=name, priority=priority, dueDate=dueDate, orderDate=orderDate, isCritical=isCritical)
# instance specific attributes
# information on the routing and the stops of the entity
self.route=route # the route that the job follows,
self.route=route # the route that the job follows,
# also contains the processing times in each station
self.remainingRoute=list(route) # the remaining route. in the beginning
self.remainingRoute=list(route) # the remaining route. in the beginning
# this should be the same as the full route
# the scheduling of the entity as resolved by the simulation
# self.schedule=[] # keeps the result of the simulation.
# # A list with the stations and time of entrance
self.extraPropertyDict = extraPropertyDict
# variable used to differentiate entities with and entities without routes
self.family='Job'
# used by printRoute
self.alias='J'+str(len(G.JobList))
# =======================================================================
# outputs results to JSON File
# =======================================================================
......
This diff is collapsed.
......@@ -62,3 +62,5 @@ class Order(Job):
# used by printRoute
self.alias='O'+str(len(G.OrderList))
def createRoute(self, route):
return route
\ No newline at end of file
......@@ -37,8 +37,8 @@ class OrderComponent(Job): # inherits from the
def __init__(self, id=None, name=None,
route=[],
priority=0,
dueDate=None,
orderDate=None,
dueDate=0,
orderDate=0,
extraPropertyDict=None,
componentType='Basic',
order=None,
......@@ -66,4 +66,3 @@ class OrderComponent(Job): # inherits from the
# used by printRoute
if self.order:
self.alias=self.order.alias+'C'+str(len(G.OrderComponentList))
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment