diff --git a/Step.Config/Config/serverConfig.xml b/Step.Config/Config/serverConfig.xml index 89178614..cd99f731 100644 --- a/Step.Config/Config/serverConfig.xml +++ b/Step.Config/Config/serverConfig.xml @@ -1,9 +1,9 @@ - DEMO + OSAI true - localhost + 192.168.157.2 8080 Ares 37 OF C:\PartPrg\ diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs index 27139f51..8e34af15 100644 --- a/Step.NC/NcHandler.cs +++ b/Step.NC/NcHandler.cs @@ -383,7 +383,7 @@ namespace Step.NC // Update queue running index after move an item if (itemId < QueueRunningIndexes[processId] && newIndex >= QueueRunningIndexes[processId]) QueueRunningIndexes[processId] -= 1; - if (newIndex < QueueRunningIndexes[processId] && itemId > QueueRunningIndexes[processId]) + if (newIndex <= QueueRunningIndexes[processId] && itemId > QueueRunningIndexes[processId]) QueueRunningIndexes[processId] += 1; queue = new List(); @@ -1263,6 +1263,8 @@ namespace Step.NC { config = new ToolTableConfiguration(); CmsError cmsError = numericalControl.TOOLS_RConfiguration(ref config); + if (cmsError.IsError()) + return cmsError; if (NcConfig.NcVendor != NC_VENDOR.SIEMENS) { diff --git a/Step/Listeners/Database/SignalRDatabaseHandler.cs b/Step/Listeners/Database/SignalRDatabaseHandler.cs index 3af9cec9..286b3e67 100644 --- a/Step/Listeners/Database/SignalRDatabaseHandler.cs +++ b/Step/Listeners/Database/SignalRDatabaseHandler.cs @@ -10,12 +10,15 @@ using Step.Model.DatabaseModels; using Step.Model.DTOModels; using Step.Model.DTOModels.ToolModels; using Step.NC; +using Step.Utils; using TeamDev.SDK.MVVM; namespace Step.Listeners.Database { public static class SignalRDatabaseHandler { + private static List LastPartProgramQueue = new List(); + public static void UpdateToolsData(object newData) { using (NcToolManagerController controller = new NcToolManagerController()) @@ -73,5 +76,29 @@ namespace Step.Listeners.Database } } } + + public static void UpdateQueue(object queue) + { + List newQueue = queue as List; + + if (!LastPartProgramQueue.SequenceEqual(newQueue)) + { + // Copy to static object + LastPartProgramQueue = new List(); + + foreach (var queueItem in newQueue) + { + DTOQueueModel tmp = new DTOQueueModel(); + SupportFunctions.CopyProperties(queueItem, tmp); + LastPartProgramQueue.Add(tmp); + } + + + using (QueueController controller = new QueueController()) + { + controller.UpdateQueue(); + } + } + } } } diff --git a/Step/Listeners/ListenersHandler.cs b/Step/Listeners/ListenersHandler.cs index 52ce0c83..c820961a 100644 --- a/Step/Listeners/ListenersHandler.cs +++ b/Step/Listeners/ListenersHandler.cs @@ -83,6 +83,7 @@ namespace Step.Listeners infos.Add(MessageServices.Current.Subscribe(SEND_QUEUE_DATA, (a, b) => { SignalRListener.SendPartProgramQueue(a); + SignalRDatabaseHandler.UpdateQueue(a); }));