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() {