From 13b9c2a451481868f3bc5eedbacea385bf567b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=90=8D=E9=94=90?= <1565842059@qq.com> Date: Thu, 2 Jul 2026 10:14:42 +0800 Subject: [PATCH] =?UTF-8?q?refactor(Trade=5FSelf):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E4=BA=92=E6=8D=A2=E4=BA=A4=E6=98=93=E7=BC=96=E8=BE=91=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 提取互换事件检查条件为独立变量 hasSwapDealEvent - 添加对平仓、互换、自动互换事件类型的检查 - 将复杂条件判断重构为更清晰的逻辑结构 - 保持原有业务逻辑不变的情况下提高代码可读性 --- YLErpDAL/Model/Trade_Self.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/YLErpDAL/Model/Trade_Self.cs b/YLErpDAL/Model/Trade_Self.cs index 237a7b44..8f2e69a6 100644 --- a/YLErpDAL/Model/Trade_Self.cs +++ b/YLErpDAL/Model/Trade_Self.cs @@ -199,8 +199,14 @@ namespace YLErp.DBModels } public bool SwapCanEdit() { + var hasSwapDealEvent = swap_Events.Any(x => + !x.Invalid + && (x.EventType == (int)SwapEventTypeEnum.平仓 + || x.EventType == (int)SwapEventTypeEnum.互换 + || x.EventType == (int)SwapEventTypeEnum.自动互换)); + //确认成交 - return !(ConsTrade.TradeStatusAfterAndWithOutConfirmed.Contains(TradeStatus) || ConsTrade.审批中.Equals(TradeStatus) || UnWindDate.HasValue || (!PS.Config.TradeElement.IsAmendableAfterConfirm && TradeDate < valuedateBLL.ValueDate && ConsTrade.确认成交.Equals(TradeStatus))); + return !(ConsTrade.TradeStatusAfterAndWithOutConfirmed.Contains(TradeStatus) || ConsTrade.审批中.Equals(TradeStatus) || UnWindDate.HasValue || hasSwapDealEvent || (!PS.Config.TradeElement.IsAmendableAfterConfirm && TradeDate < valuedateBLL.ValueDate && ConsTrade.确认成交.Equals(TradeStatus))); } public bool CanDelete() {