66 lines
2.2 KiB
C#
66 lines
2.2 KiB
C#
using JNPF.DependencyInjection;
|
|
using JNPF.EventBus;
|
|
using Tnb.Common.Core.EventBus.Constants;
|
|
using Tnb.Common.Core.EventBus.Sources;
|
|
using Tnb.WarehouseMgr.Interfaces;
|
|
|
|
namespace Tnb.WarehouseMgr.EventSubscribers;
|
|
|
|
/// <summary>
|
|
/// 任务事件订阅.
|
|
/// </summary>
|
|
public class TaskStatusChangeSubscriber : IEventSubscriber, ISingleton
|
|
{
|
|
/// <summary>
|
|
/// 初始化客户端.
|
|
/// </summary>
|
|
//private static SqlSugarScope? _sqlSugarClient;
|
|
private readonly IWareHouseService _wareHouseService;
|
|
private readonly IWmskittingOutService _wmskittingOutService;
|
|
/// <summary>
|
|
/// 构造函数.
|
|
/// </summary>
|
|
public TaskStatusChangeSubscriber(IWareHouseService wareHouseService, IWmskittingOutService wmskittingOutService)
|
|
{
|
|
_wareHouseService = wareHouseService;
|
|
_wmskittingOutService = wmskittingOutService;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建任务日记.
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
[EventSubscribe(EventSubscribeEventConsts.TASKSTATUSCHANGE_EVENTID)]
|
|
public async Task Excute(EventHandlerExecutingContext context)
|
|
{
|
|
/*var claims = JWTEncryption.ReadJwtToken(UserManager.AsscessToken)?.Claims;
|
|
ClaimsIdentity toKen = new ClaimsIdentity();
|
|
foreach (Claim item in claims)
|
|
{
|
|
toKen.AddClaim(item);
|
|
}
|
|
var principal = new ClaimsPrincipal(toKen);
|
|
FieldInfo fieldInfo = _userManager.GetType().GetField("_user", BindingFlags.NonPublic | BindingFlags.Instance);
|
|
if (fieldInfo != null)
|
|
{
|
|
fieldInfo.SetValue(_userManager, principal);
|
|
}*/
|
|
|
|
|
|
TaskStatusChangeSource tscSource = (TaskStatusChangeSource)context.Source;
|
|
switch (tscSource.Payload)
|
|
{
|
|
case nameof(_wareHouseService.GenTaskExecute):
|
|
await _wareHouseService.GenTaskExecute();
|
|
break;
|
|
case nameof(_wmskittingOutService.KittingOutByAdd):
|
|
await _wmskittingOutService.KittingOutByAdd();
|
|
break;
|
|
case nameof(_wmskittingOutService.KittingOutByIsToBeShipped):
|
|
await _wmskittingOutService.KittingOutByIsToBeShipped();
|
|
break;
|
|
}
|
|
|
|
}
|
|
} |