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