Bugfix 累加预付金的问题

This commit is contained in:
锦麟 王
2026-08-27 14:48:32 +08:00
parent f3ed08f71b
commit 95cbff0faa
4 changed files with 103 additions and 6 deletions
@@ -94,6 +94,23 @@ namespace YLErp.Modules.SwapModule
Assert.AreEqual(20, day3, 1e-6);
}
/// <summary>
/// 授信垫付的初始预付金计入已缴(2026-08-27 修正,交易2538实证):
/// 初始预付金走授信腿不产生应付预付金流水(现金净收额=0),已缴初始=授信初始占用净额——
/// 目标追加 = 维持 −(现金净收额+初始授信占用净额),否则每个结算日按维持全额重复开追加。
/// </summary>
[TestMethod]
public void AM_009_授信初始预付金计入已缴_不重复追加()
{
//交易2538 首日实际数据:维持2,808,000;初始预付金2,000,000全走授信(现金净收额0)
var payableNetCash = 0d;
var initCreditNet = 2_000_000d;
var target = SwapAdditionalMarginCalc.CalcTarget(2_808_000, payableNetCash + initCreditNet);
Assert.AreEqual(808_000, target, 1e-6);
//对照:修正前只扣现金净收额 → 目标2,808,000 全额追加(多收2,000,000 授信占用,即本BUG
}
/// <summary>
/// 追保回落(维持下降到应付之下)不返还:目标为 0 → 已补足保持,新增 0;
/// 超付部分由可用资金公式的负缺口(Σ维持−累计)体现,不产生返还记录。