62 lines
2.5 KiB
C#
62 lines
2.5 KiB
C#
|
// ********************************************************************************
|
|||
|
// 文件名字: 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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|