PickBillNbrSyncRules.cs 751 B

1234567891011121314151617181920212223242526
  1. namespace Admin.NET.Plugin.AiDOP.DataPlatform.Wms;
  2. /// <summary>
  3. /// UAT-INT-001 · 工单物料 vs 165 SM 明细的行级决策(不写 QtyRec)。
  4. /// </summary>
  5. public static class PickBillNbrSyncRules
  6. {
  7. public enum LineAction
  8. {
  9. UpdateQty,
  10. Close,
  11. Insert
  12. }
  13. /// <summary>
  14. /// 已有 SM 行:工单不再需要则关行;已领且新需求不超过已领则关行;否则只改 QtyOrd。
  15. /// </summary>
  16. public static LineAction DecideExisting(decimal qtyRec, decimal newQty, bool stillRequired)
  17. {
  18. if (!stillRequired)
  19. return LineAction.Close;
  20. if (qtyRec > 0 && newQty <= qtyRec)
  21. return LineAction.Close;
  22. return LineAction.UpdateQty;
  23. }
  24. }