平仓审批流程角色处理逻辑

This commit is contained in:
锦麟 王
2026-07-16 11:00:49 +08:00
parent 80064b23bd
commit 84703d1f4d
+17
View File
@@ -276,8 +276,25 @@ namespace YLErp.BLL
var logger = LogFactory.GetLogger<tradeBLL>();
var posDict = swapPositions.GroupBy(sp => sp.SwapTradeId).ToDictionary(g => g.Key, g => g.First().PosiNetPrice);
var umProvider = DataCacheProvider.GetUnderlyingDataSource();
// 需求②:平仓/行权/互换交易,审批角色应取 CloseProcess 流程的节点角色,而非 TradeProcess
var closeProcessRoles = db.approvalprocess
.Where(a => a.processType == "CloseProcess")
.Select(a => new { a.order, a.roleId })
.ToList()
.ToDictionary(a => a.order, a => a.roleId);
foreach (var tradeLinq in retListResult.rows)
{
// 了结类交易:用 CloseProcess 的角色覆盖
if (tradeLinq.TradeStatus == "平仓待复核" || tradeLinq.TradeStatus == "行权待复核" || tradeLinq.TradeStatus == "互换待复核"
&& closeProcessRoles.Count > 0)
{
if (closeProcessRoles.TryGetValue(tradeLinq.ProcessOrderId, out var closeRoleId))
{
tradeLinq.ProcessRoleId = closeRoleId;
}
}
if (tradeLinq.ProcessRoleId != null && listRoles.TryGetValue(tradeLinq.ProcessRoleId.Value, out var name))
{
tradeLinq.ProcessRoleName = name;