diff --git a/Libs/CMS_CORE_Library.dll b/Libs/CMS_CORE_Library.dll index 53f853fc..55650ee8 100644 Binary files a/Libs/CMS_CORE_Library.dll and b/Libs/CMS_CORE_Library.dll differ diff --git a/Step.Model/DTOModels/DTOProcessDataModel.cs b/Step.Model/DTOModels/DTOProcessDataModel.cs index 69df1634..739fcffe 100644 --- a/Step.Model/DTOModels/DTOProcessDataModel.cs +++ b/Step.Model/DTOModels/DTOProcessDataModel.cs @@ -6,14 +6,16 @@ namespace Step.Model.DTOModels { public class DTOProcessesDataModel { - public bool isRunning; - public ushort selectedProcess; - public byte selectedAxis; + public bool IsRunning; + public ushort SelectedProcess; + public byte SelectedAxis; + public QUEUE_STATUS QueueStatus; + public bool StartStopQueueEnabled; public List processes; public DTOProcessesDataModel() { - isRunning = false; + IsRunning = false; processes = new List(); } @@ -24,12 +26,12 @@ namespace Step.Model.DTOModels if (item == null) return false; - if (isRunning != item.isRunning) + if (IsRunning != item.IsRunning) return false; - if (selectedProcess != item.selectedProcess) + if (SelectedProcess != item.SelectedProcess) return false; - if (selectedAxis != item.selectedAxis) + if (SelectedAxis != item.SelectedAxis) return false; // If the numbers of the list's elemets are different, lists are different if (item.processes.Count != processes.Count) @@ -39,6 +41,12 @@ namespace Step.Model.DTOModels if (!listAreEquals) return false; + if (QueueStatus != item.QueueStatus) + return false; + + if (StartStopQueueEnabled != item.StartStopQueueEnabled) + return false; + return true; } diff --git a/Step.NC/NcHandler.cs b/Step.NC/NcHandler.cs index 51cb8fd0..531c224b 100644 --- a/Step.NC/NcHandler.cs +++ b/Step.NC/NcHandler.cs @@ -394,13 +394,12 @@ namespace Step.NC public CmsError StartWorkingQueue(int processId) { - - return NO_ERROR; + return numericalControl.FILES_WStartQueue(); } public CmsError StopWorkingQueue(int processId) { - return NO_ERROR; + return numericalControl.FILES_WStopQueue(); } #endregion File manager @@ -671,22 +670,34 @@ namespace Step.NC Visible = tmpProcPP.Visible }); - if (tmpProcPP.IsSelected && processesData.selectedProcess == 0) // TODO remove with multi-process - processesData.selectedProcess = (ushort)tmpProcPP.Id; + if (tmpProcPP.IsSelected && processesData.SelectedProcess == 0) // TODO remove with multi-process + processesData.SelectedProcess = (ushort)tmpProcPP.Id; // Check if there are running process - if (!processesData.isRunning) + if (!processesData.IsRunning) { // Get process status cmsError = numericalControl.PROC_RStatus(i, ref status); if (status == PROC_STATUS.RUN || status == PROC_STATUS.HOLD) - processesData.isRunning = true; + processesData.IsRunning = true; else status = PROC_STATUS.IDLE; } } // Read selected axes - cmsError = numericalControl.AXES_RSelectedAxis(ref processesData.selectedAxis); + cmsError = numericalControl.AXES_RSelectedAxis(ref processesData.SelectedAxis); + if (cmsError.IsError()) + return cmsError; + + QueueStatusModel queueStatus = new QueueStatusModel(); + // Get queue data + cmsError = numericalControl.FILES_RQueueData(ref queueStatus); + if (cmsError.IsError()) + return cmsError; + + // Set data + processesData.QueueStatus = queueStatus.Status; + processesData.StartStopQueueEnabled = queueStatus.StartStopQueueEnabled; return cmsError; } diff --git a/Step/Controllers/WebApi/NcFileController.cs b/Step/Controllers/WebApi/NcFileController.cs index b4243b74..b6f6f12b 100644 --- a/Step/Controllers/WebApi/NcFileController.cs +++ b/Step/Controllers/WebApi/NcFileController.cs @@ -246,7 +246,7 @@ namespace Step.Controllers.WebApi } } - [Route("queue/{processId:int}/empty"), HttpPut] + [Route("queue/{processId:int}/empty"), HttpDelete] public IHttpActionResult EmptyQueue(int processId) { using (NcHandler ncHandler = new NcHandler()) @@ -266,7 +266,7 @@ namespace Step.Controllers.WebApi { CmsError cmsError = ncHandler.StartWorkingQueue(processId); if (cmsError.IsError()) - return BadRequest(cmsError.localizationKey); + return BadRequest(cmsError.localizationKey); return Ok(); }