// ******************************************************************************** // 文件名字: S5F4Handler // 文件描述: S5F4Handler // 开发人员: Michael // 创建时间: 2019/11/8 0:08 // // 更新历史: // + 创建 S5F4Handler.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 ARI.EAP.HOST.Common; using ARI.EAP.HOST.MQ; using ARI.EAP.HOST.MQ.body; using System.Threading.Tasks; namespace Glorysoft.SECS.EQP.Handlers { public class S5F4Handler : ISECSMessageHandler { public void Execute(SECSContext context, SECSTransaction trans, SECSErrors err, string errmsg) { SECSMessage reply = trans.Secondary; S5F4Item item = new S5F4Item(); item.ACKC5 = reply.Root.Value.To().FirstOrDefault(); MQMessage mQMessage = new MQMessage(); mQMessage.header.messageName = "DisableEnableAlarm"; S5F3Body s5F3Body = new S5F3Body(); s5F3Body.eventTimestamp = System.DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fff"); if (EquipmentStatus.S5F3 == "AlarmEnable" ) { Global.MF.addlog(trans, LoggerService.Receive, "Alarm Disable", 1); LoggerService.SECSLogger.Info(trans.Secondary); if (item.ACKC5 == 0) { Global.MF.S5F3BottonUpdate(EquipmentStatus.S5F3); s5F3Body.enableAlarmState = "0"; EquipmentStatus.S5F3 = "AlarmDisable"; } } else if(EquipmentStatus.S5F3 == "AlarmDisable" ) { Global.MF.addlog(trans, LoggerService.Receive, "Alarm Enable", 1); LoggerService.SECSLogger.Info(trans.Secondary); if (item.ACKC5 == 0) { Global.MF.S5F3BottonUpdate(EquipmentStatus.S5F3); s5F3Body.enableAlarmState = "1"; EquipmentStatus.S5F3 = "AlarmEnable"; } } if(item.ACKC5 == 0) { mQMessage.body = s5F3Body; Task.Run(() => MainForm.mq.EAPRequest(mQMessage)); } if (trans.Tag != null) { var scenario = trans.Tag as Scenario; Thread.Sleep(500); scenario.ExecuteNextStep(); } } } }