互换平仓审批流程逻辑

This commit is contained in:
锦麟 王
2026-07-15 10:51:58 +08:00
parent 24b43d535e
commit 592ad52ecb
5 changed files with 75 additions and 20 deletions
@@ -224,7 +224,7 @@ namespace YLErp.Modules.TradeModule.DealModule
#endregion
//审批流程
//审批流程(需求②:按交易状态查对应流程)
if (!req.SkipWorkflow && HasTradeProcess())
{
var isUnwind = tradeCash.Action.Contains("平仓");
@@ -235,14 +235,33 @@ namespace YLErp.Modules.TradeModule.DealModule
dbTrade.CheckStatus = Convert.ToInt32(TradeCheckEnum.StatusOfOld);
//检查是否有交易审批流程
if (valuedateBLL.SystemDate.CloseReApprove == 1)
//检查是否有交易审批流程(需求②:按交易状态查对应流程,而非只查开仓流程)
var needApproval = valuedateBLL.SystemDate.CloseReApprove == 1 && TradeProcessCountByCategory(dbTrade) > 0;
if (needApproval)
{
// 如果有审批
InitTradeProcessOrder(dbTrade, UserId);
// 需求①:进入审批前先判断触发条件——若所有节点都不满足触发条件,跳过审批
needApproval = NeedApprovalByTrigger(dbTrade);
}
AddTradeOperationHistoryAndSetParentTradeInfo(false, dbTrade, optType: isUnwind ? "平仓审核提交" : "行权审核提交", comments: req.ImportFlag);
if (needApproval)
{
// 需要审批:进入审批流程等待人工审批
InitTradeProcessOrder(dbTrade, UserId);
AddTradeOperationHistoryAndSetParentTradeInfo(false, dbTrade, optType: isUnwind ? "平仓审核提交" : "行权审核提交", comments: req.ImportFlag);
}
else
{
// 不需要审批:设 ProcessOrderId=审批通过,再调 UpdateTradeProcessLog(pass) 执行审批通过流程
dbTrade.ProcessOrderId = ProcessTradeLog.;
DbContext.SaveChanges();
new TradeOpenService(this).UpdateTradeProcessLog(new TradeOpenReqModel
{
tradeId = dbTrade.id,
status = "pass",
comments = "触发条件未满足,自动跳过审批",
notNeedOperationHistory = false
});
}
}
else
{