Commit 23b19465 authored by Georgios Dagkakis's avatar Georgios Dagkakis

batches utilization of stations to count the reassembly blocakge

parent 458622cc
from dream.plugins import plugin from dream.plugins import plugin
from copy import copy
class BatchesStationUtilization(plugin.OutputPreparationPlugin): class BatchesStationUtilization(plugin.OutputPreparationPlugin):
""" Output the station utilization metrics in a format compatible with """ Output the station utilization metrics in a format compatible with
...@@ -58,16 +59,32 @@ class BatchesStationUtilization(plugin.OutputPreparationPlugin): ...@@ -58,16 +59,32 @@ class BatchesStationUtilization(plugin.OutputPreparationPlugin):
i = 0 i = 0
for obj in result['elementList']: for obj in result['elementList']:
if obj.get('_class').startswith('Dream.BatchScrapMachine') or obj.get('_class')=='Dream.M3': if obj.get('_class').startswith('Dream.BatchScrapMachine') or obj.get('_class')=='Dream.M3':
if obj['results']['working_ratio']: nextId=self.getSuccessors(data, obj['id'])[0]
working_data.append((i, obj['results']['working_ratio'][0])) nextClass=data['graph']['node'][nextId]['_class']
if obj['results']['waiting_ratio']: objResults=copy(obj['results'])
waiting_data.append((i, obj['results']['waiting_ratio'][0]))
if obj['results']['failure_ratio']: # if a station is before batch-reassembly then the blockage of reassembly is added to the station
failure_data.append((i, obj['results']['failure_ratio'][0])) # and reducted from its waiting
if obj['results']['blockage_ratio']: nextResults={}
blockage_data.append((i, obj['results']['blockage_ratio'][0])) if nextClass.startswith('Dream.BatchReassembly'):
if obj['results']['off_shift_ratio']: for nextObj in result['elementList']:
off_shift_data.append((i, obj['results']['off_shift_ratio'][0])) if nextObj['id']==nextId:
nextResults=nextObj["results"]
if nextResults:
nextBlockage=nextResults['blockage_ratio'][0]
objResults['blockage_ratio'][0]=nextBlockage
objResults['waiting_ratio'][0]-=nextBlockage
if objResults['working_ratio']:
working_data.append((i, objResults['working_ratio'][0]))
if objResults['waiting_ratio']:
waiting_data.append((i, objResults['waiting_ratio'][0]))
if objResults['failure_ratio']:
failure_data.append((i, objResults['failure_ratio'][0]))
if objResults['blockage_ratio']:
blockage_data.append((i, objResults['blockage_ratio'][0]))
if objResults['off_shift_ratio']:
off_shift_data.append((i, objResults['off_shift_ratio'][0]))
ticks.append((i, obj.get('name', obj['id']))) ticks.append((i, obj.get('name', obj['id'])))
i += 1 i += 1
......
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