namespace Admin.NET.Plugin.AiDOP.MaterialWarehouse.InventoryPosting.Receipt;
///
/// C7 移动任务命令构造(纯逻辑)。据 pr_WMS_SaveIQCResult LIVE(@ExecuterTypeID=0,按 TaskID upsert):
/// ①④ 收货后 → Name='InvUpShelf'、TaskID=Receiver(L337);
/// ②⑤ 挑选 → Name='PurOrdRctByMRBChoose'、TaskID=QCNbr(L270)。
///
public static class MobileTaskBuilder
{
/// 收货后待上架任务(IQC ①④,FullReceiptPosting 之后)。
public static MobileTaskCommand InvUpShelf(IqcAcceptedReceipt r)
{
if (r == null) throw new ArgumentNullException(nameof(r));
return new MobileTaskCommand
{
TenantId = r.TenantId, DomainCode = r.DomainCode, PostingId = r.PostingId, Fbillno = r.Fbillno,
TaskId = r.Receiver, TypeId = "Wms", Name = "InvUpShelf",
Description = $"检验入库({r.Receiver})-待上架",
Executer = null, ExecuterTypeId = 0, Status = "PENDING",
Receiver = r.Receiver, RctQcNbr = r.RctQcNbr, User = r.User,
};
}
/// MRB 挑选任务(IQC ②⑤,不进 C5)。
public static MobileTaskCommand MrbChoose(IqcMrbSelectionCommand m)
{
if (m == null) throw new ArgumentNullException(nameof(m));
return new MobileTaskCommand
{
TenantId = m.TenantId, DomainCode = m.DomainCode, PostingId = m.PostingId, Fbillno = m.Fbillno,
TaskId = m.QcNbr, TypeId = "Wms", Name = "PurOrdRctByMRBChoose",
Description = $"检验入库({m.QcNbr})-挑选使用",
Executer = null, ExecuterTypeId = 0, Status = "PENDING",
Receiver = m.Receiver, RctQcNbr = m.QcNbr, User = m.User,
};
}
}