dc/Handlers/S2F16Handler.cs

62 lines
2.5 KiB
C#
Raw Normal View History

2022-04-01 17:03:54 +08:00
// ********************************************************************************
// 文件名字: S2F16Handler
// 文件描述: S2F16Handler
// 开发人员: Michael
// 创建时间: 2019/11/8 0:08
//
// 更新历史:
// + 创建 S2F16Handler.cs 文件. by Michael @2019/11/8 0:08
// ********************************************************************************
using Glorysoft.SECS.EQP.Common;
using Glorysoft.SECS.EQP.Message;
using Glorysoft.SECS.EQP.Utilities;
using Glorysoft.SECSwell;
using System.Linq;
using System.Threading;
using System;
using ARI.EAP.HOST;
using Glorysoft.SECS.EQP.Commands;
using ARI.EAP.HOST.MQ.body;
using ARI.EAP.HOST.MQ;
using System.Threading.Tasks;
using ARI.EAP.HOST.Common;
namespace Glorysoft.SECS.EQP.Handlers
{
public class S2F16Handler : ISECSMessageHandler
{
public void Execute(SECSContext context, SECSTransaction trans, SECSErrors err, string errmsg)
{
Global.MF.addlog(LoggerService.EtoH, $"S{trans.Secondary.Stream}F{trans.Secondary.Function}", LoggerService.Receive, trans.Description, "=" + trans.Secondary.SystemBytes.ToString());
LoggerService.SECSLogger.Info(trans.Secondary);
SECSMessage reply = trans.Secondary;
S2F16Item item = new S2F16Item();
item.EAC = reply.Root.Value.To<byte[]>().FirstOrDefault();
if (trans.Tag != null)
{
if (trans.Tag.GetType() == typeof(ECChangeBody))
{
if(item.EAC == 00)
{
MQMessage mQMessage = new MQMessage();
mQMessage.header.messageName = "ECChange";
ECChangeBody eCChangeBody = trans.Tag as ECChangeBody;
eCChangeBody.spoolingFlag = EquipmentStatus.SpoolingFlag.ToString();
eCChangeBody.eventTimestamp = System.DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fff");
mQMessage.body = eCChangeBody;
Task.Run(() => MainForm.mq.EAPRequest(mQMessage));
Command.S1F15Command();
Thread.Sleep(500);
Command.S1F17Command();
}
}
else
{
var scenario = trans.Tag as Scenario;
Thread.Sleep(500);
scenario.ExecuteNextStep();
}
}
}
}
}