平仓审批流程角色处理逻辑
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user