using Kean.Domain.Task.Events;
using Kean.Domain.Task.SharedServices.Proxies;
using System.Threading;
namespace Kean.Domain.Task.EventHandlers
{
///
/// 创建移库命令成功时,下达控制任务
///
public sealed class TransferSuccessEventHandler_Wcs : EventHandler
{
private readonly WcsProxy _wcsProxy; // 控制域
///
/// 依赖注入
///
public TransferSuccessEventHandler_Wcs(
WcsProxy wcsProxy)
{
_wcsProxy = wcsProxy;
}
///
/// 处理程序
///
public override async System.Threading.Tasks.Task Handle(TransferSuccessEvent @event, CancellationToken cancellationToken)
{
//if (!@event.Manual && !@event.Previous.HasValue)
if (!@event.Manual)
{
await _wcsProxy.SendOutput(
@event.Id,
@event.Original.Warehouse.ToString(),
3,
@event.Priority ?? 0,
@event.Barcode,
@event.Original.Device,
@event.Destination.Device,
@event.Destination.Warehouse.ToString(),
@event.Timestamp,
@event.Operator);
}
}
}
}