diff --git a/Framework/YLErp.Core/DBModels/ClientCashInCashOut.cs b/Framework/YLErp.Core/DBModels/ClientCashInCashOut.cs index 93f0bc8b..780b0096 100644 --- a/Framework/YLErp.Core/DBModels/ClientCashInCashOut.cs +++ b/Framework/YLErp.Core/DBModels/ClientCashInCashOut.cs @@ -228,7 +228,9 @@ namespace YLErp.DBModels public static string 应收 = "应收"; public static List 到账类型 = new List { 已到帐, 应到帐 }; - public static List outCashCals= new List { 未确认, 同意 }; + public static List outCashCals = new List { 未确认, 同意, 已确认, 已结算 }; + public static List calcCashs = new List { 未确认, 同意 }; + public static List cashStateChecks = new List { "出金", "入金" }; public const string 系统操作_期权费 = "系统操作-期权费"; public const string 系统操作_行权费 = "系统操作-行权费"; diff --git a/YLErpDAL/BLL/EodSettlement/ClientBalanceUtility.cs b/YLErpDAL/BLL/EodSettlement/ClientBalanceUtility.cs index 4e5fcd9f..4d27ed92 100644 --- a/YLErpDAL/BLL/EodSettlement/ClientBalanceUtility.cs +++ b/YLErpDAL/BLL/EodSettlement/ClientBalanceUtility.cs @@ -353,12 +353,12 @@ namespace YLErp.BLL.EodSettlement balance.MarginBalance = balance.AmountFund - balance.MySideMargin; // 可用资金 = 期末结存 - 追保账户余额 - 初始保证金 balance.AvailableAmount = balance.MarginBalance - (balance.VmInFundSum - balance.VmOutFundSum); - // 是否追保=履约保证金比例<维持保证金率 - balance.NeedAddMargin = balance.SwapMarketAmountPercent < (decimal)marginRate.MaintenanceRate; + // 是否追保=盯市金额小于维持保证金额 + balance.NeedAddMargin = balance.SwapMarketAmount < balance.MaintenanceMargin; // 追保金额=初始保证金金额-盯市金额 balance.MarginByPayableMarginTotal = balance.NeedAddMargin ? (balance.MySideMargin - balance.SwapMarketAmount):0; // 可取资金=期末结存-min(持仓盈亏,0)-初始保证金 - balance.DesirableFund = balance.MarginBalance - Math.Min(balance.RoundedPositionPnl, 0); + balance.DesirableFund = balance.MarginBalance + Math.Min(balance.RoundedPositionPnl, 0); } } diff --git a/YLErpDAL/BLL/EodSettlement/RealTimeClientBanlanceService.cs b/YLErpDAL/BLL/EodSettlement/RealTimeClientBanlanceService.cs index 1ac1479b..63b18f1a 100644 --- a/YLErpDAL/BLL/EodSettlement/RealTimeClientBanlanceService.cs +++ b/YLErpDAL/BLL/EodSettlement/RealTimeClientBanlanceService.cs @@ -275,12 +275,12 @@ namespace YLErp.BLL.Eod item.MarginBalance = item.AmountFund - item.MySideMargin; // 可用资金 = 期末结存 - 追保账户余额 - 初始保证金 item.AvailableAmount = item.MarginBalance - (item.VmInFundSum - item.VmOutFundSum) - item.FrozenMarginMoney; - // 是否追保=履约保证金比例<维持保证金率 - item.NeedAddMargin = item.SwapMarketAmountPercent < (decimal)marginRate.MaintenanceRate; + // 是否追保=盯市金额小于维持保证金额 + item.NeedAddMargin = item.SwapMarketAmount < item.MaintenanceMargin; // 追保金额=初始保证金金额-盯市金额 item.MarginByPayableMarginTotal = item.NeedAddMargin ? (item.MySideMargin - item.SwapMarketAmount) : 0; // 可取资金=期末结存-min(持仓盈亏,0)-初始保证金 - item.DesirableFund = item.MarginBalance - Math.Min(item.RoundedPositionPnl, 0); + item.DesirableFund = item.MarginBalance + Math.Min(item.RoundedPositionPnl, 0); } return _clientBalanceDic.Values; @@ -1071,8 +1071,7 @@ namespace YLErp.BLL.Eod from td in trade.DefaultIfEmpty() where t.HappenDate >= lastSettletDateAddOne && t.HappenDate < newValuedate && t.ValidState != "InValid" - //&& (t.State == ClientCashInCashOut.已结算 || t.State == ClientCashInCashOut.已确认||(t.Direction=="出金"&& ClientCashInCashOut.outCashCals.Contains(t.State))) - && (t.State == ClientCashInCashOut.已结算 || t.State == ClientCashInCashOut.已确认) + && (t.State == ClientCashInCashOut.已结算 || t.State == ClientCashInCashOut.已确认 || (t.Direction == "出金" && ClientCashInCashOut.outCashCals.Contains(t.State))) && clientIds.Contains(t.ClientId.Value) && t.Money != null && td.TradeType != "收益互换" diff --git a/YLErpDAL/Model/clientLinq.cs b/YLErpDAL/Model/clientLinq.cs index 360fbf9c..8c304941 100644 --- a/YLErpDAL/Model/clientLinq.cs +++ b/YLErpDAL/Model/clientLinq.cs @@ -589,5 +589,9 @@ namespace YLErp.Model /// 是否需要追保 /// public bool NeedAddMargin { get; set; } + /// + /// 期初结存 + /// + public double LastDayRemainFund { get; set; } } } diff --git a/YLErpDAL/Modules/ClientModule/ClientCashInCashOutDataService.cs b/YLErpDAL/Modules/ClientModule/ClientCashInCashOutDataService.cs index e518ba56..82aaba0d 100644 --- a/YLErpDAL/Modules/ClientModule/ClientCashInCashOutDataService.cs +++ b/YLErpDAL/Modules/ClientModule/ClientCashInCashOutDataService.cs @@ -9,6 +9,7 @@ using YLErp.BLL.EodSettlement; using YLErp.Commons; using YLErp.Configuration; using YLErp.Core.Helpers; +using YLErp.DBModels.Enums; using YLErp.Helpers; using YLErp.Model; using YLErp.Model.Enum; @@ -648,12 +649,17 @@ namespace YLErp.Modules.ClientModule #region 出金申请时进行验资 - if ((("出金".Equals(r.Direction) && PS.Config.Company != Configuration.CompanyEnum.中金) || ("应付".Equals(r.Direction) && ClientCashInCashOut.人工操作_预付金.Equals(r.Action))) && valuedateBLL.SystemDate.SpecialOperateForCashOut != 1 && PS.Config.Company != Configuration.CompanyEnum.中金) + if ("出金".Equals(r.Direction) && valuedateBLL.SystemDate.SpecialOperateForCashOut != 1) { //查看当前客户可用资金是否符合出金条件 var clientbalance = ClientBalanceUtility.GetClientBanlances(new List { r.ClientId.Value }, DateTime.MinValue, DateTime.Now.Date).FirstOrDefault(); + // 如果余额为 null,则视为无可用资金 + if (clientbalance == null) + { + clientbalance = new YLErp.Models.ClientSettleBalance(); + } //当日可取现金 - var availableFund = clientbalance == null ? 0 : clientbalance.DesirableFund; + var availableFund = clientbalance.DesirableFund; //对于0.999999999情况的数据做下处理 var realAvailableFund = Math.Round((availableFund + (originalMoney ?? 0.0)) * Math.Pow(10, 8)) / Math.Pow(10, 8); @@ -664,6 +670,24 @@ namespace YLErp.Modules.ClientModule (Math.Floor(realAvailableFund * 100) / 100).ToString("0.00") + ";"; throw new ServiceException(msg); } + if (r.Money <= clientbalance.VmFundSum) + { + // 出金金额小于等于 追保账户金额 + r.cash_type = CashTypeEnum.追保账户.ToString(); + } + else + { + // 出金金额大于 追保账户金额,首先处理 VM 部分 + r.cash_type = CashTypeEnum.追保账户.ToString(); + var newMoney = r.Money - clientbalance.VmFundSum; + r.Money = clientbalance.VmFundSum; + + var newR = r.Clone(); + newR.id = 0; + newR.Money = newMoney; + newR.cash_type = CashTypeEnum.初保账户.ToString(); + DbContext.ClientCashInCashOut.Add(newR); + } } #endregion @@ -679,29 +703,7 @@ namespace YLErp.Modules.ClientModule if (r.State != "未确认" && changecashs.Count > 0 && !(changecashs.Count == 1 && changecashs[0][0] == "Comments")) { - //功能先禁掉了 - //if (DbContext.clientcashincashout_update.Where(x => x.ClientcashincashoutId == r.id && x.State == "修改待确认" && x.ValidState != "InValid").Any()) - //{ - // var updateInValid = DbContext.clientcashincashout_update.Where(x => x.ClientcashincashoutId == r.id && x.State == "修改待确认" && x.ValidState != "InValid").ToList(); - // updateInValid.ForEach(x => x.ValidState = "InValid"); - //} - //var clientcashincashout_Update = new clientcashincashout_update - //{ - // OptId = UserId, - // OptName = UserName, - // OptDate = DateTime.Now, - // ClientcashincashoutId = r.id, - // OldMoney = r.Money ?? 0, - // NewMoney = req.Money ?? 0, - // OldDirection = r.Direction, - // NewDirection = req.Direction ?? r.Direction, - // OldHappenDate = r.HappenDate, - // NewHappenDate = req.HappenDate ?? r.HappenDate, - // ValidState = "Valid", - // State = "修改待确认" - //}; - //DbContext.clientcashincashout_update.Add(clientcashincashout_Update); - //ClientCashLog(r.id, "修改资金", comment, req.Explain); + } else { @@ -912,35 +914,26 @@ namespace YLErp.Modules.ClientModule } } } - else if ((("出金".Equals(e.Direction) && PS.Config.Company != Configuration.CompanyEnum.中金) || ("应付".Equals(e.Direction) && ClientCashInCashOut.人工操作_预付金.Equals(e.Action))) && valuedateBLL.SystemDate.SpecialOperateForCashOut != 1 && PS.Config.Company != Configuration.CompanyEnum.中金) - { - //查看当前客户可用资金是否符合出金条件 - var clientbalance = ClientBalanceUtility.GetClientBanlances(new List { e.ClientId.Value }, DateTime.MinValue, DateTime.Now.Date).FirstOrDefault(); - //当日可取现金 - var availableFund = clientbalance == null ? 0 : clientbalance.DesirableFund; + //else if ((("出金".Equals(e.Direction) && PS.Config.Company != Configuration.CompanyEnum.中金) || ("应付".Equals(e.Direction) && ClientCashInCashOut.人工操作_预付金.Equals(e.Action))) && valuedateBLL.SystemDate.SpecialOperateForCashOut != 1 && PS.Config.Company != Configuration.CompanyEnum.中金) + //{ + // //查看当前客户可用资金是否符合出金条件 + // var clientbalance = ClientBalanceUtility.GetClientBanlances(new List { e.ClientId.Value }, DateTime.MinValue, DateTime.Now.Date).FirstOrDefault(); + // //当日可取现金 + // var availableFund = clientbalance == null ? 0 : clientbalance.DesirableFund; - //对于0.999999999情况的数据做下处理 - var realAvailableFund = Math.Round((availableFund + (e.Money??0)) * Math.Pow(10, 8)) / Math.Pow(10, 8); - //如果当前出金金额大于可用资金(不扣除冻结出金部分)则抛出错误 - if (Math.Abs(e.Money ?? 0) > realAvailableFund) - { - if ("出金".Equals(e.Direction)) - { - throw new ServiceException($"部分确认错误 客户:{e.ClientName},出金:{e.Money},实际可取出资金:{realAvailableFund:0.00};"); - } - throw new ServiceException($"部分确认错误,客户:{e.ClientName},应付预付金:{Math.Abs(e.Money ?? 0)},实际可取出资金:{realAvailableFund:0.00};"); - } + // //对于0.999999999情况的数据做下处理 + // var realAvailableFund = Math.Round((availableFund + (e.Money??0)) * Math.Pow(10, 8)) / Math.Pow(10, 8); + // //如果当前出金金额大于可用资金(不扣除冻结出金部分)则抛出错误 + // if (Math.Abs(e.Money ?? 0) > realAvailableFund) + // { + // if ("出金".Equals(e.Direction)) + // { + // throw new ServiceException($"部分确认错误 客户:{e.ClientName},出金:{e.Money},实际可取出资金:{realAvailableFund:0.00};"); + // } + // throw new ServiceException($"部分确认错误,客户:{e.ClientName},应付预付金:{Math.Abs(e.Money ?? 0)},实际可取出资金:{realAvailableFund:0.00};"); + // } - } - if (PS.Config.Company == Configuration.CompanyEnum.中金) - { - - if ("出金".Equals(e.Direction) && !CheckClientCashOut(e.ClientId ?? 0, Math.Abs(e.Money ?? 0), e.CurrencyCode)) - { - throw new ServiceException($"{e.ClientName}币种{e.CurrencyCode}的出金金额不能大于客户账户余额"); - } - - } + //} return true; } diff --git a/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs b/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs index dd036bd0..256078f2 100644 --- a/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs +++ b/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs @@ -1303,6 +1303,25 @@ namespace YLErp.Modules.EodModule.SettlementModule return true; } + + /// + /// 客户资金未确认状态检查 + /// + public void ClientCashInCashOutCheck() + { + var balanceDate = _context.SettleDate; + var reqClientIds = _context.Request.ClientIds; + var newValuedate = balanceDate.AddDays(1); + var cashInCashOuts = DbContext.ClientCashInCashOut.Where(x => x.HappenDate >= balanceDate && x.HappenDate < newValuedate && x.ValidState != ConsGlobal.InValid && ClientCashInCashOut.calcCashs.Contains(x.State) && ClientCashInCashOut.cashStateChecks.Contains(x.Direction)).AsNoTracking().ToList(); + if (reqClientIds != null && reqClientIds.Any()) + { + cashInCashOuts = cashInCashOuts.Where(x => reqClientIds.Contains(x.ClientId ?? 0)).ToList(); + } + if (cashInCashOuts.Any()) + { + _context.RaiseError("客户资金结算", $"{balanceDate:yyyy年MM月dd日}存在未确认的资金,请先将资金确认后再操作"); + } + } private void AddToFund(Dictionary fundDictionary, string currencyCode, double amount) { if (fundDictionary.ContainsKey(currencyCode)) diff --git a/YLErpDAL/Modules/EodModule/SettlementModule/EodTaskRunner.cs b/YLErpDAL/Modules/EodModule/SettlementModule/EodTaskRunner.cs index c3e49995..8aff5480 100644 --- a/YLErpDAL/Modules/EodModule/SettlementModule/EodTaskRunner.cs +++ b/YLErpDAL/Modules/EodModule/SettlementModule/EodTaskRunner.cs @@ -503,6 +503,8 @@ where {nameof(t.TaskStartTime)}>'{startDateStr}' and {nameof(t.TaskState)}={(int SetTaskStep("为处于节假日的交易标的复制上日收盘价"); new EodCopyPreSettlePrice(_context).Execute(); } + SetTaskStep("检查标的出入金状态"); + new EodClientBalanceCalc(_context).ClientCashInCashOutCheck(); SetTaskStep("检查标的结算价格缺失"); new EodCheckSettlePrice(_context).Execute();//t diff --git a/YLErpDAL/Modules/ReportModule/SettlementReportModule/FundReportModel.cs b/YLErpDAL/Modules/ReportModule/SettlementReportModule/FundReportModel.cs index b5b99fee..a24c42a6 100644 --- a/YLErpDAL/Modules/ReportModule/SettlementReportModule/FundReportModel.cs +++ b/YLErpDAL/Modules/ReportModule/SettlementReportModule/FundReportModel.cs @@ -42,6 +42,18 @@ namespace YLErp.Modules.ReportModule } } /// + /// 维持保证金金额 + /// + public double? MaintenanceMargin { get; set; } + + public string MaintenanceMarginString + { + get + { + return ((MaintenanceMargin == null || MaintenanceMargin == -0) ? 0 : MaintenanceMargin.Value).ToString("0.00"); + } + } + /// /// 初保账户 /// public double? NetFundAll { get; set; } diff --git a/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs b/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs index a6411295..5946909d 100644 --- a/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs +++ b/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs @@ -332,6 +332,7 @@ namespace YLErp.Modules.ReportModule.SettlementReportModule NetFundAll = clientBalance?.NetFundAll, SwapMarketAmount= clientBalance?.SwapMarketAmount, VmFundSum= clientBalance?.VmFundSum, + MaintenanceMargin=clientBalance?.MaintenanceMargin, }; return FundReportModel; } diff --git a/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs b/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs index 3eda8b75..6109aa61 100644 --- a/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs +++ b/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs @@ -4087,10 +4087,6 @@ namespace YLErp.Modules.RiskModule { precheckQuotaSettingList = precheckQuotaSettingList.Where(x => quotaIndexs.Contains(x.QuotaIndex)).ToList(); } - if (precheckQuotaSettingList.Count == 0) - { - return clientRiskCheckResps; - } var client = DataCacheProvider.GetClientDataSource().GetData(clientRiskCheckReq.clientId); if (client == null) { @@ -4119,12 +4115,15 @@ namespace YLErp.Modules.RiskModule { throw new ServiceException("适当性评估已经过期,只有在适当性有效期内才可以新开仓"); } - } else { return clientRiskCheckResps; //平仓不过风控 } + if (precheckQuotaSettingList.Count == 0) + { + return clientRiskCheckResps; + } foreach (var settingItem in precheckQuotaSettingList) { var clientRiskCheckItem = CreateClientRiskCheckItem(settingItem); diff --git a/YLErpDAL/Modules/SwapModule/SwapDealService.cs b/YLErpDAL/Modules/SwapModule/SwapDealService.cs index 6355bf19..8ac87b9a 100644 --- a/YLErpDAL/Modules/SwapModule/SwapDealService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapDealService.cs @@ -819,7 +819,7 @@ namespace YLErp.Modules.SwapModule /// /// /// - public void AuotoSwapUnwind(int tradeid, decimal unwindPrice, decimal unwindPriceFee, decimal unwindNetFee, decimal unwindNet, DateTime valueDate, decimal unwindQty, decimal mergeQty, decimal penddingFee) + public void AuotoSwapUnwind(int tradeid, decimal unwindPrice, decimal unwindPriceFee, decimal unwindNetFee, decimal unwindNet, DateTime valueDate, decimal unwindQty) { unwindPriceFee = decimal.Parse(unwindPriceFee.ToString("F10")); var td = DbContext.trade.Find(tradeid); @@ -884,10 +884,10 @@ namespace YLErp.Modules.SwapModule floatEvent.TradingAmountNetFeeAvg = unwindNetFee; floatEvent.TradingAmountNetAvg = unwindNet; floatEvent.TradingFeePending = position.PosiTradingFeePending * unwindData.ClosePercent; - var mergeClosePercent = mergeQty == 0 ? 0 : unwindQty / mergeQty; - floatEvent.TradingFee = penddingFee * mergeClosePercent; + floatEvent.TradingFeePending = Math.Round(floatEvent.TradingFeePending, 2, MidpointRounding.AwayFromZero); + floatEvent.TradingFee = floatEvent.TradingFeePending; floatEvent.MarkClosePnl = (unwindPrice - position.PosiGrossPrice) * unwindQty * floatRatio * longRatio; - floatEvent.MarkClosePnl = Math.Round(floatEvent.MarkClosePnl + (floatEvent.TradingFee * floatRatio * -1), ConsGlobal.MoneyRound, MidpointRounding.AwayFromZero); + floatEvent.MarkClosePnl = Math.Round(floatEvent.MarkClosePnl + (floatEvent.TradingFeePending*2 * floatRatio * -1), ConsGlobal.MoneyRound, MidpointRounding.AwayFromZero); floatEvent.TradingAmount = unwindPrice * floatEvent.Quantity * floatEvent.ContractSize; floatEvent.OptLog = "流水自动"; floatEvent.ClientId = td.ClientId; diff --git a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs index 6af4a5e0..531160cb 100644 --- a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs @@ -301,7 +301,7 @@ namespace YLErp.Modules.SwapModule var unwindEvents = flowEvents.Where(x => x.PositionId == posi.id).ToList();//当前日平仓信息 var realPosition = realPosiList.FirstOrDefault(s => s.PositionId == posi.id); eod_swap_position eodPosi = new eod_swap_position(); - if (eodPosition == null || td.TradeDate == settleDate) + if (eodPosition == null) { eodPosi = SaveCurrentEodInitalPosi(posi, td, settleDate, preSettleDate, unwindEvents); } @@ -1259,19 +1259,18 @@ namespace YLErp.Modules.SwapModule curretEod.PosiNetFeePrice = position.PosiNetFeePrice; curretEod.PosiNetNoFeePrice = position.PosiNetNoFeePrice; curretEod.PosiQuantity = position.PosiQuantity; - curretEod.PosiTradingFee = -position.PosiTradingFee * directionRatio; + curretEod.PosiFeePending = -position.PosiTradingFeePending * directionRatio; } else { - var eventTradingFee = openFlowEvents.Sum(s => s.TradingFee); - curretEod.PosiTradingFee = eod.PosiTradingFee - eventTradingFee * directionRatio; + var eventTradingFee = openFlowEvents.Sum(s => s.TradingFeePending); + curretEod.PosiFeePending = eod.PosiFeePending - eventTradingFee * directionRatio; if (openFlowEvents.Count() == 0) { curretEod.PosiNetPrice = eod.PosiNetPrice; curretEod.PosiGrossPrice = eod.PosiGrossPrice; curretEod.PosiNetFeePrice = eod.PosiNetFeePrice; curretEod.PosiNetNoFeePrice = eod.PosiNetNoFeePrice; - curretEod.PosiFeePending = curretEod.PosiFeePending<0 ? 0: curretEod.PosiFeePending; } else //平仓数量一定<持仓数量 { diff --git a/YLErpDAL/Modules/SwapModule/SwapTradeService.cs b/YLErpDAL/Modules/SwapModule/SwapTradeService.cs index a5256f69..10845c4e 100644 --- a/YLErpDAL/Modules/SwapModule/SwapTradeService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapTradeService.cs @@ -412,6 +412,7 @@ namespace YLErp.Modules.SwapModule interestPosition.interest_rule = swapFloatRate.interest_rule; interestPosition.interest_rest_days = swapFloatRate.interest_rest_days; interestPosition.IsAnnualized = swapFloatRate.is_annualized ?? false; + interestPosition.InterestType = swapFloatRate.interest_type??0; } var interval = new IntervalModel() { diff --git a/YLErpWeb/App_Docs/导入模板/阶梯费率导入模板.xlsx b/YLErpWeb/App_Docs/导入模板/阶梯费率导入模板.xlsx index da4825b9..d7ffdcec 100644 Binary files a/YLErpWeb/App_Docs/导入模板/阶梯费率导入模板.xlsx and b/YLErpWeb/App_Docs/导入模板/阶梯费率导入模板.xlsx differ diff --git a/YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx b/YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx index 4c4ea2b2..43f1b2e8 100644 Binary files a/YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx and b/YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx differ diff --git a/YLErpWeb/App_Docs/导出模板/资金监控模板1.xlsx b/YLErpWeb/App_Docs/导出模板/资金监控模板1.xlsx index 989cc2e6..939e31c3 100644 Binary files a/YLErpWeb/App_Docs/导出模板/资金监控模板1.xlsx and b/YLErpWeb/App_Docs/导出模板/资金监控模板1.xlsx differ diff --git a/YLErpWeb/App_Docs/导出模板/阶梯费率导出模板.xlsx b/YLErpWeb/App_Docs/导出模板/阶梯费率导出模板.xlsx index 8200d7ad..d8f4b40a 100644 Binary files a/YLErpWeb/App_Docs/导出模板/阶梯费率导出模板.xlsx and b/YLErpWeb/App_Docs/导出模板/阶梯费率导出模板.xlsx differ diff --git a/YLErpWeb/Controllers/clientController.cs b/YLErpWeb/Controllers/clientController.cs index 90ff4066..85a8f946 100644 --- a/YLErpWeb/Controllers/clientController.cs +++ b/YLErpWeb/Controllers/clientController.cs @@ -690,6 +690,7 @@ namespace YLErp.Web.Controllers x.SwapMarketAmountPercent=clientBalance.SwapMarketAmountPercent; x.MaintenanceMargin=clientBalance.MaintenanceMargin; x.NeedAddMargin=clientBalance.NeedAddMargin; + x.LastDayRemainFund=clientBalance.LastDayRemainFund; if (clientBalance.MarginOccupation == 0) { x.WorstCastClientPayableRatio = 10000; @@ -838,7 +839,7 @@ namespace YLErp.Web.Controllers WinLossSum = pairs["WinLossSum"], PositionPvSum = PS.Config.IsPVRounded ? pairs["RoundedPositionPvSum"] : pairs["PositionPvSum"], PositionPnlSum = PS.Config.IsPVRounded ? pairs["RoundedPositionPnlSum"] : pairs["PositionPnlSum"], - TotalAmountSum = PS.Config.IsPVRounded ? pairs["RoundedTotalAmountSum"] : pairs["TotalAmountSum"], + LastDayRemainFundSum = pairs["LastDayRemainFundSum"], NetFundSum = pairs["NetFundSum"], NetFundAllSum = pairs["NetFundAllSum"], OtherFundSum = pairs["OtherFundSum"], @@ -848,7 +849,7 @@ namespace YLErp.Web.Controllers DesirableFundSum = pairs["DesirableFundSum"], MySideMarginSum = pairs["MySideMarginSum"], VmFundSumSum = pairs["VmFundSumSum"], - MarginBalanceSum = pairs["MarginBalanceSum"], + MaintenanceMarginSum = pairs["MaintenanceMarginSum"], SwapMarketAmountSum = pairs["SwapMarketAmountSum"], InfoList = searchList.rows }; diff --git a/YLErpWeb/Views/SwapRate/Detail.cshtml b/YLErpWeb/Views/SwapRate/Detail.cshtml index 0c24b21e..9480df1b 100644 --- a/YLErpWeb/Views/SwapRate/Detail.cshtml +++ b/YLErpWeb/Views/SwapRate/Detail.cshtml @@ -72,28 +72,6 @@ 优惠累计量下限 @Model.DiscountAccDown.OtcFormatMoney(true) - - 现券对冲交易费用 - @if (Model.BackDeskChargeIsPercent==true) - { - @Model.FrontDeskCharge.OtcFormatTenThousandsPercent(4) - } - else - { - @Model.FrontDeskCharge.OtcFormatMoney(true) 元/笔 - } - - - 现券对冲结算费用 - @if (Model.BackDeskChargeIsPercent == true) - { - @Model.BackDeskCharge.OtcFormatTenThousandsPercent(4) - } - else - { - @Model.BackDeskCharge.OtcFormatMoney(true) 元/笔 - } - diff --git a/YLErpWeb/Views/SwapRate/Edit.cshtml b/YLErpWeb/Views/SwapRate/Edit.cshtml index 38e7881e..358d6331 100644 --- a/YLErpWeb/Views/SwapRate/Edit.cshtml +++ b/YLErpWeb/Views/SwapRate/Edit.cshtml @@ -73,28 +73,6 @@ * -
- - - -
-
- - - -