135 lines
5.8 KiB
C#
135 lines
5.8 KiB
C#
|
#region << 版 本 注 释 >>
|
|||
|
/*----------------------------------------------------------------
|
|||
|
* 创建者:Hupe
|
|||
|
* 创建时间:2021/10/14 20:04:50
|
|||
|
* 版本:V1.0.0
|
|||
|
* 描述:
|
|||
|
*
|
|||
|
* ----------------------------------------------------------------
|
|||
|
* 修改人:
|
|||
|
* 时间:
|
|||
|
* 修改说明:
|
|||
|
*
|
|||
|
* 版本:V1.0.1
|
|||
|
*----------------------------------------------------------------*/
|
|||
|
#endregion << 版 本 注 释 >>
|
|||
|
|
|||
|
using ARI.EAP.HOST.Common;
|
|||
|
using ARI.EAP.HOST.MQ;
|
|||
|
using ARI.EAP.HOST.MQ.body;
|
|||
|
using ARI.EAP.HOST.SRD;
|
|||
|
using Glorysoft.SECS.EQP;
|
|||
|
using Glorysoft.SECS.EQP.Common;
|
|||
|
using Glorysoft.SECS.EQP.Utilities;
|
|||
|
using Glorysoft.SECSwell;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
|
|||
|
namespace ARI.EAP.HOST.Handlers.EventHandlers
|
|||
|
{
|
|||
|
|
|||
|
public class Material_RemovedHandler : IEventHandler
|
|||
|
{
|
|||
|
public void Execute(SECSTransaction trans, EVENT even)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
MQMessage mQMessage = new MQMessage();
|
|||
|
mQMessage.header.messageName = "MaterialRemoved";
|
|||
|
MaterialRemovedBody materialRemovedBody = new MaterialRemovedBody();
|
|||
|
materialRemovedBody.spoolingFlag = EquipmentStatus.SpoolingFlag.ToString();
|
|||
|
int index = 1;
|
|||
|
foreach (var key in even.validVariables)
|
|||
|
{
|
|||
|
string name = Configuration.conf.sRDConfiguration.tryGetSVOrDV(key);
|
|||
|
switch (name)
|
|||
|
{
|
|||
|
case ("SubstrateID"):
|
|||
|
{
|
|||
|
materialRemovedBody.substrateId = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("Clock"):
|
|||
|
{
|
|||
|
materialRemovedBody.eventTimestamp = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("MaterialStatus"):
|
|||
|
{
|
|||
|
materialRemovedBody.materialStatus = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("StateFlag"):
|
|||
|
{
|
|||
|
materialRemovedBody.stateFlag = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("LocationID"):
|
|||
|
{
|
|||
|
materialRemovedBody.locationId = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("Target A"):
|
|||
|
{
|
|||
|
materialRemovedBody.target_A = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("Target B"):
|
|||
|
{
|
|||
|
materialRemovedBody.target_B = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("Target C"):
|
|||
|
{
|
|||
|
materialRemovedBody.target_C = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("Target D"):
|
|||
|
{
|
|||
|
materialRemovedBody.target_D = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("Reroute A"):
|
|||
|
{
|
|||
|
materialRemovedBody.reroutet_A = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("Reroute B"):
|
|||
|
{
|
|||
|
materialRemovedBody.reroutet_B = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("Reroute C"):
|
|||
|
{
|
|||
|
materialRemovedBody.reroutet_C = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
case ("Reroute D"):
|
|||
|
{
|
|||
|
materialRemovedBody.reroutet_D = trans.Primary.Root.Item(3).Item(2).Item(index).Value.ToString();
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
trans.Primary.Root.Item(3).Item(2).Item(index).Name = name;
|
|||
|
index++;
|
|||
|
}
|
|||
|
Global.MF.addlog(LoggerService.EtoH, $"S{trans.Primary.Stream}F{trans.Primary.Function}", LoggerService.Receive, even.name, "=" + trans.Primary.SystemBytes.ToString());
|
|||
|
LoggerService.SECSLogger.Info(trans.Primary);
|
|||
|
Global.MF.addlog(LoggerService.HtoE, $"S{trans.Secondary.Stream}F{trans.Secondary.Function}", LoggerService.Send, even.name, "=" + trans.Secondary.SystemBytes.ToString());
|
|||
|
LoggerService.SECSLogger.Info(trans.Secondary);
|
|||
|
|
|||
|
mQMessage.body = materialRemovedBody;
|
|||
|
Task.Run(() => MainForm.mq.EAPRequest(mQMessage));
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
LoggerService.SECSLogger.Error(e);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|