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");
}
}
}
}