fix(trade): 修复合同编号生成和追保区间计算逻辑

- 在合同编号前缀中添加FICC标识符
- 修复银行账户信息中支付系统号字段的赋值逻辑
- 修正追保区间计算公式,使用正确的差值参数替代维持保证金百分比
- 更新追保区间上下限的计算逻辑以确保正确的风险控制范围
This commit is contained in:
张名锐
2026-06-29 16:26:17 +08:00
parent 1e4ab52c1e
commit c76c3aa218
6 changed files with 11 additions and 11 deletions
@@ -207,7 +207,7 @@ namespace YLErp.Plugins.GuoLian.DocumentGenerator
// 银行账户信息
dic["户名"] = bank?.ClientName ?? "";
dic["银行账号"] = bank?.Card ?? "";
dic["支付系统号"] = "";
dic["支付系统号"] = bank?.Payment ?? "";
dic["开户行"] = bank?.Bank ?? "";
dic["大额行号"] = bank?.Payment ?? "";
@@ -315,17 +315,17 @@ namespace YLErp.Plugins.GuoLian.DocumentGenerator
// 区间0:当前净价 ≥ {100-(B-A)}% × 期初净价,追保0%
dic["追保区间0下限"] = (100 - 1 * diff).ToString("0.##");
dic["追保金额比例0"] = "0";
// 区间1{100-2A}% ≤ 当前净价 < {100-A}%,追保{B-A}%
dic["追保区间1下限"] = (100 - 2 * maintainRatePercent).ToString("0.##");
dic["追保区间1上限"] = (100 - 1 * maintainRatePercent).ToString("0.##");
// 区间1{100-2(B-A)}% ≤ 当前净价 < {100-(B-A)}%,追保{B-A}%
dic["追保区间1下限"] = (100 - 2 * diff).ToString("0.##");
dic["追保区间1上限"] = (100 - 1 * diff).ToString("0.##");
dic["追保金额比例1"] = (1 * diff).ToString("0.##");
// 区间2{100-3A}% ≤ 当前净价 < {100-2A}%,追保{2(B-A)}%
dic["追保区间2下限"] = (100 - 3 * maintainRatePercent).ToString("0.##");
dic["追保区间2上限"] = (100 - 2 * maintainRatePercent).ToString("0.##");
// 区间2{100-3(B-A)}% ≤ 当前净价 < {100-2(B-A)}%,追保{2(B-A)}%
dic["追保区间2下限"] = (100 - 3 * diff).ToString("0.##");
dic["追保区间2上限"] = (100 - 2 * diff).ToString("0.##");
dic["追保金额比例2"] = (2 * diff).ToString("0.##");
// 区间3{100-4A}% ≤ 当前净价 < {100-3A}%,追保{3(B-A)}%
dic["追保区间3下限"] = (100 - 4 * maintainRatePercent).ToString("0.##");
dic["追保区间3上限"] = (100 - 3 * maintainRatePercent).ToString("0.##");
// 区间3{100-4(B-A)}% ≤ 当前净价 < {100-3(B-A)}%,追保{3(B-A)}%
dic["追保区间3下限"] = (100 - 4 * diff).ToString("0.##");
dic["追保区间3上限"] = (100 - 3 * diff).ToString("0.##");
dic["追保金额比例3"] = (3 * diff).ToString("0.##");
// === 客户看多 返还追保事件 ===
@@ -34,7 +34,7 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule
var underlyingCode = (trade.UnderlyingCode ?? "").Replace(".", ""); // 去掉标的代码中的点号
var tradeDate = trade.TradeDate ?? DateTime.MinValue;
var tradeDateStr = tradeDate.ToString("yyyyMMdd");
var prefix = $"GLMS-{clientCode}-{tradeDateStr}-";
var prefix = $"GLMS-{clientCode}-{tradeDateStr}-FICC-";
lock (_syncLock)
{