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, }; } }