| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- namespace Admin.NET.Plugin.AiDOP.MaterialWarehouse.InventoryPosting.Receipt;
- /// <summary>
- /// 标准化「IQC 合格收货」命令(C2 输入)。由上游 C1 判定 + Phase 4 幂等认领 + 取号后构造。
- /// 对齐 Phase 6A LIVE 取证:IQC 收货 TransType=`rct-po`(进可用库存),留样另加 `iss-unp`(负数)。
- /// </summary>
- public sealed class IqcAcceptedReceipt
- {
- public long TenantId { get; set; }
- public string DomainCode { get; set; } = string.Empty;
- /// <summary>Phase 4 过账头 Id(幂等锚)。</summary>
- public long PostingId { get; set; }
- /// <summary>本次过账事务组 Id(同批流水共用)。</summary>
- public long TransactionGroupId { get; set; }
- /// <summary>新收货号(C4 取号 @RctNbr)→ 流水 OrderNbr。</summary>
- public string RctNbr { get; set; }
- public string ItemNum { get; set; } = string.Empty;
- public string Location { get; set; } = string.Empty;
- public string LotSerial { get; set; } = string.Empty;
- public string Refs { get; set; } = string.Empty;
- /// <summary>接受收货数(= @QtyAcc)。</summary>
- public decimal AcceptedQty { get; set; }
- /// <summary>留样数(InsSampleQty=CompQty+QtyIssued;0=无留样)。</summary>
- public decimal SampleQty { get; set; }
- public decimal UmConversion { get; set; } = 1m;
- // C6 回写与追溯
- public string PurOrd { get; set; }
- public int PurLine { get; set; }
- public string Potype { get; set; }
- /// <summary>采购订购数(QtyOrded,C6 对账用;由上游读 PurOrdDetail 提供)。</summary>
- public decimal OrderedQty { get; set; }
- /// <summary>变动前已收数(PurOrdDetail.RctQty,C6 对账用)。</summary>
- public decimal BeforeReceivedQty { get; set; }
- /// <summary>已退货数(PurOrdDetail.QtyReturned,C6 完成判据用)。</summary>
- public decimal ReturnedQty { get; set; }
- public string WorkOrd { get; set; }
- public string RctQcNbr { get; set; }
- public string Receiver { get; set; }
- public string Fbillno { get; set; }
- public string User { get; set; }
- // 留样前置(LIVE 744-762 单独 Guard)
- public string CheckNo { get; set; }
- public string CostCtr { get; set; }
- }
- /// <summary>一次 IQC 过账的库存命令批(Phase 6A:先构完整 batch 再一次性调 C5)。</summary>
- public sealed class InventoryPostingBatch
- {
- public List<Inventory.InventoryTransactionCommand> Commands { get; } = new();
- }
|