From 4ba29bcf3b95eddfd42ca85fc51d19f3e94e5312 Mon Sep 17 00:00:00 2001 From: Nicola Carminati Date: Mon, 25 Feb 2019 16:52:15 +0100 Subject: [PATCH] Fix M154Data --- Libs/CMS_CORE_Library.dll | Bin 9132032 -> 9132032 bytes Step.Core/ThreadsFunctions.cs | 203 +++++++++++++++++----------------- 2 files changed, 104 insertions(+), 99 deletions(-) diff --git a/Libs/CMS_CORE_Library.dll b/Libs/CMS_CORE_Library.dll index 42f2b085f88bd8370934f94b417f1ead34d47993..9f8c5c4f4d6fbb95bd8852909a03dd73d66104db 100644 GIT binary patch delta 62349 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 X!Y_8#N?Ul_-*0N?onOD+@|OO8d*Y^I delta 62401 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 GZ}We{eWZN= diff --git a/Step.Core/ThreadsFunctions.cs b/Step.Core/ThreadsFunctions.cs index 5547be46..c9297d8c 100644 --- a/Step.Core/ThreadsFunctions.cs +++ b/Step.Core/ThreadsFunctions.cs @@ -804,115 +804,120 @@ public static class ThreadsFunctions // if is already running ignore if (processes.Count() == 0) if (File.Exists(ApplicationPath)) - Process.Start(ApplicationPath); - } - - foreach (M154DataModel m154 in data) - { - if(ServerStartupConfig.CMSConnectReady) - { - - if (m154.Parameters.Count() >= 2 && m154.Parameters[0] == "SOUR") { - // Convert tag string in Pascal Case and add to result string - switch (m154.Parameters[1].ToLower()) - { - case "currprog": - if (m154.Parameters.Count() < 3) - return; - RedisController.WriteProductionName(m154.Process, m154.Parameters[2]); - break; - - case "repstarget": - if (m154.Parameters.Count() < 3) - return; - RedisController.WriteProductionRepsTarget(m154.Process, m154.Parameters[2]); - break; - - case "repsdone": - if (m154.Parameters.Count() < 3) - return; - RedisController.WriteProductionRepsDone(m154.Process, m154.Parameters[2]); - break; - - default: - string notif = m154.Parameters[1]; - if (m154.Parameters.Count() > 2) - notif += m154.Parameters[2]; - RedisController.WriteProductionNotification(m154.Process, notif); - break; - } + ProcessStartInfo PSI = new ProcessStartInfo(ApplicationPath); + PSI.WorkingDirectory = new FileInfo(ApplicationPath).Directory.FullName; + Process.Start(PSI); } + } + } + + foreach (M154DataModel m154 in data) + { + if(ServerStartupConfig.CMSConnectReady) + { + + if (m154.Parameters.Count() >= 2 && m154.Parameters[0] == "SOUR") + { + // Convert tag string in Pascal Case and add to result string + switch (m154.Parameters[1].ToLower()) + { + case "currprog": + if (m154.Parameters.Count() < 3) + return; + RedisController.WriteProductionName(m154.Process, m154.Parameters[2]); + break; + + case "repstarget": + if (m154.Parameters.Count() < 3) + return; + RedisController.WriteProductionRepsTarget(m154.Process, m154.Parameters[2]); + break; + + case "repsdone": + if (m154.Parameters.Count() < 3) + return; + RedisController.WriteProductionRepsDone(m154.Process, m154.Parameters[2]); + break; + + default: + string notif = m154.Parameters[1]; + if (m154.Parameters.Count() > 2) + notif += m154.Parameters[2]; + RedisController.WriteProductionNotification(m154.Process, notif); + break; + } + } + + // Write ack + libraryError = ncHandler.WriteM154Ack((int)m154.Process); + if (libraryError.IsError()) + ManageLibraryError(libraryError); + } + else //MTC + { + string stringVal = "Path_" + m154.Process + "_"; + string val = ""; + + // Check if command is MTC + if (m154.Parameters[0] == "MTC") + { + // Convert tag string in Pascal Case and add to result string + switch (m154.Parameters[1].ToLower()) + { + case "currprog": + stringVal += "CurrProg"; + break; + + case "partid": + stringVal += "PartId"; + break; + + default: + stringVal += m154.Parameters[1]; + break; + } + // Set value + if (m154.Parameters.Count() > 2) + val = m154.Parameters[2]; + + // Create MTC Directory if not exist + if (!Directory.Exists(ServerStartupConfig.MTCFolderPath)) + Directory.CreateDirectory(ServerStartupConfig.MTCFolderPath); + + string outputFileName = ServerStartupConfig.MTCFolderPath + "\\DATA\\CmsGeneralStatus.mtc"; + // Create file if not exits + if (!File.Exists(outputFileName)) + using (var f = File.Create(outputFileName)) { }; + // Read file + List fileLines = File.ReadAllLines(outputFileName).ToList(); + string[] parametersInLine; + bool found = false; + for (int i = 0; i < fileLines.Count() && !found; i++) + { + // Get tag & value from row + parametersInLine = fileLines[i].Split('|'); + if (parametersInLine[0] == stringVal) + { + found = true; + fileLines[i] = stringVal + "|" + val; + } + } + // If tag doesn't exists, append new line + if (!found) + fileLines.Add(stringVal + "|" + val); + + // Write file + File.WriteAllLines(outputFileName, fileLines.ToArray()); // Write ack libraryError = ncHandler.WriteM154Ack((int)m154.Process); if (libraryError.IsError()) ManageLibraryError(libraryError); } - else //MTC - { - string stringVal = "Path_" + m154.Process + "_"; - string val = ""; - - // Check if command is MTC - if (m154.Parameters[0] == "MTC") - { - // Convert tag string in Pascal Case and add to result string - switch (m154.Parameters[1].ToLower()) - { - case "currprog": - stringVal += "CurrProg"; - break; - - case "partid": - stringVal += "PartId"; - break; - - default: - stringVal += m154.Parameters[1]; - break; - } - // Set value - if (m154.Parameters.Count() > 2) - val = m154.Parameters[2]; - - // Create MTC Directory if not exist - if (!Directory.Exists(ServerStartupConfig.MTCFolderPath)) - Directory.CreateDirectory(ServerStartupConfig.MTCFolderPath); - - string outputFileName = ServerStartupConfig.MTCFolderPath + "\\DATA\\CmsGeneralStatus.mtc"; - // Create file if not exits - if (!File.Exists(outputFileName)) - using (var f = File.Create(outputFileName)) { }; - // Read file - List fileLines = File.ReadAllLines(outputFileName).ToList(); - string[] parametersInLine; - bool found = false; - for (int i = 0; i < fileLines.Count() && !found; i++) - { - // Get tag & value from row - parametersInLine = fileLines[i].Split('|'); - if (parametersInLine[0] == stringVal) - { - found = true; - fileLines[i] = stringVal + "|" + val; - } - } - // If tag doesn't exists, append new line - if (!found) - fileLines.Add(stringVal + "|" + val); - - // Write file - File.WriteAllLines(outputFileName, fileLines.ToArray()); - - // Write ack - libraryError = ncHandler.WriteM154Ack((int)m154.Process); - if (libraryError.IsError()) - ManageLibraryError(libraryError); - } - } } } + } else RestoreConnection();