From 89d3dfd13faa9549dc7d30885e44e6a9a3dc7f47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=96=B9=E6=B5=B7?= Date: Mon, 30 Jun 2025 15:19:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E7=9B=98=E5=BC=80=E4=BB=93=E6=97=A5?= =?UTF-8?q?=E4=B8=8D=E7=AE=97=E6=8C=81=E4=BB=93=E7=9B=88=E4=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YLErpDAL/BLL/EodSettlement/RealTimeClientBanlanceService.cs | 2 +- .../EodModule/SettlementModule/EodClientBalanceCalc.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/YLErpDAL/BLL/EodSettlement/RealTimeClientBanlanceService.cs b/YLErpDAL/BLL/EodSettlement/RealTimeClientBanlanceService.cs index 3d160c44..2218da49 100644 --- a/YLErpDAL/BLL/EodSettlement/RealTimeClientBanlanceService.cs +++ b/YLErpDAL/BLL/EodSettlement/RealTimeClientBanlanceService.cs @@ -1246,7 +1246,7 @@ namespace YLErp.BLL.Eod private void ProcessClientSwap(DateTime lastSettletDate, DateTime startDate) { var clientIds = _clientBalanceDic.Keys; - var trades = DbContext.trade.Where(t => (ConsTrade.PositionTradeStatusList.Contains(t.TradeStatus)) && clientIds.Contains(t.ClientId) && t.ValidState != "InValid" && t.TradeType == "收益互换").Select(s => new {s.id,s.ClientId }).ToList(); + var trades = DbContext.trade.Where(t => (ConsTrade.PositionTradeStatusList.Contains(t.TradeStatus)) && clientIds.Contains(t.ClientId) && t.ValidState != "InValid" && t.TradeType == "收益互换" &&t.StartDate<= startDate).Select(s => new {s.id,s.ClientId }).ToList(); var tradeIds = trades.Select(s=>s.id).ToList(); var positions = DbContext.swap_position.Where(s => tradeIds.Contains(s.SwapTradeId) && !s.IsInitial && !s.Invalid).ToList(); var queryGroup = trades.GroupBy(t => t.ClientId); diff --git a/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs b/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs index 3cbd5394..f79bd70e 100644 --- a/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs +++ b/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs @@ -120,11 +120,11 @@ namespace YLErp.Modules.EodModule.SettlementModule } // 互换合约估值信息 var eodSwapQuery = from eod in DbContext.eod_swap.Where(x => x.ValueDate <= balanceDate && x.ValueDate >= preBalanceDate) - join t in DbContext.trade.Where(x => x.TradeType == "收益互换" && x.ValidState != ConsGlobal.InValid && ConsTrade.TradeStatusAfterConfirmed.Contains(x.TradeStatus)) on eod.SwapTradeId equals t.id + join t in DbContext.trade.Where(x => x.TradeType == "收益互换" && x.ValidState != ConsGlobal.InValid && ConsTrade.TradeStatusAfterConfirmed.Contains(x.TradeStatus) && x.StartDate <= balanceDate) on eod.SwapTradeId equals t.id select eod; // 互换合约估值持仓信息 var eodSwapPosiQuery = from eod in DbContext.eod_swap_position.Where(x => x.ValueDate <= balanceDate && x.ValueDate >= preBalanceDate&&x.PosiDirection>0) - join t in DbContext.trade.Where(x => x.TradeType == "收益互换" && x.ValidState != ConsGlobal.InValid && ConsTrade.TradeStatusAfterConfirmed.Contains(x.TradeStatus)) on eod.SwapTradeId equals t.id + join t in DbContext.trade.Where(x => x.TradeType == "收益互换" && x.ValidState != ConsGlobal.InValid && ConsTrade.TradeStatusAfterConfirmed.Contains(x.TradeStatus) && x.StartDate <= balanceDate) on eod.SwapTradeId equals t.id select eod; var positionList = DbContext.trade.Where(t => (ConsTrade.TradeStatusAfterConfirmed.Contains(t.TradeStatus)||t.UnWindDate> balanceDate) && t.ValidState != "InValid"&&t.TradeType=="收益互换"); var marignQuery = from t in positionList