From 41f26877bae0a52ebd084694dc763591f638dd1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=96=B9=E6=B5=B7?= Date: Fri, 9 May 2025 13:11:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E9=80=81=E4=BF=9D=E8=AF=81=E9=87=91?= =?UTF-8?q?=E6=AF=94=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DealModule/TradeConfirmService.cs | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/YLErpDAL/Modules/TradeModule/DealModule/TradeConfirmService.cs b/YLErpDAL/Modules/TradeModule/DealModule/TradeConfirmService.cs index beaa5941..6c0f9882 100644 --- a/YLErpDAL/Modules/TradeModule/DealModule/TradeConfirmService.cs +++ b/YLErpDAL/Modules/TradeModule/DealModule/TradeConfirmService.cs @@ -391,6 +391,20 @@ namespace YLErp.Modules.TradeModule.DealModule /// private void InitTradeReport(trade td,int marginDiretion) { + var clientMarginTemplates = DbContext.client_marginrate.Where(x => x.ValueDate <= td.TradeDate).OrderByDescending(o => o.ValueDate).AsNoTracking().ToList(); + var marinRate = clientMarginTemplates.Where(x => x.ClientId == td.ClientId).FirstOrDefault(); + if (marinRate == null) + { + marinRate = clientMarginTemplates.Where(x => x.ClientId == 0).FirstOrDefault(); + } + if (marinRate == null) + { + marinRate = new client_marginrate + { + InitMarginRate = 1, + MaintenanceRate = 1, + }; + } var trade_Report = DbContext.trade_Report.Where(x => x.TradeId == td.id).FirstOrDefault(); if (trade_Report == null) { @@ -406,10 +420,10 @@ namespace YLErp.Modules.TradeModule.DealModule trade_Report.IsPerformanceCollInterest = "否"; trade_Report.PerformanceCollType = "现金"; trade_Report.PerformanceCollRange = "仅限本笔交易"; - trade_Report.InitialPerformanceColl = 5; - trade_Report.RecoveryPerformanceColl = 2; - trade_Report.UnwindPerformanceColl = 9; - trade_Report.EodPerformanceColl = 5; + trade_Report.InitialPerformanceColl = (decimal)marinRate.InitMarginRate*100; + trade_Report.RecoveryPerformanceColl = (decimal)marinRate.MaintenanceRate * 100; + trade_Report.UnwindPerformanceColl = trade_Report.RecoveryPerformanceColl; + trade_Report.EodPerformanceColl = trade_Report.RecoveryPerformanceColl; trade_Report.SetOpt(OptUser); var tradeauditing = new TradeAuditLog {