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 {