From 327a4158a5d9240a93305d0b85b2faea280405b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=96=B9=E6=B5=B7?= Date: Wed, 5 Jun 2024 14:37:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=AE=9A=E4=B9=89=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=B1=BB=E5=9E=8B=EF=BC=8C=E5=88=A0=E9=99=A4=E6=89=80?= =?UTF-8?q?=E6=9C=89=E5=88=A4=E6=96=AD=E5=B1=B1=E8=A5=BF=E5=9B=BA=E6=94=B6?= =?UTF-8?q?=E7=9A=84=E5=9C=B0=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Framework/YLErp.Core/ConsGlobal.cs | 4 +- .../BLL/EodSettlement/ClientBalanceUtility.cs | 30 +---- YLErpDAL/BLL/EodSettlement/RealtimePnlCalc.cs | 22 +--- YLErpDAL/BLL_System/UserBLL.cs | 6 +- YLErpDAL/Model/Configcolumn.cs | 1 - .../Modules/ClientModule/ClientSaveService.cs | 4 - .../SettlementModule/EodClientBalanceCalc.cs | 18 +-- .../SettlementModule/EodTaskRunner.cs | 7 +- .../ExchangeTradeQueryService.cs | 6 - .../MarginModule/MarginRateSwapService.cs | 46 ++----- .../ClientDingShiReport_ShanXi.cs | 4 - .../SettlementReportFotShanXiService.cs | 9 -- .../Modules/RiskModule/QuotaMonitorService.cs | 81 +++++------- .../SwapModule/SwapEventEmailService.cs | 4 +- .../Modules/SwapModule/SwapTradeService.cs | 16 --- .../Modules/SystemModule/ClientDataModel.cs | 7 - .../DealModule/TradeConfirmService.cs | 2 - .../ConfirmationGenerateService.cs | 35 +---- .../SwapSettlementBillGenerateService.cs | 28 +--- YLErpWeb/App_Data/Menus.txt | 1 - .../导入模板/互换预付金率导入模板.xlsx | Bin 9797 -> 9787 bytes .../App_Docs/导出模板/结算报告模板_浙商.xlsx | Bin 0 -> 19538 bytes YLErpWeb/Common/GlobalData.cs | 7 +- YLErpWeb/Controllers/AccountController.cs | 5 - YLErpWeb/Controllers/SwapTrade2Controller.cs | 27 +--- YLErpWeb/Controllers/clientController.cs | 38 +----- .../Controllers/clientbalanceController.cs | 94 +------------- .../AccountOpeningProcess/clientListV2.cshtml | 1 - .../MarginRateSwap/MarginRateSwapEdit.cshtml | 67 ++-------- .../MarginRateSwap/MarginRateSwapList.cshtml | 12 +- .../MarginRateSwapMonitorV2.cshtml | 1 - YLErpWeb/Views/SwapTrade2/TradeEdit.cshtml | 5 +- .../TradeMarketReport_DmaEodPosition.cshtml | 109 ---------------- .../TradeMarketReport_EodPosition.cshtml | 22 +--- ...etReport_HistoricalPositionSwapFlow.cshtml | 49 +++---- .../TradeMarketReport_PositionSwapFlow.cshtml | 111 ---------------- YLErpWeb/Views/System/UserEdit.cshtml | 4 +- YLErpWeb/Views/TradeConfirmBook/Index.cshtml | 5 - YLErpWeb/Views/client/ClientListV2.cshtml | 1 - .../Views/client/clientRiskMonitor.cshtml | 1 - .../client/clientRiskMonitorBatchSend.cshtml | 47 +------ .../TradeMarketClientSend.cshtml | 16 +-- .../clientbalance/TradeMarketDescSet.cshtml | 14 +- .../clientbalance/TradeMarketReport.cshtml | 61 ++------- .../TradeMarketReport_BalanceStatement.cshtml | 81 +++--------- .../TradeMarketReport_Collateral.cshtml | 49 +------ ...radeMarketReport_HistoricalPosition.cshtml | 15 +-- .../TradeMarketReport_PositionDetails.cshtml | 15 +-- .../TradeMarketReport_PositionSwapFlow.cshtml | 15 +-- YLErpWeb/Views/trade/quotaTrial.cshtml | 30 +---- YLErpWeb/YLErpWeb.csproj | 4 + .../Scripts/app/client/clientRiskMonitor.js | 106 ++------------- .../app/marginRate/marginRateSwapList.js | 16 +-- .../Scripts/app/swapRate/swapRateList.js | 42 ------ .../Scripts/app/swaptrade/swapTradeEdit.js | 7 +- .../Scripts/app/trade/TradeConfirmBook.js | 6 - .../ClientNoDMABalanceTask.cs | 4 +- .../ClientRealBalanceTask.cs | 121 ------------------ .../RealTimeCalcPositionService/Program.cs | 1 - YLerpbase.sln | 9 +- 60 files changed, 197 insertions(+), 1352 deletions(-) create mode 100644 YLErpWeb/App_Docs/导出模板/结算报告模板_浙商.xlsx delete mode 100644 YLErpWeb/Views/SwapTrade2/TradeMarketReport_DmaEodPosition.cshtml delete mode 100644 YLErpWeb/Views/SwapTrade2/TradeMarketReport_PositionSwapFlow.cshtml delete mode 100644 YLWinSer/RealTimeCalcPositionService/ClientRealBalanceTask.cs diff --git a/Framework/YLErp.Core/ConsGlobal.cs b/Framework/YLErp.Core/ConsGlobal.cs index d86d1f37..dc91f9a4 100644 --- a/Framework/YLErp.Core/ConsGlobal.cs +++ b/Framework/YLErp.Core/ConsGlobal.cs @@ -134,7 +134,7 @@ namespace YLErp case HKStock: return "香港股票"; case HKStockIndex: return "香港股指"; case Fund: return "基金及基金专户"; - case TBonds: return (PS.Config.Company == Configuration.CompanyEnum.山西固收) ? "利率债" : "国债"; + case TBonds: return "利率债"; case GoldFutures: return "黄金期货"; case TBFutures: return "国债期货"; case OtherFutures: return "其他期货"; @@ -231,7 +231,7 @@ namespace YLErp new SelectItem { Text = "香港股票" ,Value = HKStock}, new SelectItem { Text = "香港股指" ,Value = HKStockIndex}, new SelectItem { Text = "基金及基金专户" ,Value = Fund}, - new SelectItem { Text = (PS.Config.Company == Configuration.CompanyEnum.山西固收)?"利率债":"国债" ,Value = TBonds}, + new SelectItem { Text = "利率债" ,Value = TBonds}, new SelectItem { Text = "信用债" ,Value = CreditBonds}, new SelectItem { Text = "其它债券" ,Value = OtherBonds}, new SelectItem { Text = "黄金期货" ,Value = GoldFutures}, diff --git a/YLErpDAL/BLL/EodSettlement/ClientBalanceUtility.cs b/YLErpDAL/BLL/EodSettlement/ClientBalanceUtility.cs index bae6d21c..532da6ca 100644 --- a/YLErpDAL/BLL/EodSettlement/ClientBalanceUtility.cs +++ b/YLErpDAL/BLL/EodSettlement/ClientBalanceUtility.cs @@ -226,7 +226,7 @@ namespace YLErp.BLL.EodSettlement var marginRate = client?.MarginRate ?? 0; data.AvailableAmount = data.AmountFund + (data.PayableMargin * marginRate); } - else if (PS.Config.Is山西固收) + else { data.AvailableAmount = data.AmountFund + data.TotalCredit + data.PayableMargin + data.GuaranteesTotalAmount; data.MinusPayableMarginTotal = data.MinusPayableMargin; @@ -327,24 +327,7 @@ namespace YLErp.BLL.EodSettlement balance.TotalCredit = data.TotalCredit; balance.PayableMargin = data.PayableMargin; balance.GuaranteesTotalAmount = data.GuaranteesTotalAmount; - if (PS.Config.Is国投) - { - balance.AvailableAmount = balance.AmountFund + balance.TotalCredit + balance.PayableMargin; - } - else if (PS.Config.Is伴兴 || PS.Config.Is湘财) - { - balance.AvailableAmount += balance.TotalCredit; - } - else if (PS.Config.Is东吴) - { - // 可用金额 - var marginRate = client?.MarginRate ?? 0; - balance.AvailableAmount = balance.AmountFund + (balance.PayableMargin * marginRate); - } - else if (PS.Config.Is山西固收) - { - balance.AvailableAmount = balance.AmountFund + balance.TotalCredit + balance.PayableMargin + balance.GuaranteesTotalAmount; - } + balance.AvailableAmount = balance.AmountFund + balance.TotalCredit + balance.PayableMargin + balance.GuaranteesTotalAmount; balance.DeltaMargin = data.DeltaMargin; balance.SwapPayableMargin = data.SwapPayableMargin; balance.SwapUnMargin = data.SwapUnPayableMargin; @@ -366,14 +349,7 @@ namespace YLErp.BLL.EodSettlement balance.SellPv = data.SellPv; balance.PrepaymentAmount = data.PrepaymentAmount; balance.DaliyPnl = data.DaliyPnl; - if (PS.Config.Is山西固收) - { - balance.RoundedDaliyPnl = data.RoundedPositionPnl - (lastClientBalanceDaily?.RoundedPositionPnl ?? 0); - } - else - { - balance.RoundedDaliyPnl = (data.TdWinLoss ?? 0) + data.RoundedPositionPnl - (lastClientBalanceDaily?.RoundedPositionPnl ?? 0); - } + balance.RoundedDaliyPnl = data.RoundedPositionPnl - (lastClientBalanceDaily?.RoundedPositionPnl ?? 0); balance.PositionPnl = data.PositionPnl; balance.RoundedPositionPnl = data.RoundedPositionPnl; balance.ClientSellPositionPnl = data.ClientSellPositionPnl; diff --git a/YLErpDAL/BLL/EodSettlement/RealtimePnlCalc.cs b/YLErpDAL/BLL/EodSettlement/RealtimePnlCalc.cs index 9c2679e2..97d9d8ea 100644 --- a/YLErpDAL/BLL/EodSettlement/RealtimePnlCalc.cs +++ b/YLErpDAL/BLL/EodSettlement/RealtimePnlCalc.cs @@ -562,7 +562,6 @@ namespace YLErp.BLL.Eod var multiplier = ConsGlobal.InstrumentType.IsBond(lastPosi.UnderlyingInstrumentType) ? ConsGlobal.bondShowPriceMultiple : 1; var price = lastPosi.PosiGrossPrice * multiplier; var netPrice = lastPosi.PosiNetNoFeePrice * multiplier; - var dma = trades.Any(s=>s.StructureType== "定义文件型债券收益互换"); var um = DataCacheProvider.GetUnderlyingDataSource().GetData(pair.Key.UnderlyingCode); clientPosition = CreateClientPosition(clientPosition, pair.Key.ClientId, pair.Key.UnderlyingCode, netPrice??0, price, posiQty / 10000, comminsions, positionType == PositionTypeFlag.Long ? 0 : 1, lastPosi.ContractSize, pair.Key.PosiDirection); if (pair.Key.PosiDirection==(int)SwapDirectionEnum.支付) @@ -571,15 +570,7 @@ namespace YLErp.BLL.Eod dealSwapFlowIds.AddRange(newSwapFlows.Select(s => s.id)); if (flowMerges.Any()) { - if (client.SwapTradeType != 1) - { - MergeSwapPosition(flowMerges, positionType, clientPosition, posiQty); - } - else - { - swapTradeAutoService.MergeSwapPositionAvg(newSwapFlows, positionGroupItems.ToList(), clientPosition, multiplier, (int)positionType); - } - + MergeSwapPosition(flowMerges, positionType, clientPosition, posiQty); } } clientPosition.update_user = 0; @@ -628,16 +619,7 @@ namespace YLErp.BLL.Eod } var clientPosition = clientPositions.FirstOrDefault(x => x.client_id == swapFlowGroup.Key.ClientId && x.security_id == swapFlowGroup.Key.UnderlyingCode); clientPosition = CreateClientPosition(clientPosition, swapFlowGroup.Key.ClientId ?? 0, swapFlowGroup.Key.UnderlyingCode, flowMergeMax.TradingAmountNetAvg ?? 0, flowMergeMax.TradingAmountAvg, qty / 10000, comminsions, flowMergeMax.BsType == (int)PositionTypeFlag.Long ? 0 : 1, flowMergeMax.ContractSize, (int)SwapDirectionEnum.支付); - if (client.SwapTradeType != 1) - { - clientPosition.position_qty = qty / 10000; - } - else - { - var flowList = swapFlowGroup.OrderBy(o=>o.OptTime).ToList(); - var posiType= flowList.First().BsType; - swapTradeAutoService.MergeSwapPositionAvg(flowList, null, clientPosition, multiplier, posiType); - } + clientPosition.position_qty = qty / 10000; clientPosition.update_user = 0; if (clientPosition.id == 0) { diff --git a/YLErpDAL/BLL_System/UserBLL.cs b/YLErpDAL/BLL_System/UserBLL.cs index 7a0977db..941902c4 100644 --- a/YLErpDAL/BLL_System/UserBLL.cs +++ b/YLErpDAL/BLL_System/UserBLL.cs @@ -329,9 +329,9 @@ namespace BaseOUDAL if (AccountPost == 0) { return string.Empty; } switch (AccountPost) { - case 1:if (PS.Config.Is山西固收) return "对冲交易询价对象"; return "客户经理"; - case 2:if (PS.Config.Is山西固收) return "非对冲交易询价对象"; return "交易员"; - default: if (PS.Config.Is山西固收) return "对冲交易询价对象,非对冲交易询价对象"; return "客户经理,交易员"; + case 1: return "对冲交易询价对象"; + case 2: return "非对冲交易询价对象"; + default: return "对冲交易询价对象,非对冲交易询价对象"; } } diff --git a/YLErpDAL/Model/Configcolumn.cs b/YLErpDAL/Model/Configcolumn.cs index 77804590..16f2adb8 100644 --- a/YLErpDAL/Model/Configcolumn.cs +++ b/YLErpDAL/Model/Configcolumn.cs @@ -155,7 +155,6 @@ namespace YLErp.Model public const string 交易预付金配置 = "tradeMarginTemplateList"; public const string 互换估值 = "SettmentEodSwapPositionList"; - public const string 定义文件互换估值 = "DmaSettmentEodSwapPositionList"; public const string 衡泰对账 = "compare_heitai_data"; } diff --git a/YLErpDAL/Modules/ClientModule/ClientSaveService.cs b/YLErpDAL/Modules/ClientModule/ClientSaveService.cs index 3f50702f..468306f9 100644 --- a/YLErpDAL/Modules/ClientModule/ClientSaveService.cs +++ b/YLErpDAL/Modules/ClientModule/ClientSaveService.cs @@ -696,10 +696,6 @@ namespace YLErp.Modules.ClientModule { throw new ServiceException("客户名称 必须填写"); } - if (string.IsNullOrWhiteSpace(req.SettleFileNumber)&&req.SwapTradeType==1) - { - throw new ServiceException("定义文件编号 必须填写"); - } //if (string.IsNullOrWhiteSpace(req.)) //{ // throw new ServiceException("自定义必须填写"); diff --git a/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs b/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs index 1522fe4c..14815698 100644 --- a/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs +++ b/YLErpDAL/Modules/EodModule/SettlementModule/EodClientBalanceCalc.cs @@ -112,23 +112,7 @@ namespace YLErp.Modules.EodModule.SettlementModule eodRiskList = eodRiskList.Where(t => reqClientIds.Contains(t.ClientId)).ToList(); } //获取所有用户当日Eod_pnl - IEnumerable eodpnlList; - if (PS.Config.Company == CompanyEnum.国投) - { - eodpnlList = DbContext.eod_trade_position_openvol.Where(t => t.ValueDate == balanceDate).ToList(); - } - else if (PS.Config.Company == CompanyEnum.格林大华) - { - eodpnlList = DbContext.eod_trade_position.Where(t => t.ValueDate == balanceDate).ToList(); - } - else if (PS.Config.Is山西固收) - { - eodpnlList = DbContext.eod_trade_position.Where(t => t.ValueDate == balanceDate && t.TradeType != "收益互换").ToList(); - } - else - { - eodpnlList = DbContext.eod_trade_position.Where(t => t.ValueDate == balanceDate).ToList(); - } + IEnumerable eodpnlList = DbContext.eod_trade_position.Where(t => t.ValueDate == balanceDate && t.TradeType != "收益互换").ToList(); if (reqClientIds != null && reqClientIds.Any()) { diff --git a/YLErpDAL/Modules/EodModule/SettlementModule/EodTaskRunner.cs b/YLErpDAL/Modules/EodModule/SettlementModule/EodTaskRunner.cs index a0b59f69..d632c345 100644 --- a/YLErpDAL/Modules/EodModule/SettlementModule/EodTaskRunner.cs +++ b/YLErpDAL/Modules/EodModule/SettlementModule/EodTaskRunner.cs @@ -578,11 +578,8 @@ where {nameof(t.TaskStartTime)}>'{startDateStr}' and {nameof(t.TaskState)}={(int SetTaskStep("检查当日到期交易"); new EodCheckMaturityTrade(_context).Execute();//t } - if (PS.Config.Is山西固收) - { - new EodCheckMonitoredTrade(_context).CalculateMargin(); - new EodCheckMonitoredTrade(_context).ExecuteEodSwap(); - } + new EodCheckMonitoredTrade(_context).CalculateMargin(); + new EodCheckMonitoredTrade(_context).ExecuteEodSwap(); tasks = new Task[4]; if (_request.IsSettleExchangeTrades) diff --git a/YLErpDAL/Modules/ExchangeTradeModule/ExchangeTradeQueryService.cs b/YLErpDAL/Modules/ExchangeTradeModule/ExchangeTradeQueryService.cs index dd9b0cdf..d27f0f8e 100644 --- a/YLErpDAL/Modules/ExchangeTradeModule/ExchangeTradeQueryService.cs +++ b/YLErpDAL/Modules/ExchangeTradeModule/ExchangeTradeQueryService.cs @@ -126,12 +126,6 @@ namespace YLErp.Modules.ExchangeTradeModule item.UnderlyingPrice = Underlying.Price.OtcFormat(OtcFormatFlag.marginRate); item.PositionCost = item.PositionCount * Underlying.CountRatio; item.CountRatio = Underlying.CountRatio; - //if (PS.Config.Company == Configuration.CompanyEnum.山西固收) - //{ - // item.Position=Math.Abs(item.Position); - // item.PositionCost = Math.Abs(item.PositionCost); - // item.PositionCount=Math.Abs(item.PositionCount); - //} } return list; diff --git a/YLErpDAL/Modules/MarginModule/MarginRateSwapService.cs b/YLErpDAL/Modules/MarginModule/MarginRateSwapService.cs index faa8700c..98a81cee 100644 --- a/YLErpDAL/Modules/MarginModule/MarginRateSwapService.cs +++ b/YLErpDAL/Modules/MarginModule/MarginRateSwapService.cs @@ -86,15 +86,10 @@ namespace YLErp.Modules.MarginModule InitMarginRebateRate = reader.GetDecimalPercent("期初预付金利率", false) ?? 0, AddToMarginRebateRate= reader.GetDecimalPercent("追加预付金利率", false) ?? 0, LongInitMarginRate = reader.GetDecimalPercent("多头期初预付金率", false), - ShortInitMarginRate = reader.GetDecimalPercent("空头期初预付金率", false), - Type = reader.GetString("类型", true) + ShortInitMarginRate = reader.GetDecimalPercent("空头期初预付金率", false) }; var client = new Client(); - if (marginRate.Type != "普通" && marginRate.Type != "多空组合") - { - throw new ServiceException("类型设置错误,类型必须位[普通]或[定义文件]"); - } - marginRate.Type = marginRate.Type == "普通" ? "品种" : "多空组合"; + marginRate.Type = "品种"; if (!string.IsNullOrWhiteSpace(marginRate.ClientName)) { client = DataCacheProvider.GetClientDataSource().AsQueryable().Where(o => o.Name == marginRate.ClientName).FirstOrDefault(); @@ -114,32 +109,12 @@ namespace YLErp.Modules.MarginModule { throw new ServiceException("无数据"); } - if (PS.Config.Is山西固收) + if (marginrate.InitMarginRate < 0) { - if (marginrate.InitMarginRate < 0) - { - throw new ServiceException("预付金率数据格式错"); - } - } - else - { - if (marginrate.InitMarginRate < 0 || marginrate.ClosePositionLine < 0 || marginrate.WarningLine < 0) - { - throw new ServiceException("预付金率数据格式错"); - } - } - //if (marginrate.Type == "品种" && marginrate.VarietyId == 0) - //{ - // throw new ServiceException("设置品种预付金,品种代码必填"); - //} - - //品种预付金设置验证 - if (marginrate.VarietyId>0) - { - checkMarginRate(marginrate); + throw new ServiceException("预付金率数据格式错"); } var dbMarginRate = new client_marginrate(); - var marginrateType = marginrate.Type == "多空组合" ? "定义文件" : "普通"; + var marginrateType = "普通"; if (marginrate.id != 0) { dbMarginRate = DbContext.client_marginrate.Find(marginrate.id); @@ -148,10 +123,7 @@ namespace YLErp.Modules.MarginModule throw new ServiceException("未找到该记录"); } dbMarginRate.ClientId = marginrate.ClientId; - if (marginrate.Type == "品种") - { - dbMarginRate.VarietyId = marginrate.VarietyId; - } + dbMarginRate.VarietyId = marginrate.VarietyId; dbMarginRate.Type = marginrate.Type; dbMarginRate.InitMarginRate = marginrate.InitMarginRate; dbMarginRate.ClosePositionLine = marginrate.ClosePositionLine; @@ -164,8 +136,7 @@ namespace YLErp.Modules.MarginModule dbMarginRate.OptId = UserId; dbMarginRate.OptName = UserName; dbMarginRate.OptDate = DateTime.Now; - if (DbContext.client_marginrate.Any(o => - (marginrate.Type == "多空组合" || (marginrate.Type == "品种" && o.VarietyId == marginrate.VarietyId)) + if (DbContext.client_marginrate.Any(o =>marginrate.Type == "品种" && o.VarietyId == marginrate.VarietyId && o.ClientId == marginrate.ClientId && o.ValueDate == marginrate.ValueDate && o.id != marginrate.id)) @@ -175,8 +146,7 @@ namespace YLErp.Modules.MarginModule } else { - dbMarginRate = DbContext.client_marginrate.Where(o => - (marginrate.Type == "多空组合" || (marginrate.Type == "品种" && o.VarietyId == marginrate.VarietyId)) + dbMarginRate = DbContext.client_marginrate.Where(o =>marginrate.Type == "品种" && o.VarietyId == marginrate.VarietyId && o.Type == marginrate.Type && o.ClientId == marginrate.ClientId && o.ValueDate == marginrate.ValueDate).FirstOrDefault(); diff --git a/YLErpDAL/Modules/ReportModule/SettlementReportModule/ClientDingShiReport_ShanXi.cs b/YLErpDAL/Modules/ReportModule/SettlementReportModule/ClientDingShiReport_ShanXi.cs index 3728e17b..efbe7d31 100644 --- a/YLErpDAL/Modules/ReportModule/SettlementReportModule/ClientDingShiReport_ShanXi.cs +++ b/YLErpDAL/Modules/ReportModule/SettlementReportModule/ClientDingShiReport_ShanXi.cs @@ -18,10 +18,6 @@ namespace YLErp.Modules.ReportModule.SettlementReportModule /// public List EodSwapPositions { get; set; } /// - /// 定义文件互换估值 - /// - public List DmaEodSwapPositions { get; set; } - /// /// 互换持仓明细 /// public List SwapPositions { get; set; } diff --git a/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs b/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs index 8bbe2887..50f1be78 100644 --- a/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs +++ b/YLErpDAL/Modules/ReportModule/SettlementReportModule/SettlementReportFotShanXiService.cs @@ -63,11 +63,6 @@ namespace YLErp.Modules.ReportModule.SettlementReportModule var eodReq = new ClientSwapPositionRequest { ClientId = emailData.ClientId, ValueDate = emailData.To, ValueDateFrom = emailData.From,page=1, rows=10000,StructureType= "普通债券类收益互换" }; report.EodSwapPositions = swapEodPositionService.SearchEodPositionList(eodReq).rows.ToList(); } - if (emailData.SendContent.Contains("定义文件互换估值")) - { - var eodReq = new ClientSwapPositionRequest { ClientId = emailData.ClientId, ValueDate = emailData.To, ValueDateFrom = emailData.From, page = 1, rows = 10000, StructureType = "定义文件型债券收益互换" }; - report.DmaEodSwapPositions = swapEodPositionService.SearchEodPositionList(eodReq).rows.ToList(); - } if (emailData.SendContent.Contains("互换持仓明细")) { var eodReq = new ClientSwapPositionRequest { ClientId = emailData.ClientId, ValueDate = emailData.To, ValueDateFrom = emailData.From, page = 1, rows = 10000 }; @@ -240,10 +235,6 @@ namespace YLErp.Modules.ReportModule.SettlementReportModule { modelDict.Add("互换估值", report.EodSwapPositions); } - if (report.DmaEodSwapPositions != null) - { - modelDict.Add("定义文件互换估值", report.DmaEodSwapPositions); - } if (report.SwapPositions != null) { modelDict.Add("互换持仓明细", report.SwapPositions); diff --git a/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs b/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs index 65152d31..8fc1eb00 100644 --- a/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs +++ b/YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs @@ -3613,38 +3613,34 @@ namespace YLErp.Modules.RiskModule Status = QuotaSettingApprovalStatus.Valid, }); - if (PS.Config.Is山西固收) + //交易-互换价格偏离比例 + _quotaSettings.Add(new QuotaSetting() { - //交易-互换价格偏离比例 - _quotaSettings.Add(new QuotaSetting() - { - QuotaType = QuotaTypeEnum.TRADE, - QuotaRange = 0, - QuotaIndex = "互换价格偏离比例", - QuotaLowerLimit = null, - QuotaUpperLimit = null, - WarningLowerLimit = null, - WarningUpperLimit = null, - Percent = true, - IsValid = true, - Status = QuotaSettingApprovalStatus.Valid, - }); - //交易-DV01 - _quotaSettings.Add(new QuotaSetting() - { - QuotaType = QuotaTypeEnum.TRADE, - QuotaRange = 0, - QuotaIndex = "DV01", - QuotaLowerLimit = null, - QuotaUpperLimit = null, - WarningLowerLimit = null, - WarningUpperLimit = null, - Percent = false, - IsValid = true, - Status = QuotaSettingApprovalStatus.Valid, - }); - } - + QuotaType = QuotaTypeEnum.TRADE, + QuotaRange = 0, + QuotaIndex = "互换价格偏离比例", + QuotaLowerLimit = null, + QuotaUpperLimit = null, + WarningLowerLimit = null, + WarningUpperLimit = null, + Percent = true, + IsValid = true, + Status = QuotaSettingApprovalStatus.Valid, + }); + //交易-DV01 + _quotaSettings.Add(new QuotaSetting() + { + QuotaType = QuotaTypeEnum.TRADE, + QuotaRange = 0, + QuotaIndex = "DV01", + QuotaLowerLimit = null, + QuotaUpperLimit = null, + WarningLowerLimit = null, + WarningUpperLimit = null, + Percent = false, + IsValid = true, + Status = QuotaSettingApprovalStatus.Valid, + }); #endregion #region 客户 @@ -4381,13 +4377,6 @@ namespace YLErp.Modules.RiskModule return true; } var lastTrial = trialService.QueryLastQuotaTrial(tradeId, true); - if (quotaObj.TrialStatus == QuotaTrialStatusEnum.Error && !PS.Config.Is山西固收 - && (lastTrial == null || lastTrial.TrialStatus == QuotaTrialStatusEnum.Error))//上次没算或上次和这次试算结果都不通过,直接拒绝 - { - res.RetCode = TradeOpenRetCode.QuotaTrialError; - res.ErrorMsg = $"试算不通过,不允许确认成交操作"; - return false; - } if (quotaObj.TrialStatus == QuotaTrialStatusEnum.Success) { new TradeRiskCheckLogService(UserInfo).AddLog(quotaObj); @@ -4653,11 +4642,8 @@ namespace YLErp.Modules.RiskModule } string quotaWarningMsg = "", quotaMsg = ""; bool quotaWarningStatus = true, quotaStatus = true; - if (PS.Config.Is山西固收 && tradeObj.StructureType != "定义文件型债券收益互换") - { - var positions = DbContext.swap_position.Where(x => x.SwapTradeId == tradeId && x.PosiQuantity > 0 && x.IsInitial && !x.Invalid).ToList(); - quotaStatus = CheckUnderlyingWhiteList(tradeObj.ClientId, positions, out quotaMsg); - } + var positions = DbContext.swap_position.Where(x => x.SwapTradeId == tradeId && x.PosiQuantity > 0 && x.IsInitial && !x.Invalid).ToList(); + quotaStatus = CheckUnderlyingWhiteList(tradeObj.ClientId, positions, out quotaMsg); if (quotaStatus) { var allList = QueryPrecheckQuotaSetting(false); @@ -4760,14 +4746,7 @@ namespace YLErp.Modules.RiskModule } else { - if (PS.Config.ErpElement.Company == Configuration.CompanyEnum.天风 || PS.Config.Is山西固收) - { - result.TrialStatus = QuotaTrialStatusEnum.Error; - } - else - { - result.TrialStatus = QuotaTrialStatusEnum.Warning; - } + result.TrialStatus = QuotaTrialStatusEnum.Error; } } result.TradeId = tradeObj.id; diff --git a/YLErpDAL/Modules/SwapModule/SwapEventEmailService.cs b/YLErpDAL/Modules/SwapModule/SwapEventEmailService.cs index 0a471402..73cd88ab 100644 --- a/YLErpDAL/Modules/SwapModule/SwapEventEmailService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapEventEmailService.cs @@ -65,7 +65,7 @@ namespace YLErp.Modules.SwapModule from se in setemp.DefaultIfEmpty() join em in emailquery on f.id equals em.event_id into emTmp from em in emTmp.DefaultIfEmpty() - where t.ValidState == "Valid" && t.StructureType != "多空组合" && t.StructureType != "定义文件型债券收益互换" + where t.ValidState == "Valid" && t.TradeType == "收益互换" select new SwapEventEmailResponse { event_id = f.id, @@ -158,7 +158,7 @@ namespace YLErp.Modules.SwapModule from se in setemp.DefaultIfEmpty() join em in DbContext.swap_event_email on f.id equals em.event_id into emTmp from em in emTmp.DefaultIfEmpty() - where t.ValidState == "Valid" && t.StructureType != "多空组合" && t.StructureType != "定义文件型债券收益互换" && (em == null || em.send_email == false) + where t.ValidState == "Valid" && t.TradeType=="收益互换" && (em == null || em.send_email == false) && clientIds.Contains(f.ClientId) && f.UnwindDate == valueDate && f.PayDirection > 0 && eventTypes.Contains(f.EventType) && f.DataState == (int)SwapFlowDateStateEnum.完成 select f; diff --git a/YLErpDAL/Modules/SwapModule/SwapTradeService.cs b/YLErpDAL/Modules/SwapModule/SwapTradeService.cs index ef01a2d5..3dcdf1ee 100644 --- a/YLErpDAL/Modules/SwapModule/SwapTradeService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapTradeService.cs @@ -140,22 +140,6 @@ namespace YLErp.Modules.SwapModule var posiPositions = positions.Where(x => x.PosiDirection > 0).ToList(); } /// - /// 校验 定义文件型债券收益互换 持仓标的只能存在一笔 - /// - /// - /// - public void ExistLongShortTrade(trade td) - { - var longshortName = "定义文件型债券收益互换"; - if (td.StructureType == longshortName) - { - if (DbContext.trade.Any(a => a.ClientId == td.ClientId && a.TradeStatus == "确认成交" && a.ValidState != ConsGlobal.InValid && a.StructureType == longshortName && a.UnderlyingCode == td.UnderlyingCode && a.id != td.id)) - { - throw new ServiceException($"{td.ClientName}已经存在标的为{td.UnderlyingCode}的定义文件型债券收益互换交易"); - } - } - } - /// /// 单标的生成开仓事件 /// /// diff --git a/YLErpDAL/Modules/SystemModule/ClientDataModel.cs b/YLErpDAL/Modules/SystemModule/ClientDataModel.cs index ba68169c..0f8ce8f4 100644 --- a/YLErpDAL/Modules/SystemModule/ClientDataModel.cs +++ b/YLErpDAL/Modules/SystemModule/ClientDataModel.cs @@ -110,13 +110,6 @@ namespace YLErp.Modules.SystemModule Value = m.id.ToString() }).ToList(); } - public static List GetClientSwapType() - { - List list = new List(); - list.Add(new SelectItem { Text = "普通", Value = "0" }); - list.Add(new SelectItem { Text = "定义文件", Value = "1" }); - return list; - } /// /// 获取变更字段列表 /// diff --git a/YLErpDAL/Modules/TradeModule/DealModule/TradeConfirmService.cs b/YLErpDAL/Modules/TradeModule/DealModule/TradeConfirmService.cs index 23397eda..28490f99 100644 --- a/YLErpDAL/Modules/TradeModule/DealModule/TradeConfirmService.cs +++ b/YLErpDAL/Modules/TradeModule/DealModule/TradeConfirmService.cs @@ -179,8 +179,6 @@ namespace YLErp.Modules.TradeModule.DealModule result.ErrorMsg = $"客户:{td.ClientName},交易编号:{td.TradeNumber},状态为:{td.TradeStatus},不能被确认"; return result; } - // 校验定义文件类型互换 - new SwapTradeService(UserInfo).ExistLongShortTrade(td); //判断交易对手方信息是否允许确认 var client = DataCacheProvider.GetClientDataSource().GetData(td.ClientId); diff --git a/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateService.cs b/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateService.cs index 90d9656e..6f5e1b10 100644 --- a/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateService.cs +++ b/YLErpDAL/Modules/TradeModule/DocGenerateModule/ConfirmationGenerateService.cs @@ -57,9 +57,6 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule statusList.Add(ConsTrade.已到期); statusList.Add(ConsTrade.已平仓); statusList.Add(ConsTrade.已执行); - } - if (PS.Config.Is山西固收) - { statusList.Add(ConsTrade.审批中); } TradeDalService service = new TradeDalService(this); @@ -75,47 +72,17 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule //---------------------------------- // 交易现金交割记录 //---------------------------------- - List allTradeList = new List(); - if (PS.Config.Is山西固收) - { - allTradeList = DbContext.trade.Where(x=> tradeIds.Contains(x.id)).ToList(); - } - else - { - allTradeList = service.GetTradeOrEodTradeOfTidASid(tradeIds, SystemValueDate); - } + List allTradeList = allTradeList = DbContext.trade.Where(x => tradeIds.Contains(x.id)).ToList(); if (allTradeList.Count < 1) { throw new ServiceException("没有已确认的记录信息!"); } - //只选中一笔子交易,按一笔子交易生成确认书 - if (PS.Config.Is光大光子 || PS.Config.Is兴业商贸) - { - allTradeList.RemoveAll(x => x.ParentTradeId != 0 && !tradeIds.Contains(x.id)); - } var tradeDic = allTradeList.Where(O => statusList.Contains(O.TradeStatus) && O.ClientId != 0 && O.ParentTradeId == 0) .ToDictionary(n => n.id, n => new trade_contract_group { trade = n }); - if (PS.Config.Is长江) - { - foreach (var item in allTradeList) - { - if (item.ParentTradeId != 0) - { - if (item.StructureType != "牛市价差" && item.StructureType != "熊市价差") - { - if (tradeDic.ContainsKey(item.ParentTradeId)) - { - tradeDic.Remove(item.ParentTradeId); - } - tradeDic.Add(item.id, new trade_contract_group { trade = item }); - } - } - } - } var cashQuery = from trade in allTradeList join tradeCash in DbContext.trade_cash on trade.id equals tradeCash.TradeId where tradeCash.ValidState != ConsGlobal.InValid && !tradeCash.IsDeleted diff --git a/YLErpDAL/Modules/TradeModule/DocGenerateModule/SwapSettlementBillGenerateService.cs b/YLErpDAL/Modules/TradeModule/DocGenerateModule/SwapSettlementBillGenerateService.cs index a68d1679..2a66f0a8 100644 --- a/YLErpDAL/Modules/TradeModule/DocGenerateModule/SwapSettlementBillGenerateService.cs +++ b/YLErpDAL/Modules/TradeModule/DocGenerateModule/SwapSettlementBillGenerateService.cs @@ -68,7 +68,6 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule var resultList = new List(); AppManager.TryResolve(out ITradeSettleBillGenerator generatorV2); Dictionary> noDMAFlows = new Dictionary>(); - Dictionary> DMAFlows = new Dictionary>(); List extendList = null; if (flowEvents != null && flowEvents.Any()) { @@ -105,33 +104,19 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule } if (trade.ValidState!=ConsGlobal.InValid) { - if (trade.StructureType == "多空组合"||trade.StructureType== "定义文件型债券收益互换") + if (noDMAFlows.ContainsKey(trade.ClientId)) { - if (DMAFlows.ContainsKey(trade.ClientId)) - { - DMAFlows[trade.ClientId].Add(flowEvent); - } - else - { - DMAFlows[trade.ClientId] = new List { flowEvent }; - } + noDMAFlows[trade.ClientId].Add(flowEvent); } else { - if (noDMAFlows.ContainsKey(trade.ClientId)) - { - noDMAFlows[trade.ClientId].Add(flowEvent); - } - else - { - noDMAFlows[trade.ClientId] = new List { flowEvent }; - } + noDMAFlows[trade.ClientId] = new List { flowEvent }; } } } - if (noDMAFlows.Count()==0&& DMAFlows.Count()==0) + if (noDMAFlows.Count()==0) { throw new ServiceException("没有需要生成的确认书"); } @@ -140,11 +125,6 @@ namespace YLErp.Modules.TradeModule.DocGenerateModule var noDMAResults = GenerateShanxiSwap(item.Key, item.Value, trades, swapPositions, allFlowEvents, generatorV2, docType); resultList.AddRange(noDMAResults); } - foreach (var item in DMAFlows) - { - var DMAResults = GenerateShanxiSwap(item.Key, item.Value, trades, swapPositions, allFlowEvents, generatorV2, docType); - resultList.AddRange(DMAResults); - } return resultList; } diff --git a/YLErpWeb/App_Data/Menus.txt b/YLErpWeb/App_Data/Menus.txt index f3f44123..18926d39 100644 --- a/YLErpWeb/App_Data/Menus.txt +++ b/YLErpWeb/App_Data/Menus.txt @@ -48,7 +48,6 @@ {Name:"阶梯费率",Rights:["互换簿记预设-阶梯费率"],Url:"SwapRate"}, {Name:"浮动利率",Rights:["互换簿记预设-浮动利率"],Url:"SwapFloatRate"}, {Name:"簿记账户与衡泰关系",Rights:["互换簿记预设-簿记账户与衡泰关系"],Url:"EtradeAccount/Index"}, - {Name:"做市时间配置",Rights:["互换簿记预设-做市时间配置"],Url:"TrsOpen/Index"} ] }, {Name:"数据管理",Rights:["基础参数管理"],Icon:"menu-icon iconone" diff --git a/YLErpWeb/App_Docs/导入模板/互换预付金率导入模板.xlsx b/YLErpWeb/App_Docs/导入模板/互换预付金率导入模板.xlsx index 503d9d1e96f784accef1fb57745a093748b913a0..ffe8cdb6254f25925c87e6910c9dfdeebd525fa0 100644 GIT binary patch delta 2291 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 E0&kckrT_o{ delta 2296 zcmY*bc{J1w7oIU0#xf+b??cwC$vVhucx7*~Pe>ZeAhLyiXd+vdv2WQ$VXVoL8Zrve zFxK%(ldVjnRQ7zm{qgmE_m6w-IrsVFp8Gt{J-6HPr6pkw3WMaUOtL~iAPSxaMF5_) z*f~@cYhi_CGYkx|s>e|Wuu437t!~Z?oQ$9r!Rpo! zEKl;PXi9tsOgkqy(iS(4)wDOTmCDsEPx^z}9PsF^2kz+^W|EGLq<4|#0M@3NJs>24 zWWlWB#YgpE-gZCMCzKZ3rqF=n?%}Tp{oJ{WA?PgY=+#w!8gDr;VlS!_(b1uJX9xF_ zSwlVK_&0t+BC1!G-xRO9fA1dP$~fDJ--?R|f4Hr8))MABW6K7ycd-K+9xH5k$Qlp4 zk=)l`O*W>-;+~6Qe0az}60%G-WJMv}R^eF`Z3-D(Jf8Gf9YzQOj z3({-p9@@xSVr#wLYg=NiDpZz-FRS%Y=be2M>U!sl79AZ(qAx`N)1m>ShN++@^U1V# zLdAB*`R2N3XB8Gs>Yl?6(F@lN+_X-{_v_d&d|a0(ka>@TDj)ypDUT>ZNl?f5Hj!X* zJ@U1w0{`*gBra<=q}XW%n!Jq_^z}!YmStUE@73sB@Ky5qT&OK5*9j-4mh6Y>-t6p% z92kl+s?$9e=S%_gDzXkU4KBlqDIHDm9O_(jF<%v#OFTu_V54}*@=Rl)z)lRgMPr7% z;dkM?gdzN!xo}|kjXwH&yWy2uMt5)6aCjnpMm)5uGNNswdAHfYXvYvvtY;&x1T-sY z)Q>b*ywahXC;E4poMEjGW8H}t6P`l1`fl=rKu1Rq5WW@y#}7)wTgBOAm|zLojC#&r z)8sJ3t9${g-qRqLu8i2R4*S^&4`Vlfk65jPy^ z7;JQ9e+T2ybs$geKXV^RI;k0+v|iqyGw3*K@DrGm3F&1v)=YXzNEe88w547>Xw2yq#yGp)nV>dK9hwU)NLOT8?8V^hD@?!iY@{yd5PQOB zaqKOvJ1aYBECt#?c~v!Guwd|%xp!i|%0%Dw?bMVL>*`03RA+HcGebeK*DwBjmeEpl zLJ=_RA7tRHYzPFm4#(lHDu7JWAR^hVZUrQ?_uWK3k|_-uN_NCp?8z&Zs=r=obu{cl z_%A$C`_i)qXTz~f4#~lmodjFi62`Q1q~4m|G5SCp=8T3`TkJ7wg!WZJ;dZelyy$e6 zc2lLbrrgQ#&GxU0BR^mtTE5Ha{ry#V1klX3uw#h7fIYUGw3c!ZxXbOIlp8S}WTUzG z^0uPiV(z!o1yEphyZpUp%c)PV-U{tkhUUuBTr``W@80G3ntiW*3)LqQ6bQx$E^i{a zV&?@uA00ZS?umo`rT%xiI6lutRONuabC8b&b-#&p_hN1rLsw45J6yAX}5)oTv zTm;0tw`4)uY}!osc$wTSZqtK`HglDVGG3+k!<|Vn><$Oo5mxCy!tQ8bLiy+d0;MN4 zVIP;yFD!;)V&bz{+llZC!Fn)DW3_SmmnEX9d_reu4@4+)64UH+q)fGS1xej|e-T3g zlWHc{>V_7aFn=rjt&eQPLupA%9=yz$i!3ZJ)~+mA6&Yp{oH73tbLfp~_nK6VT2x7C zHb6f9EGDOxT9dh@sy;Jh>k{Y0RdNPZQ>3e7tITXT>`s*1^^6WdmXelz>`FO@hl_NJ zKi=?c;`+#49IM<|bJ)B6YPT(1-6UID8AY*cn#%bHP5()M;1W|N>N@jcqA$nK;&Nr4 zpn6i2*AE!J9KzdLFT@04rUe2qS6Z7zWx>FLHBnU{Va%#0v3j*q6cRtGRUvSH03-5c z^|6nk`we<-2OIUS89He&!Z=toj7B=1mPp_Ku|A=a20dR8HCASI`Jn)_a=gB64|hS~ zOH9`N1LW7#YZinaTkc9e0ZsG!=~8HWG^Uem3Y+tG*Eh3I_^OTy@jIW~ycCi#(gwJi zJPmTjyn5{NQSh`N;HB{#d+wHF{Iz(e1jVu|pOY{tywT}O4{o9%$4D7>j$Pw~JA;3& zJCBnOBFn6WtO{l?t^dwqjh`6SB&PNH-qz6w+dw%Pj2aa;WPSg%x_8*We=9O&lQ9YQJL2TSt){LG z0(sPg{;iw1EG<|Ua(%a|2pS_)JWklMb-Nw(Or7dK)IjVT2qT>;x7m|lf2&$nB71|y z+?UaRB{LfGd)o#QmXQDXE3%}m!C?H7w6gGj4=NM{68NR_KcR`2N0@@c@qq{-gUj*CGPdAK{B0Rs;or>ua)l=o2z31au$A};86;Q-&m$`h Jg-QS0`VX!UM(zLr diff --git a/YLErpWeb/App_Docs/导出模板/结算报告模板_浙商.xlsx b/YLErpWeb/App_Docs/导出模板/结算报告模板_浙商.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..343eccaaf3d44b7ad80f963d632cc3617d7a31bd GIT binary patch literal 19538 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

PX2&+{E=V3er&k0WlZ9$@P`APq$DlJs{;Cd59 zCE#Ij7i@Np1ZCE}Li7u!9^d~4kFG}Qe&nLm?E)N zNScDKalzvGp{?BDxlsydX_%#zyxs#qqraXgcQV9l)A`FO8qCUz8!ASwAKs+vvqq-M6wkUcPty( zWIdY%a-(8`=o;iXSQ_&bU8nE(FUzJQvnyg*Y9#}xnPGfUoDpTO*01eFq&C^H0a)C% zU=eV#akX%fvYjEbh}fF(dY1yaIPHZG7GmW&hH>VB*?;(9DtHv6={16&S~VOM^K2Yy z^`f06`=;(}lIY_rglydL7SeMSX$z|XTbDQ0T0+YMh`_39+{?DRT&3wZ9>2UTI6TyY zRKLExGyvJkO=4qbn+}g*U6hX}5$LHx>70^;3^2PF_X)Wl6zXEIBE z!tF}&lQp}uF?o<%$>Sjgb2cJ|1jEFyhHq3eG?YoFF*LW8XIrR_M8RS8vKDw6hyj8| zm;Bb^EXlsD)WXSFj znLIo8MFASXCi0LK{ew5!!8c;-*AGnmU+q%bJJFy&>JfCYbsa<((gA&iRa8Zn$9Aeb zE%o6KOJBH#>(rTqMuOP;0o?Y+py;MpTEqcIlpS9|MzqXbQcPmR>1ld|Q{&4+TVZf9s(~7QP356LfKpTL^>}RAeJ;Qa%9IfBNxh zB`NwI`PID^+o)@A&vtT;HSL+J7|R$ohI+0AC~(&R&9v&L`wyB<{%ZE)Rb&Vnu4uhk z+KyCU85xPt!DuxUsOms@;#c%uufFB#NQmNSp8aLRnG&|IgeC>Tjo!o_Ji=d7TqtSCawa9MNBRa>Y1?gwL*g^!ZPm?=mesVL`rIjg4O4 zLHu0~8>x>Pspr2l1HX!_{y78YA31)Zi@+EEC3j-ZV7YH3x)KD7q^|(NIxD$%5~htL zkI#oo0RoY|2J7_N-s)(#VSxsOQ03Nq1cA&#sni}BJPnoEYFsd0;sK}?LsPBelJ}uu zNgCT6#wzmymU^heHUqZFcDH4UA|-}WMz;zEDN=V^E3&3e(zR@RmB6bRia4L3_UP-f zWfrxPvRY@^2YfClUdsNMf?<-_FC4jI+(XJ|qX8dNAbOYV{Dch=eloV^;QVV#`1ibx z_l@eg@W&Laehjid7lG{up>s5{S2S{T{Daxi{q~-LR^QB8|4TMBeGPr>8X#tO+2l~y zP}eYh*h&Bq=+L%F$QON}83d^@zL}Wr00H;tdL{u5{8We#{u^(6+k0q{>Q5hk=RY?T z{@<^J@&D76T$-I93w|ht{KwV~!bd-yp^br@y^XB{oq>(L(I5G&k9P3?ZKM165ejvoH2^1YbHJa2Nj}qHl?aJ-f^z0;NwQ=bSfaVMRD@+f$#v}Y-c9i z-yAh-fci;W1y@@f-n^+K1vR&X@%32uEo zicXj3q8+1V`D8!`@&`BxaGl0=3|MTb+>n!xlV+4EF8-t%sURv91mLkhf7;DC&dd}g zpcN?kq`DYVc4WOcjzKTyl+pM7A2VMG3tGoolp3qQ5q9foUcS0Rj1NzxO8iJ{H)O|wwAs73@4RV$84C8X9+zQ5ZGQ}60jE`d0PyD3H zUOffbE*-t}=;mc*_sa3^G5pISorSPkf{KA%Rs|Xm8a1SYe{3%cDuiawz?V#6nD1wZ zo41s<-E!NB?6q6>r)!V%Ta!oKMG_nb8Co7=ksVS4{zs*kogiqswQ;h`hhJIIX%ogp zY`i*Oqchq%pT1UU(Q}Q$4%XuNAMIV1d!nG(#=WzgAQ9*$ujLmsqy(NQ(xQsj_A&>Y zKV2(MLKzNf%MUgWs{{|T1}vtoM7(UBC3J>WSkJw;hrIn?%>V?V`N%c= z{hf9Gxf1^Q`ZxF4k(2y)fPcTg$3F%Ccy0Yqw|}|Y$M1r_-}B%v(ajH6_S+p0ei#1t z=Ip;j0RS97Dg*!PR_)($es9YC3#kwK|6as@wCMhh@_P@=UnprPe~a>q`~8mcds+Hl zC^DFTi}H&<{f_c`h2&o-5cq$K@~d9*ca+~NpZ-E|CjMKLUv*Hwqx@dY@E6Jv`7e~; zYa4zC_ @@ -813,23 +809,6 @@ namespace YLErp.Web.Controllers return View(); } ///

- /// 互换估值 - /// - /// - /// - /// - /// - [MyAuthorize("结算管理-每日估值报告")] - public ActionResult TradeMarketReport_DmaEodPosition(int? clientId, string startTime, string endTime, bool ParentFlag) - { - ViewBag.ClientId = clientId; - ViewBag.StartTime = startTime; - ViewBag.EndTime = endTime; - ViewBag.ParentFlag = ParentFlag; - ViewBag.StructureType = "定义文件型债券收益互换"; - return View(); - } - /// /// 互换持仓明细 /// /// diff --git a/YLErpWeb/Controllers/clientController.cs b/YLErpWeb/Controllers/clientController.cs index 3cc4ddc8..3eeeaebb 100644 --- a/YLErpWeb/Controllers/clientController.cs +++ b/YLErpWeb/Controllers/clientController.cs @@ -511,37 +511,12 @@ namespace YLErp.Web.Controllers var task2 = Task.Run(() => { var clientIds = clientList.Select(O => O.id).ToList(); - if (PS.Config.Is山西固收) - { - return ClientBalanceUtility.GetClientRiskMonitorForShanXiGuShou(clientIds, req.ValueDate.Value, req.MarginShownType); - } - return ClientBalanceUtility.GetClientRiskMonitor(clientIds, req.ValueDate.Value, req.MarginShownType); + return ClientBalanceUtility.GetClientRiskMonitorForShanXiGuShou(clientIds, req.ValueDate.Value, req.MarginShownType); }); - var task3 = Task.Run(() => - { - if (PS.Config.Company == Configuration.CompanyEnum.国海) - { - var nameList = clientList.Select(n => n.Name).ToList(); - return yldb.QuotaMonitor_Client.Where(O => O.ValueDate == req.ValueDate.Value && nameList.Contains(O.ClientName)).ToDictionary(K => K.ClientName, V => V.CreditExposure); - } - return null; - }); - var task4 = Task.Run(() => - { - if (PS.Config.Is润和) - { - var levelIds = clientList.Where(O => O.LevelId != null).Select(O => O.LevelId).Distinct().ToList(); - var ratioInfos = clientDB.clientlevel.Where(O => O.Ratio != null && levelIds.Contains(O.id)).Select(O => new { O.id, O.Ratio }).ToDictionary(K => K.id, V => V.Ratio); - return ratioInfos; - } - return null; - }); - Task.WaitAll(task1, task2, task3, task4); + Task.WaitAll(task1, task2); var sList = task1.Result; var banlanceList = task2.Result ?? Array.Empty(); - var creditExposureDict = task3.Result ?? new Dictionary(); - var ratioDict = task4.Result ?? new Dictionary(); //var sList = new ClientQueryService(curUser).SearchList(req, predicate); //var clientIds = clientList.Select(O => O.id).ToList(); @@ -706,8 +681,6 @@ namespace YLErp.Web.Controllers x.availableNetFundSums = (clientBalance.PositionNotionalPrincipal / x.NetFundSum); x.EAD = clientBalance.EAD; var clientName = client?.Name ?? ""; - //这个字段只有国海用得到 - x.CreditExposure = creditExposureDict.ContainsKey(clientName) ? creditExposureDict[clientName] : null; x.MinimumTransferAmount = client?.MinimumTransferAmount; x.LastHTSettlemetTime = clientBalance.LastHTSettlemetTime; @@ -717,11 +690,6 @@ namespace YLErp.Web.Controllers x.AvailableAmount = clientBalance.AvailableAmount + clientBalance.TotalCredit; x.DesirableFund = Math.Max(clientBalance.AvailableAmount, 0); - if (!ratioDict.TryGetValue(client.LevelId ?? 0, out var ratio)) - { - ratio = 1; - } - switch ((MarginOptionEnum)client.MarginOptionType) { case MarginOptionEnum.单向追保: @@ -740,7 +708,7 @@ namespace YLErp.Web.Controllers default: break; } - x.SpanValue = x.HoldingDeposit / ratio; + x.SpanValue = x.HoldingDeposit; } //拼装标签值 diff --git a/YLErpWeb/Controllers/clientbalanceController.cs b/YLErpWeb/Controllers/clientbalanceController.cs index e3ba2499..6df99171 100644 --- a/YLErpWeb/Controllers/clientbalanceController.cs +++ b/YLErpWeb/Controllers/clientbalanceController.cs @@ -479,40 +479,8 @@ namespace YLErp.Web.Controllers { EmailTradeConfirmResultType status; string message; - if (PS.Config.Company == Configuration.CompanyEnum.中金) - { - var report = new SettlementReportForZJService(user).GetReportData(emailData, userAssetUnits, template); - (status, message) = new SettlementReportForZJService(user).SendSettlementReports(emailData, report, template, recevier); - } - else if (PS.Config.Is国投) - { - var report = new SettlementReportFotGTService(user).GetReportData(emailData, userAssetUnits, template); - (status, message) = new SettlementReportFotGTService(user).SendSettlementReports(emailData, report, template, skipCheckMarginCall, recevier); - } - else if (PS.Config.Is山西固收) - { - var report = new SettlementReportFotShanXiService(user).GetReportData(emailData, userAssetUnits, template); - (status, message) = new SettlementReportFotShanXiService(user).SendSettlementReports(emailData, report, template, skipCheckMarginCall, recevier); - } - else - { - var report = new SettlementReportService(user).GetReportData(emailData, userAssetUnits, template); - var pdfHtml = string.Empty; - var txtHtml = string.Empty; - if (!needHtml) - { - if (PS.Config.Is湘财) - { - pdfHtml = await _viewRenderer.RenderToStringAsync("clientbalance/TradeMarketClientPdf_XiangCai", report); - } - else - { - pdfHtml = await _viewRenderer.RenderToStringAsync("clientbalance/TradeMarketClientPdf", report); - } - txtHtml = await _viewRenderer.RenderToStringAsync("clientbalance/TradeMarketClientTxt", report); - } - (status, message) = new SettlementReportService(user).SendSettlementReports(emailData, report, template, pdfHtml, txtHtml, skipCheckMarginCall, recevier); - } + var report = new SettlementReportFotShanXiService(user).GetReportData(emailData, userAssetUnits, template); + (status, message) = new SettlementReportFotShanXiService(user).SendSettlementReports(emailData, report, template, skipCheckMarginCall, recevier); switch (status) { case EmailTradeConfirmResultType.Succeed: @@ -609,60 +577,10 @@ namespace YLErp.Web.Controllers { userAssetUnits = GetUserAssetunitIds(); } - if (PS.Config.Company == Configuration.CompanyEnum.中金) - { - var report = new SettlementReportForZJService(CurUser).GetReportData(emailData, userAssetUnits, template); - var path = new SettlementReportForZJService(CurUser).GenerateFileEntry(report); - var relativePath = path.Substring(path.IndexOf("App_Docs") - 1); - return JsonSuccess("", relativePath); - } - else if (PS.Config.Is国投) - { - var report = new SettlementReportFotGTService(CurUser).GetReportData(emailData, userAssetUnits, template); - var path = new SettlementReportFotGTService(CurUser).GenerateFileEntry(report, emailData.TargetFileType); - var relativePath = path.Substring(path.IndexOf("App_Docs") - 1); - return JsonSuccess("", relativePath); - } - else if (PS.Config.Is山西固收) - { - var report = new SettlementReportFotShanXiService(CurUser).GetReportData(emailData, userAssetUnits, template); - var path = new SettlementReportFotShanXiService(CurUser).GenerateFileEntry(report, emailData.TargetFileType); - var relativePath = path.Substring(path.IndexOf("App_Docs") - 1); - return JsonSuccess("", relativePath); - } - else - { - var report = new SettlementReportService(CurUser).GetReportData(emailData, userAssetUnits, template); - try - { - - var html = ""; - if (emailData.TargetFileType.ToLower() == "pdf") - { - if (PS.Config.Is湘财) - { - html = await _viewRenderer.RenderToStringAsync("clientbalance/TradeMarketClientPdf_XiangCai", report); - } - else - { - html = await _viewRenderer.RenderToStringAsync("clientbalance/TradeMarketClientPdf", report); - } - } - if (emailData.TargetFileType.ToLower() == "txt") - { - html = await _viewRenderer.RenderToStringAsync("clientbalance/TradeMarketClientTxt", report); - } - - var path = new SettlementReportService(CurUser).GenerateFileEntry(report, emailData.TargetFileType, html); - //补丁,返回一个相对地址 - var relativePath = path.Substring(path.IndexOf("App_Docs") - 1); - return JsonSuccess("", relativePath); - } - catch (Exception e) - { - return JsonError(e.Message == "The number of columns in PdfPTable constructor must be greater than zero." ? "生成的pdf列表的列数必须大于零,请检查配置列不可为空" : e.Message); - } - } + var report = new SettlementReportFotShanXiService(CurUser).GetReportData(emailData, userAssetUnits, template); + var path = new SettlementReportFotShanXiService(CurUser).GenerateFileEntry(report, emailData.TargetFileType); + var relativePath = path.Substring(path.IndexOf("App_Docs") - 1); + return JsonSuccess("", relativePath); } //[ValidateInput(false)] public ViewResult TradeMarketClientTxt(DingShiReport report) diff --git a/YLErpWeb/Views/AccountOpeningProcess/clientListV2.cshtml b/YLErpWeb/Views/AccountOpeningProcess/clientListV2.cshtml index b03bc4df..5b627cd8 100644 --- a/YLErpWeb/Views/AccountOpeningProcess/clientListV2.cshtml +++ b/YLErpWeb/Views/AccountOpeningProcess/clientListV2.cshtml @@ -10,7 +10,6 @@ roles = CurUser.Roles.Select(s => s.Id).ToList(), isZhaoZheng = YLErp.PS.Config.Company == CompanyEnum.招证, isDongWu = YLErp.PS.Config.Company == CompanyEnum.东吴, - isShanxiGuShou = YLErp.PS.Config.Is山西固收, ViewTagPermission = CurUser.客户管理.客户标签查看权限, }; } diff --git a/YLErpWeb/Views/MarginRateSwap/MarginRateSwapEdit.cshtml b/YLErpWeb/Views/MarginRateSwap/MarginRateSwapEdit.cshtml index 70bd0acc..da6050ad 100644 --- a/YLErpWeb/Views/MarginRateSwap/MarginRateSwapEdit.cshtml +++ b/YLErpWeb/Views/MarginRateSwap/MarginRateSwapEdit.cshtml @@ -2,7 +2,6 @@ @{ ViewBag.Title = "预付金率 | 编辑"; Layout = "~/Views/Shared/_InfoLayout.cshtml"; - var hideMargin = PS.Config.Is山西固收 && Model.Type != "品种"; } @section CSS{ @@ -58,69 +57,27 @@ @Html.HiddenFor(model => model.EncryptId) @Html.HiddenFor(model => model.Type) @Html.MyDropdownFor(model => model.ClientId, ClientDataModel.GetAllClient()) - @if (!PS.Config.Is山西固收) - { - @if (Model.Type == "品种") - { - @Html.MyDropdownFor(model => model.VarietyId, varietyController.GetAllvarietyNameCode()) - } - } +
*
- @if (!hideMargin) - { -
- +
+ % -
- } - @if (!PS.Config.Is山西固收) - { -
- - - % -
-
- - +
+
+ + + % +
+
+ + %
- } - @if (PS.Config.Is山西固收) - { - @if (Model.Type != "品种") - { -
- - - % -
-
- - - % -
- } - else - { -
- - - % -
-
- - - % -
- - } - }
@MyControls.Btn("保存", "saveMarginRate()") diff --git a/YLErpWeb/Views/MarginRateSwap/MarginRateSwapList.cshtml b/YLErpWeb/Views/MarginRateSwap/MarginRateSwapList.cshtml index e5bc1561..f15bd968 100644 --- a/YLErpWeb/Views/MarginRateSwap/MarginRateSwapList.cshtml +++ b/YLErpWeb/Views/MarginRateSwap/MarginRateSwapList.cshtml @@ -4,8 +4,7 @@ var pageObj = new { canEdit = CurUser.基础参数管理.互换预付金率修改, - curTabIndex = Context.Request.Query["tab"].ToString().TrimToNull() ?? "1", - isShanZheng=PS.Config.Is山西固收 + curTabIndex = Context.Request.Query["tab"].ToString().TrimToNull() ?? "1" }; ViewData["tab-active-" + pageObj.curTabIndex] = "active"; } @@ -36,9 +35,6 @@ }
@Html.MyAceDropdownInput("ClientId", "客户名称", ClientDataModel.GetAllClient(), true, true, null, false) - @if(!PS.Config.Is山西固收){ - @Html.MyAceDropdownInput("VarietyId", "品种名", varietyController.GetAllvarietyCode(), true, true, null, false) - } @MyControls.SearchBtn() @if (CurUser.基础参数管理.互换预付金率修改) { @@ -52,17 +48,11 @@ -
-
-
-
diff --git a/YLErpWeb/Views/MarginRateSwap/MarginRateSwapMonitorV2.cshtml b/YLErpWeb/Views/MarginRateSwap/MarginRateSwapMonitorV2.cshtml index e87f168e..da2af131 100644 --- a/YLErpWeb/Views/MarginRateSwap/MarginRateSwapMonitorV2.cshtml +++ b/YLErpWeb/Views/MarginRateSwap/MarginRateSwapMonitorV2.cshtml @@ -48,7 +48,6 @@
@Html.MyAceDropdownInput("WarnningType", "提醒类型", TradeSwapMarginMonitorModel.GetWarnningTypes()) @Html.MyAceDropdownInput("ClientId", "客户名称", ClientDataModel.GetAllClient()) - @Html.MyAceDropdownInput("SwapType", "互换类型", ClientDataModel.GetClientSwapType()) @MyControls.SearchBtn() @MyControls.Btn("导出", "execExport()") diff --git a/YLErpWeb/Views/SwapTrade2/TradeEdit.cshtml b/YLErpWeb/Views/SwapTrade2/TradeEdit.cshtml index 671b3973..6c29a6c4 100644 --- a/YLErpWeb/Views/SwapTrade2/TradeEdit.cshtml +++ b/YLErpWeb/Views/SwapTrade2/TradeEdit.cshtml @@ -92,7 +92,6 @@
@@ -335,9 +334,7 @@ diff --git a/YLErpWeb/Views/SwapTrade2/TradeMarketReport_DmaEodPosition.cshtml b/YLErpWeb/Views/SwapTrade2/TradeMarketReport_DmaEodPosition.cshtml deleted file mode 100644 index a314877e..00000000 --- a/YLErpWeb/Views/SwapTrade2/TradeMarketReport_DmaEodPosition.cshtml +++ /dev/null @@ -1,109 +0,0 @@ -@{ - ViewBag.Title = "每日估值报告"; - ViewBag.Menu = "结算财务-每日估值报告"; - - Layout = "~/Views/Shared/_MainLayout.cshtml"; - var pageObj = new - { - EndTime = ViewBag.EndTime?.ToString(), - StartTime = ViewBag.StartTime?.ToString(), - valueDate = valuedateBLL.ValueDate.ToString("yyyy-MM-dd"), - configcolumn = configcolumn_data.定义文件互换估值, - StructureType = ViewBag.StructureType - }; -} -@section CSS{ - - -} -@section JS{ - - - -} - -
- @Html.MyAceDropdownInput("ClientId", "客户名称", ClientDataModel.GetAllClient(), false, true, null, false) - @Html.CheckBox("ParentFlag", false) @Html.Label(null,"包含子级", new { @style = "font-size:12px;" }) - @Html.ShortInput("ValueDateFrom", "起始日期:") - @Html.ShortInput("ValueDate", "结束日期:") - @MyControls.SearchBtn() - @if (CurUser.结算管理_每日估值报告邮件发送) - { - @MyControls.Btn("配置报告", "PopDesc()") - @MyControls.Btn("发送报告", "SendReport()") - } -
-
- -
-
- -
- -
- @Html.Raw(JqGridSimple.OutTable()) -
-
- -
- - @Html.Raw(DBCacheManager.Single.GetStr(CacheTable.DingShiDesc)) - -
- diff --git a/YLErpWeb/Views/SwapTrade2/TradeMarketReport_EodPosition.cshtml b/YLErpWeb/Views/SwapTrade2/TradeMarketReport_EodPosition.cshtml index 3bd85357..fd2d0bde 100644 --- a/YLErpWeb/Views/SwapTrade2/TradeMarketReport_EodPosition.cshtml +++ b/YLErpWeb/Views/SwapTrade2/TradeMarketReport_EodPosition.cshtml @@ -72,28 +72,20 @@ - - @* *@ + - @if (!PS.Config.Is申万) - { - - } -
- -
+ +
+ +
@Html.Raw(JqGridSimple.OutTable()) diff --git a/YLErpWeb/Views/SwapTrade2/TradeMarketReport_HistoricalPositionSwapFlow.cshtml b/YLErpWeb/Views/SwapTrade2/TradeMarketReport_HistoricalPositionSwapFlow.cshtml index c3d2216b..d0f4c089 100644 --- a/YLErpWeb/Views/SwapTrade2/TradeMarketReport_HistoricalPositionSwapFlow.cshtml +++ b/YLErpWeb/Views/SwapTrade2/TradeMarketReport_HistoricalPositionSwapFlow.cshtml @@ -36,10 +36,10 @@ } @@ -59,37 +59,28 @@
-
- -
+
@Html.Raw(JqGridSimple.OutTable()) diff --git a/YLErpWeb/Views/SwapTrade2/TradeMarketReport_PositionSwapFlow.cshtml b/YLErpWeb/Views/SwapTrade2/TradeMarketReport_PositionSwapFlow.cshtml deleted file mode 100644 index 4dfa8fb1..00000000 --- a/YLErpWeb/Views/SwapTrade2/TradeMarketReport_PositionSwapFlow.cshtml +++ /dev/null @@ -1,111 +0,0 @@ -@{ - ViewBag.Title = "每日估值报告"; - ViewBag.Menu = "结算财务-每日估值报告"; - - Layout = "~/Views/Shared/_MainLayout.cshtml"; - var pageObj = new - { - EndTime = ViewBag.EndTime?.ToString(), - StartTime = ViewBag.StartTime?.ToString(), - valueDate = valuedateBLL.ValueDate.ToString("yyyy-MM-dd"), - configcolumn = configcolumn_data.持仓明细 - }; -} -@section CSS{ - - -} -@section JS{ - - - -} - -
- @Html.MyAceDropdownInput("ClientId", "客户名称", ClientDataModel.GetAllClient(), false, true, null, false) - @Html.CheckBox("ParentFlag", false) @Html.Label(null,"包含子级", new { @style = "font-size:12px;" }) - @Html.ShortInput("ValueDateFrom", "起始日期:") - @Html.ShortInput("ValueDate", "结束日期:") - @MyControls.SearchBtn() - @if (CurUser.结算管理_每日估值报告邮件发送) - { - @MyControls.Btn("配置报告", "PopDesc()") - @MyControls.Btn("发送报告", "SendReport()") - } -
-
-
-
- -
-
- @Html.Raw(JqGridSimple.OutTable()) -
-
- -
- - @Html.Raw(DBCacheManager.Single.GetStr(CacheTable.DingShiDesc)) - -
- diff --git a/YLErpWeb/Views/System/UserEdit.cshtml b/YLErpWeb/Views/System/UserEdit.cshtml index 600a7a26..57252de2 100644 --- a/YLErpWeb/Views/System/UserEdit.cshtml +++ b/YLErpWeb/Views/System/UserEdit.cshtml @@ -3,8 +3,8 @@ ViewBag.Title = "用户信息 | 编辑"; Layout = "~/Views/Shared/_InfoLayout.cshtml"; bool isUserEdit = (CurUser.系统管理.用户新增 && Model.Id == 0) || CurUser.系统管理.用户修改; - var accountPostName = PS.Config.Is山西固收 ? "对冲交易询价对象" : "客户经理"; - var traderName = PS.Config.Is山西固收 ? "非对冲交易询价对象" : "交易员"; + var accountPostName = "对冲交易询价对象"; + var traderName = "非对冲交易询价对象"; }