using Kean.Domain.Wcs.Events; using Kean.Domain.Wcs.Models; using Kean.Domain.Wcs.Repositories; using Kean.Domain.Wcs.SharedServices.Proxies; using System.Linq; using System.Threading; using System.Threading.Tasks; namespace Kean.Domain.Wcs.EventHandlers { /// /// 接受输入成功时,处理类型 4:车身出口29101,AGV申请出库托盘时,未找到出库任务,增加等待input指令 /// public sealed class AcceptInputSuccessEventHandler_4 : EventHandler { private readonly TaskProxy _taskProxy; // 任务代理 private readonly INotification _notification; // private readonly IWcsRepository _wcsRepository; // 控制仓库 /// /// 依赖注入 /// public AcceptInputSuccessEventHandler_4( TaskProxy taskProxy, IWcsRepository wcsRepository, INotification notification) { _taskProxy = taskProxy; _notification = notification; _wcsRepository = wcsRepository; } /// /// 处理程序 /// public override async Task Handle(AcceptInputSuccessEvent @event, CancellationToken cancellationToken) { if (@event.Function == "4") { Input input = new Input(); input.Function = "3"; input.Device = @event.Device; input.State = 3; await _wcsRepository.CreateInputForShenAgvOut(input); } } } }