private void CreateTaskItem(FCreateTaskItem task) { var taskItem = new TaskItem { SimulationConfigurationId = Collector.simulationId.Value, SimulationNumber = Collector.simulationNumber.Value, SimulationType = Collector.simulationKind.Value, Type = task.Type, Resource = task.Resource, ResourceType = _resources.Single(x => x.Key.Equals(task.ResourceId)).Value.ResourceType, Start = task.Start, End = task.End, CapabilityName = task.Capability, Operation = task.Operation, GroupId = task.GroupId }; if (_taskItems.TryGetValue(task.Type, out var list)) { list.Add(taskItem); } else { _taskItems.Add(taskItem.Type, new List <ISimulationTask> { taskItem }); } Collector.messageHub.SendToClient(listener: "ganttChart", msg: JsonConvert.SerializeObject(value: taskItem)); }
void CreateSetupTask(long gap, string type) { var pub = new FCreateTaskItem( type , resource: Agent.Name.Replace("Resource(", "").Replace(")", "") , start: Agent.CurrentTime , end: Agent.CurrentTime + gap , capability: _capabilityProviderManager.GetCurrentUsedCapability().Name , operation: $"{type} for {_jobInProgress.JobName}" , groupId: _jobInProgress.JobName); //TODO NO tracking Agent.Context.System.EventStream.Publish(@event: pub); }
void CreateProcessingTask(FOperation item) { var pub = new FCreateTaskItem( type: JobType.OPERATION , resource: Agent.Name.Replace("Resource(", "").Replace(")", "") , start: Agent.CurrentTime , end: Agent.CurrentTime + item.Operation.RandomizedDuration , capability: _jobInProgress.RequiredCapabilityName , operation: item.Operation.Name , groupId: _jobInProgress.JobName); //TODO NO tracking Agent.Context.System.EventStream.Publish(@event: pub); }
void CreateTask(FCentralActivity activity) { var pub = new FCreateTaskItem( type: activity.ActivityType , resource: _resourceDefinition.ResourceName , resourceId: _resourceDefinition.ResourceId , start: Agent.CurrentTime , end: Agent.CurrentTime + activity.Duration , capability: activity.Capability , operation: activity.ActivityType == JobType.SETUP ? "Setup for " + activity.Name : activity.Name , groupId: activity.ProductionOrderId + activity.OperationId + activity.ActivityId + activity.GanttPlanningInterval); //TODO NO tracking Agent.Context.System.EventStream.Publish(@event: pub); }