MobileTaskBuilder.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. namespace Admin.NET.Plugin.AiDOP.MaterialWarehouse.InventoryPosting.Receipt;
  2. /// <summary>
  3. /// C7 移动任务命令构造(纯逻辑)。据 pr_WMS_SaveIQCResult LIVE(@ExecuterTypeID=0,按 TaskID upsert):
  4. /// ①④ 收货后 → Name='InvUpShelf'、TaskID=Receiver(L337);
  5. /// ②⑤ 挑选 → Name='PurOrdRctByMRBChoose'、TaskID=QCNbr(L270)。
  6. /// </summary>
  7. public static class MobileTaskBuilder
  8. {
  9. /// <summary>收货后待上架任务(IQC ①④,FullReceiptPosting 之后)。</summary>
  10. public static MobileTaskCommand InvUpShelf(IqcAcceptedReceipt r)
  11. {
  12. if (r == null) throw new ArgumentNullException(nameof(r));
  13. return new MobileTaskCommand
  14. {
  15. TenantId = r.TenantId, DomainCode = r.DomainCode, PostingId = r.PostingId, Fbillno = r.Fbillno,
  16. TaskId = r.Receiver, TypeId = "Wms", Name = "InvUpShelf",
  17. Description = $"检验入库({r.Receiver})-待上架",
  18. Executer = null, ExecuterTypeId = 0, Status = "PENDING",
  19. Receiver = r.Receiver, RctQcNbr = r.RctQcNbr, User = r.User,
  20. };
  21. }
  22. /// <summary>MRB 挑选任务(IQC ②⑤,不进 C5)。</summary>
  23. public static MobileTaskCommand MrbChoose(IqcMrbSelectionCommand m)
  24. {
  25. if (m == null) throw new ArgumentNullException(nameof(m));
  26. return new MobileTaskCommand
  27. {
  28. TenantId = m.TenantId, DomainCode = m.DomainCode, PostingId = m.PostingId, Fbillno = m.Fbillno,
  29. TaskId = m.QcNbr, TypeId = "Wms", Name = "PurOrdRctByMRBChoose",
  30. Description = $"检验入库({m.QcNbr})-挑选使用",
  31. Executer = null, ExecuterTypeId = 0, Status = "PENDING",
  32. Receiver = m.Receiver, RctQcNbr = m.QcNbr, User = m.User,
  33. };
  34. }
  35. }