using System; using System.Collections.Concurrent; using System.Linq; using System.Threading; using bizFacade; using DoWhatPlc; //using SystemFramework; using MesServerWork; using Newtonsoft.Json; namespace MesServerFunctions { partial class FunctionMES { /// /// 参数刷入完成 /// /// /// private void ParamsWriteOver(object e) { try { DoWhatPlc.CustomeEvetnArgs msgEvent = (DoWhatPlc.CustomeEvetnArgs)e; string OpName = Convert.ToString(msgEvent.OpName); string OpName_mes = Convert.ToString(msgEvent.OpName) + "_mes"; int tagValue = Convert.ToInt32(msgEvent.TagValue); int EngineTypeID; if (tagValue == 1) { ConcurrentDictionary rtList = MIS_BASE.ReadPLC_OpName(OpName); var pp = JsonConvert.SerializeObject(rtList); var tagValues = JsonConvert.DeserializeObject>(pp); // 读取配方号 MIS_BASE.Read_EngineTypeID(OpName, out EngineTypeID); var keyValues = tagValues.Where(x => x.Value.TagTypeCodeID == 58).Where(x => x.Value.TagOrderBy == EngineTypeID.ToString()).OrderBy(x => x.Key).ToDictionary(k => k.Key, v => v.Value); var qc_value_list = keyValues.Values.ToList(); for (int i = 0; i < qc_value_list.Count; i++) { string tagValue1 = qc_value_list[i].TagValue.ToString(); switch (tagValue1.ToLower()) { case "true": case "1": tagValue1 = "1"; break; default: tagValue1 = "0"; break; } if (tagValue1 == "1") { var ee = qc_value_list[i]; ee.TagValue = tagValue1; SendMessageFun.SendInfomation("PlcShowWorkPositionUpdate", JsonHelper.ObjectToJson(ee), OpName); Thread.Sleep(500); SendMessageFun.SendInfomation("PlcShowWorkPositionUpdate", JsonHelper.ObjectToJson(ee), OpName); } } } else { } } catch (Exception err) { ////ApplicationLog.WriteLog(err, "Function08:MesReadOver"); } } } }