using Microsoft.Extensions.Options;
namespace Admin.NET.Plugin.AiDOP.WorkOrder;
///
/// WP9 · 按 选择 Local / Mes 建单实现。
/// 注入点应使用本类型(或 ),勿直接多实现竞注。
///
public sealed class PickBillCreatorFacade : IPickBillCreator, ITransient
{
private readonly AidopPickBillOptions _opt;
private readonly WorkOrderPickBillService _local;
private readonly MesPickBillCreator _mes;
public PickBillCreatorFacade(
IOptions opt,
WorkOrderPickBillService local,
MesPickBillCreator mes)
{
_opt = opt.Value;
_local = local;
_mes = mes;
}
public Task CreateAsync(
long tenantId,
string domain,
string workOrd,
string account,
CancellationToken ct = default)
{
if (_opt.IsMes)
return _mes.CreateAsync(tenantId, domain, workOrd, account, ct);
return _local.CreateAsync(tenantId, domain, workOrd, account, ct);
}
}