diff --git a/YLErpDAL/Modules/SwapModule/SwapDealService.cs b/YLErpDAL/Modules/SwapModule/SwapDealService.cs index 0ef903a5..056017ba 100644 --- a/YLErpDAL/Modules/SwapModule/SwapDealService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapDealService.cs @@ -763,15 +763,15 @@ namespace YLErp.Modules.SwapModule bool cofirm = false; try { - int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate); + int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate); if (unwindData.SwapMarginAmount != 0) { AddClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapMarginAmount), ClientCashInCashOut.系统操作_应付预付金, unwindData.ValueDate); } - if (unwindData.SwapMarginRebatePnl != 0) - { - AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapMarginRebatePnl), ClientCashInCashOut.系统操作_预付金返息, unwindData.ValueDate); - } + //if (unwindData.SwapMarginRebatePnl != 0) + //{ + // AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapMarginRebatePnl), ClientCashInCashOut.系统操作_预付金返息, unwindData.ValueDate); + //} DealFloatPosition(unwindData); var flowList = new List(unwindData.FlowEvents); var eventId = SaveSwapDeal(unwindData, (int)SwapEventTypeEnum.平仓, clientCashId, "系统操作_平仓"); @@ -1051,7 +1051,7 @@ namespace YLErp.Modules.SwapModule } private void DealUnwind(UnwindData unwindData, trade td, string actionMsg = "系统操作_自动平仓") { - int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate); + int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate); if (unwindData.SwapMarginAmount != 0) { AddClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapMarginAmount), ClientCashInCashOut.系统操作_应付预付金, unwindData.ValueDate); @@ -1129,7 +1129,7 @@ namespace YLErp.Modules.SwapModule var trans = DbContext.Database.BeginTransaction(); try { - int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate); + int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_平仓费, unwindData.ValueDate); if (unwindData.SwapMarginAmount != 0) { AddClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapMarginAmount), ClientCashInCashOut.系统操作_应付预付金, unwindData.ValueDate); @@ -1172,7 +1172,7 @@ namespace YLErp.Modules.SwapModule var trans = DbContext.Database.BeginTransaction(); try { - int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate); + int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate); SaveSwapDeal(unwindData, (int)SwapEventTypeEnum.互换, clientCashId, "系统操作_互换"); trans.Commit(); } @@ -1203,7 +1203,7 @@ namespace YLErp.Modules.SwapModule bool confirm = false; try { - int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate); + int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapRealizedPnL), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate); if (unwindData.SwapMarginRebatePnl != 0) { AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapMarginRebatePnl), ClientCashInCashOut.系统操作_预付金返息, unwindData.ValueDate); @@ -1251,7 +1251,7 @@ namespace YLErp.Modules.SwapModule swapEvent.unwindData = JsonConvert.DeserializeObject(swapEvent.EventData); var flowList = DbContext.swap_flow_event.Where(x => x.EventId == swapEvent.id).ToList(); string action = eventType == (int)SwapEventTypeEnum.互换 ? ClientCashInCashOut.系统操作_互换 : ClientCashInCashOut.系统操作_平仓费; - int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(swapEvent.unwindData.SwapCloseAmount), action, swapEvent.unwindData.ValueDate); + int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(swapEvent.unwindData.SwapCloseAmount), action, swapEvent.unwindData.ValueDate); swapEvent.ClientCashId = clientCashId; if (td.StructureType != "多空组合") { diff --git a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs index d17fe9a6..54e23c14 100644 --- a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs @@ -366,7 +366,7 @@ namespace YLErp.Modules.SwapModule private long SaveAutoSwapDeal(trade td, List flowEvents, UnwindData unwindData) { //td.UnWindDate = unwindData.ValueDate; - int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate); + int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(-unwindData.SwapCloseAmount), ClientCashInCashOut.系统操作_互换, unwindData.ValueDate); string data = JsonConvert.SerializeObject(unwindData); var swapEvent = new SwapEventService(this).AddSwapEventDate(unwindData.ValueDate, unwindData.SwapTradeId, (int)SwapEventTypeEnum.自动互换, data, clientCashId, true, "系统操作-自动互换");//将互换总额存入事件 flowEvents.ForEach(x => @@ -504,7 +504,7 @@ namespace YLErp.Modules.SwapModule //记录资金记录 if (amount != 0) { - int clientCashId = CloseTrade_ClientCashInCashOut(td, Convert.ToDouble(x.MarkClosePnl), ClientCashInCashOut.系统操作_平仓费, x.UnwindDate.Value); + int clientCashId = AddClientCashInCashOut(td, Convert.ToDouble(x.MarkClosePnl), ClientCashInCashOut.系统操作_平仓费, x.UnwindDate.Value); x.ClientCashId = clientCashId; } payQty = payQty - x.Quantity; diff --git a/YLErpDAL/Modules/SwapModule/SwapTradeBaseService.cs b/YLErpDAL/Modules/SwapModule/SwapTradeBaseService.cs index 048d72a0..f8c30dc3 100644 --- a/YLErpDAL/Modules/SwapModule/SwapTradeBaseService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapTradeBaseService.cs @@ -282,57 +282,7 @@ namespace YLErp.Modules.SwapModule } return swapEvent.ValueDate; } - /// - /// 收益互换 客户资金记录保存 - /// - /// 主交易信息 - /// 平仓盈亏 - /// 操作类型 - /// 操作日期 - /// - /// - public int CloseTrade_ClientCashInCashOut(OtcTradeBase td, double amount, string action, DateTime valueDate) - { - var cl = DataCacheProvider.GetClientDataSource().GetData(td.ClientId); - - if (cl == null) - { - throw new Exception("客户信息未找到,交易编号:" + td.TradeNumber); - } - var ee = DbContext.ClientCashInCashOut.FirstOrDefault(x => x.TradeId == td.id && x.Action == action && x.HappenDate == valueDate); - if (ee == null) - { - //增加出入金记录 - ee = new ClientCashInCashOut(); - ee.CreateDate = DateTime.Now; - ee.CreatorId = UserId; - ee.CreatorName = UserName; - } - ee.Direction = "应收"; - ee.Number = UniqueTimeId.GetStr(); - ee.ClientId = cl.id; - ee.ClientNumber = cl.Number; - ee.ClientName = cl.Name; - ee.Money = amount; - ee.CurrencyCode = td.SettlementCurrency; - ee.HappenDate = valueDate; - ee.State = ClientCashInCashOut.已确认; - ee.OptId = UserId; - ee.OptName = UserName; - ee.OptDate = DateTime.Now; - ee.TradeId = td.id; - ee.Action = action; - ee.ValidState = "Valid"; - ee.TradeNumber = td.TradeNumber; - ee.CurrencyCode = "CNY"; - if (ee.id == 0) - { - DbContext.ClientCashInCashOut.Add(ee); - } - DbContext.SaveChanges(); - return ee.id; - } - public void AddClientCashInCashOut(OtcTradeBase td, double amount, string action, DateTime valueDate) + public int AddClientCashInCashOut(OtcTradeBase td, double amount, string action, DateTime valueDate) { var cl = DataCacheProvider.GetClientDataSource().GetData(td.ClientId); @@ -364,6 +314,7 @@ namespace YLErp.Modules.SwapModule ee.CurrencyCode = "CNY"; DbContext.ClientCashInCashOut.Add(ee); DbContext.SaveChanges(); + return ee.id; } /// /// 初始化 利息计算起始日期