From 4e4cb17dab580c6f3be23c5f3db6adb5dc4d9b4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=96=B9=E6=B5=B7?= Date: Wed, 28 May 2025 10:29:09 +0800 Subject: [PATCH] =?UTF-8?q?TRS-ZS-450=20=E6=AF=8F=E6=97=A5=E4=BC=B0?= =?UTF-8?q?=E5=80=BC=E5=8D=95=E4=B8=AD=E5=90=84tab=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4=E6=B1=87=E6=80=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../YLErp.Core/DBModels/SwapFlowEvent.cs | 4 ++ .../YLErp.Core/Models/SwapEndConfirmModel.cs | 2 + .../App_Docs/结算单/非DMA结算单.xlsx | Bin 10398 -> 10421 bytes .../TradeSettleBillGenerator.cs | 8 ++-- YLErpDAL/Model/ClientSwapPositionRequest.cs | 2 + .../SwapModule/SwapEodPositionService.cs | 28 ++++---------- .../SwapModule/SwapFlowEventService.cs | 5 ++- YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx | Bin 17764 -> 17786 bytes .../TradeMarketReport_BalanceStatement.cshtml | 20 +--------- .../TradeMarketReport_EodPosition.js | 2 +- ...MarketReport_HistoricalPositionSwapFlow.js | 36 ++++++++++++------ 11 files changed, 50 insertions(+), 57 deletions(-) diff --git a/Framework/YLErp.Core/DBModels/SwapFlowEvent.cs b/Framework/YLErp.Core/DBModels/SwapFlowEvent.cs index 36714c93..de644ae3 100644 --- a/Framework/YLErp.Core/DBModels/SwapFlowEvent.cs +++ b/Framework/YLErp.Core/DBModels/SwapFlowEvent.cs @@ -268,6 +268,10 @@ namespace YLErp.DBModels { get { + if (InterestMode==0) + { + return string.Empty; + } return ((InterestModeEnum)InterestMode).ToString(); } } diff --git a/Framework/YLErp.Core/Models/SwapEndConfirmModel.cs b/Framework/YLErp.Core/Models/SwapEndConfirmModel.cs index 5878b5c3..a17503a1 100644 --- a/Framework/YLErp.Core/Models/SwapEndConfirmModel.cs +++ b/Framework/YLErp.Core/Models/SwapEndConfirmModel.cs @@ -35,6 +35,8 @@ namespace YLErp.Models public string PosiPnl { get; set; } + public string MarkClosePnl { get; set; } + public string NetSettleAmout { get; set; } public string MarginInterestAmount { get; set; } } diff --git a/Plugins/YLErp.Plugins.ZheShang/App_Docs/结算单/非DMA结算单.xlsx b/Plugins/YLErp.Plugins.ZheShang/App_Docs/结算单/非DMA结算单.xlsx index 33ff999d8e03d184c2e94a13f0459a065d253e1d..1f66aab5338b13bc63bfe6a69b2d4254a26ea63b 100644 GIT binary patch delta 3713 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 diff --git a/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeSettleBillGenerator.cs b/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeSettleBillGenerator.cs index 452169f2..3daaa585 100644 --- a/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeSettleBillGenerator.cs +++ b/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeSettleBillGenerator.cs @@ -96,12 +96,12 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator //var lastMarginAmount = swapEodPositions.Where(x => ConsTrade.InterestMarginModels.Contains(x.InterestMode)).Sum(s => s.InterestIncomeSum); //var MarginInterestAmount = lastMarginAmount == 0 ? 0 : -lastMarginAmount * PosiNotionalValue / lastMarginAmount; //row.MarginInterestAmount = MarginInterestAmount.ToString("0.00"); - - var r = posi.PosiNetPrice == 0 ? 0 : PosiNotionalValue * posi.PosiNetPrice; - var FloatRate = r == 0 ? 0 : InterestAmount / r; + var FloatRate = PosiNotionalValue == 0 ? 0 : InterestAmount / PosiNotionalValue; row.FloatRate = FloatRate.ToString("0.0000%"); - var PosiPnl = (-flowEventGroup.MarkClosePnl); + var PosiPnl = -(flowEventGroup.MarkClosePnl- tradingFee); row.PosiPnl = PosiPnl.ToString("0.00"); + var markClosePnl = (-flowEventGroup.MarkClosePnl); + row.MarkClosePnl = markClosePnl.ToString("0.00"); var marginBackAmount = unwindFlowEvents.Where(x => ConsTrade.InterestMarginModels.Contains(x.InterestMode)).Sum(s => s.InterestPrincipal); var NetSettleAmout = unwindFlowEvents.Sum(x => x.InterestClosePnL) * -1 + flowEventGroup.MarkClosePnl * -1 + marginBackAmount; row.NetSettleAmout = NetSettleAmout.ToString("0.00"); diff --git a/YLErpDAL/Model/ClientSwapPositionRequest.cs b/YLErpDAL/Model/ClientSwapPositionRequest.cs index a494ae58..34e8de76 100644 --- a/YLErpDAL/Model/ClientSwapPositionRequest.cs +++ b/YLErpDAL/Model/ClientSwapPositionRequest.cs @@ -34,5 +34,7 @@ namespace YLErp.Model public string ClientNumber { get; set; } public string ClientName { get; set; } public string StructureType { get; set; } + + public string ContractCode { get; set; } } } diff --git a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs index 54e23c14..99a5755b 100644 --- a/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs @@ -1892,7 +1892,10 @@ namespace YLErp.Modules.SwapModule //item.position.PosiProfitSum += item.position.VTradingFee-item.position.PosiFeePending; SetClientEodPosition(item.position); //item.position.PosiProfitSum += item.TradingFee; - item.NetSettmentAmount = item.position.PosiProfitSum; + var posiProfitSum= item.position.PosiProfitSum; + //item.position.PosiProfitSum 不需要加交易费用 + item.position.PosiProfitSum = item.position.PosiProfitSum - item.position.VTradingFee; + item.NetSettmentAmount = posiProfitSum; var margins = positions.Where(x => x.SwapTradeId == item.position.SwapTradeId); var interests = eodPositions.Where(x => x.SwapTradeId == item.position.SwapTradeId && x.ValueDate == item.position.ValueDate); var eodMargins = interests.Where(x => marginTypes.Contains(x.InterestMode)); @@ -1901,29 +1904,12 @@ namespace YLErp.Modules.SwapModule item.OpenMarginRate = margins.Sum(s => s.InterestRateDefault * (s.InterestDirection == (int)SwapDirectionEnum.收取 ? 1 : -1)); item.MarginInterestAmount = eodMargins.Sum(s => s.InterestIncomeSum * (s.InterestDirection == (int)SwapDirectionEnum.收取 ? 1 : -1)); item.InterestAmount = eodInterests.Sum(s => s.InterestIncomeSum * (s.InterestDirection == (int)SwapDirectionEnum.收取 ? -1 : 1)); - if (item.StructureType != "普通债券类收益互换") - { - var floatRateInterest = eodInterests.FirstOrDefault(x => !string.IsNullOrEmpty(x.FloatRateUnderlyingCode)); - item.NetSettmentAmount += item.InterestAmount; - if (floatRateInterest != null) - { - item.InterestRate = floatRateInterest.InterestRateDefault; - item.FloatRateUnderlyingCode = floatRateInterest.FloatRateUnderlyingCode; - } - else - { - item.InterestRate = eodInterests.FirstOrDefault()?.InterestRateDefault ?? 0; - } - } - else - { - item.InterestRate = eodInterests.Sum(s => s.InterestRateDefault); - item.NetSettmentAmount += item.InterestAmount + item.MarginInterestAmount + eodMargins.Sum(s => s.InterestPrincipalFix * (s.InterestDirection == (int)SwapDirectionEnum.收取 ? 1 : -1)); - } + item.InterestRate = eodInterests.Sum(s => s.InterestRateDefault); + item.NetSettmentAmount += item.InterestAmount + item.MarginInterestAmount + eodMargins.Sum(s => s.InterestPrincipalFix * (s.InterestDirection == (int)SwapDirectionEnum.收取 ? 1 : -1)); item.NetSettmentAmount = decimal.Parse(item.NetSettmentAmount.ToString("0.00")); if (item.position.PosiNotionalValue != 0 && item.position.PosiNetPrice != 0) { - item.FloatRateAbs = item.position.PosiNotionalValue == 0 ? 0 : item.InterestAmount / (item.position.PosiNotionalValue * item.position.PosiNetPrice); + item.FloatRateAbs = item.position.PosiNotionalValue == 0 ? 0 : item.InterestAmount / item.position.PosiNotionalValue; } SetPosiPrice(item.position); } diff --git a/YLErpDAL/Modules/SwapModule/SwapFlowEventService.cs b/YLErpDAL/Modules/SwapModule/SwapFlowEventService.cs index eadb5019..a57f8e0d 100644 --- a/YLErpDAL/Modules/SwapModule/SwapFlowEventService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapFlowEventService.cs @@ -475,13 +475,16 @@ namespace YLErp.Modules.SwapModule var tradeQuery = DbContext.trade.Where(tradePredicate); var query = from flow in positionQuery join td in tradeQuery on flow.SwapTradeId equals td.id + join tr in DbContext.trade_contract_r on td.id equals tr.TradeId into tradeContractGroup + from tradeContract in tradeContractGroup.DefaultIfEmpty() select new ClientSwapPositionResponse { FlowEvent = flow, SwapTradeNo = td.TradeNumber, StructureType = td.StructureType, ClientName = td.ClientName, - ClientId = td.ClientId + ClientId = td.ClientId, + ContractCode = tradeContract.ContractCode, }; if (string.IsNullOrEmpty(req.sidx)) { diff --git a/YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx b/YLErpWeb/App_Docs/导出模板/结算报告模板.xlsx index 7187adeeffaaf55bac66317c1f53790f902cc5fe..2ded3ffcaf44e609177d06dfd73dc1b119715c70 100644 GIT binary patch delta 8844 zcmZ8{1yCKl67IoW3&kl;5AN=+2X{D7T#H+gQ{1H-+}(<6ad(PS+}*9k<@LXB-o5wT z%xscLb~ii8%qIJ7b|YaPBVlTe5mDxsYE8u80DxNP4I&*Rp?F$gZbn9Fd5UWkv1CMX zbzUD=Hg?4_Jzh-WYrGgNOD4|tct8NWFX_iiW-m}il?AdEwZhr*MaRZdhp5M|YJB;M zn9^Y)l?>$SG`RwsVd`XZ?&&jdu8-UptvogEO(M@U%FpS>nD08jh73tRxcFDVh^6yR zi;a%+MhlTbrh<3vgbILikA^f-z3QYy-gF-$u3?HeA~43djHoG@q&47;D*}6-{NB%C zVuhh7@8L;JrOM^zVCg37Sj+!FHI(STVw;uBHU~Hlo6@N$s20-Zb$KVch+~=|w{^#A zBYPR$e|m@b{Te!DKwY5*p|psij@y%-)$??jjQ1KU4oiwwwh-?g*^%i27Q z>?>gonXaJag~40EoKd~M-<&INv^AQocbl!uXkDu_T;ps@K6htoTf5Cn*QwqJYCvAV z;wKvIVIoCXlj3peqFAPrrtK*fHJ|2>(Qv&zw0$)zHNVs3JKj8J7nqoY(^0Hkw6f_R zQZ6(@3lz`;$0}}#MC}4N7T6qA)6Um&Pptuv=voaO51K@KDW6?c3zaPVf%=H#d-vjJ zST8qjrYp|($jJnV*vwYU%u&xbeQhI9713<}=hs8@b9(op(tgR#;A)|WpQTJI`9GT{ zS?MR&eV-m*pI)lbcnAq6VwjRLy9oXK1-)NvU2aXTU;FZb!2-O@ZPpPxOMS+1#!6s_ z=-buabl|rR6Ej9n8GIADZR}+gWeWoC8XN9JMCM&>mN7jNRKy5-LGVfiH`5xXQ|`)- zPse9Xb|)bEQhxW9pxZKZYP zWWCIg5TaZP!yWdkl)+KccqL{7S_6k)uZ*e)ixThUMzVupH|*+b@xM~bl{$bJ57L>? znXARvNe&Th4S|hn<6Dqwy|5mUPBJE&F$>f| z`rB;I^bygg4^MOgyf4eFt*Olddg%l0pX}~o&x`bk)lu&%QuqS&i?&S3G22iB0xzX0 z5Jxlp!|PQ>DmP}%?-@)SjbkEGE)-5;jJ`yj^qugEryH2oTrMr58@S!Vcvy37__3@ho2C?@9iby41~yp-@n<_*#RfrN zPW4v^CmT2idq(&`uYKM^M=-h@qF<_|)WlNuj1$7yhgcx-ZbH)gqN-pn2Ykq1-}?3j z_@~NDJ#krP!wxYHxq^e=MMEJoDTdj3l4MJ?c`T5ppK9=XQm8GQKX;B;Gd}a>|Bf$v zGQWH>Hv8ba_Mv*{?D5au!m0baGHZ_qXWvfy{ClWE{?e@0n@ZmXgK)Np-$T8qG3dYw zgTT`n(qNRMG+uzREH(CIUHs-WeeckwJGs$x@-U*{0p@5n$D%=U0jL9j0h(gA6d3XE z

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 diff --git a/YLErpWeb/Views/clientbalance/TradeMarketReport_BalanceStatement.cshtml b/YLErpWeb/Views/clientbalance/TradeMarketReport_BalanceStatement.cshtml index 34c6a2a7..765f27b8 100644 --- a/YLErpWeb/Views/clientbalance/TradeMarketReport_BalanceStatement.cshtml +++ b/YLErpWeb/Views/clientbalance/TradeMarketReport_BalanceStatement.cshtml @@ -206,22 +206,6 @@ sortable: false, align: 'right', formatter: moneyTradeFormat - }, { - name: 'MoneySwap', - label: '互换', - index: 'MoneySwap', - width: 150, - sortable: false, - align: 'right', - formatter: moneyTradeFormat - }, { - name: 'MoneySwapMargin', - label: '预付金', - index: 'MoneySwapMargin', - width: 150, - sortable: false, - align: 'right', - formatter: moneyTradeFormat }, { name: 'MoneyOther', label: '其他', @@ -271,10 +255,8 @@ var moneyPriceSum = arguments[0].Sum == null ? "" : arguments[0].Sum.MoneyPriceSum; var moneyUnwindExerSum = arguments[0].Sum == null ? "" : arguments[0].Sum.MoneyUnwindExerSum; var moneyCouponSum = arguments[0].Sum == null ? "" : arguments[0].Sum.MoneyCouponSum; - var moneySwapSum = arguments[0].Sum == null ? "" : arguments[0].Sum.MoneySwapSum; var moneyOtherSum = arguments[0].Sum == null ? "" : arguments[0].Sum.MoneyOtherSum; - var moneySwapMarginSum = arguments[0].Sum == null ? "" : arguments[0].Sum.MoneySwapMarginSum; - jgrid.footerData("set", { HappenDate: "合计:", Direction: main.toNumberExcludingNaN(moneySum), MoneyInOut: moneyInOutSum, MoneyPrice: moneyPriceSum, MoneyUnwindExer: moneyUnwindExerSum, MoneyCoupon: moneyCouponSum, MoneySwap: moneySwapSum, MoneyOther: moneyOtherSum, MoneySwapMargin: moneySwapMarginSum }); + jgrid.footerData("set", { HappenDate: "合计:", Direction: main.toNumberExcludingNaN(moneySum), MoneyInOut: moneyInOutSum, MoneyPrice: moneyPriceSum, MoneyUnwindExer: moneyUnwindExerSum, MoneyCoupon: moneyCouponSum, MoneyOther: moneyOtherSum }); } else { $(".ui-jqgrid-sdiv").hide(); } diff --git a/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js b/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js index 87557703..2abb9762 100644 --- a/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js +++ b/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_EodPosition.js @@ -274,7 +274,7 @@ var colModelGrid = [ sortable: false, }, { name: 'position.PosiProfitSum', - label: '总收益金额', + label: '浮动收益金额', index: 'position.PosiProfitSum', width: 120, align: 'center', diff --git a/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_HistoricalPositionSwapFlow.js b/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_HistoricalPositionSwapFlow.js index 62d5c117..2917a342 100644 --- a/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_HistoricalPositionSwapFlow.js +++ b/YLErpWeb/wwwroot/Scripts/app/swaptrade/TradeMarketReport_HistoricalPositionSwapFlow.js @@ -48,8 +48,8 @@ $(function () { colModel: colModelGrid, pager: jQuery('#pagerGrid'), pagerpos: 'left', - rowNum: 100, - rowList: [100, 1000], + rowNum: 20, + rowList: [20,50,100, 1000], footerrow: true, loadComplete: gridComplete, grouping: true @@ -161,9 +161,15 @@ var colModelGrid = [ formatter:'date' }, { name: 'SwapTradeNo', - label: '互换交易编号', + label: '交易编号', index: 'SwapTradeNo', - width: 150, + width: 250, + align: 'center' + }, { + name: 'ContractCode', + label: '确认书编号', + index: 'ContractCode', + width: 250, align: 'center' }, { name: 'FlowEvent.SwapPositionIdPadding', @@ -296,12 +302,11 @@ var colModelGrid = [ align: 'center', formatter: DrictionFormat }, { - name: 'FlowEvent.InterestMode', + name: 'FlowEvent.InterestModeStr', label: '计息基准类型', - index: 'FlowEvent.InterestMode', + index: 'FlowEvent.InterestModeStr', width: 90, align: 'center', - formatter: InterestModeFormat }, { name: 'FlowEvent.InterestPrincipal', label: '计息基准固定值', @@ -315,7 +320,7 @@ var colModelGrid = [ index: 'FlowEvent.InterestRate', width: 140, align: 'center', - formatter: PercentFormat + formatter:PercentFormat }, { name: 'FlowEvent.InterestAmount', label: '利息端平仓盈亏·利息', @@ -477,14 +482,23 @@ function InterestModeFormat(cellValue, options, rowObject) { if (cellValue == 1) { return "固定值"; } - if (cellValue == 2) { + else if (cellValue == 2) { return "合约名义本金规模"; - } if (cellValue == 3) { + } else if (cellValue == 3) { return "持仓名义本金"; } - if (cellValue == 4) { + else if (cellValue == 4) { return "持仓市值"; } + else if (cellValue == 9) { + return "标的期初全价"; + } + else if (cellValue == 5) { + return "初始预付金"; + } + else if (cellValue == 6) { + return "追加预付金"; + } return ""; } function PercentFormat(cellValue, options, rowObject) {