From 78e0c5cfd9b573577f360c8e3e09dc23264dfdf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=94=A6=E9=BA=9F=20=E7=8E=8B?= <2452821485@qq.com> Date: Wed, 23 Apr 2025 11:06:03 +0800 Subject: [PATCH] =?UTF-8?q?BigFix=20=E7=A1=AE=E8=AE=A4=E4=B9=A6=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF=20=E9=A2=84=E4=BB=98=E9=87=91?= =?UTF-8?q?=E9=A2=9D=20=E8=AE=A1=E7=AE=97=E5=9F=BA=E5=87=86=20=E9=87=8D?= =?UTF-8?q?=E7=BD=AE=E9=A2=91=E7=8E=87=E7=AD=89=E5=AD=97=E6=AE=B5=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9=20=E7=A1=AE=E8=AE=A4=E4=B9=A6?= =?UTF-8?q?=E7=94=A8=E5=8D=B0=E4=B8=8A=E4=BC=A0=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=BA=A4=E6=98=93=E5=8E=BB=E6=8E=89=E4=BA=A4=E6=98=93=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E4=B9=A6=20=E9=BB=98=E8=AE=A4=E6=8C=89=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E6=97=A5=E6=9C=9F=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...证券利率债收益互换合约交易确认书模版.docx | Bin 49271 -> 48680 bytes .../TradeConfirmationGenerator.cs | 54 +++++++----- .../Modules/SwapModule/SwapTradeService.cs | 2 +- .../TradeContractGenerateService.cs | 22 ++++- .../TradeModule/TradeDocumentDataService.cs | 10 ++- .../Controllers/TradeConfirmBookController.cs | 9 ++ .../app/trade/tradeConfirmBookListByClient.js | 80 +++++++++++++++++- 7 files changed, 152 insertions(+), 25 deletions(-) diff --git a/Plugins/YLErp.Plugins.ZheShang/App_Docs/交易确认书/浙商证券利率债收益互换合约交易确认书模版.docx b/Plugins/YLErp.Plugins.ZheShang/App_Docs/交易确认书/浙商证券利率债收益互换合约交易确认书模版.docx index dfec74d0f6dd4cd957b4f2bf5b6780d01343bea6..f25c613917f7321ece24eb74c26306278ca9abb0 100644 GIT binary patch delta 31451 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 AGXMYp diff --git a/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeConfirmationGenerator.cs b/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeConfirmationGenerator.cs index 31ee782d..731dbd99 100644 --- a/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeConfirmationGenerator.cs +++ b/Plugins/YLErp.Plugins.ZheShang/DocumentGenerator/TradeConfirmationGenerator.cs @@ -103,6 +103,10 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator dic["交易对手方全称"] = client.ClientType != "产品" ? client.Name : $"{client.Manager}作为管理人代表{client.Name}"; dic["主协议编号"] = client.MainProtocolCode; dic["定义文件编号"] = client.SettleFileNumber; + dic["户名"] = bank?.ClientName; + dic["银行账号"] = bank?.Card; + dic["开户行"] = bank?.Bank; + dic["大额行号"] = bank?.Payment; var count = 0; var trades = Context.Trades; @@ -112,13 +116,23 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator { var swapPositions = Context.GetSwapPositions(trade.id, true); var swapPosition = swapPositions.Where(x => x.PositionType == 1 || x.PositionType == 2).FirstOrDefault(); - var interestMargin = swapPositions.Where(x => ConsTrade.InterestModels.Contains(x.InterestMode)).FirstOrDefault(); + var interestMargins = swapPositions.Where(x => ConsTrade.InterestModels.Contains(x.InterestMode)); var initialMarginQuery = swapPositions.Where(x => x.InterestMode == 5); var additionMarginQuery = swapPositions.Where(x => x.InterestMode == 6); var underlyingCode = swapPosition?.UnderlyingCode; if (count == 0) { + var interestMargin = interestMargins.FirstOrDefault(o => o.interest_rest_days != null); + if (interestMargin == null) + { + interestMargin = interestMargins.FirstOrDefault(o => string.IsNullOrWhiteSpace(o.FloatRateUnderlyingCode)); + } + if (interestMargin == null) + { + interestMargin = interestMargins.FirstOrDefault(); + } + dic["成交日期"] = trade.TradeDate?.ToString("yyyy年M月d日"); dic["开始日期"] = trade.StartDate?.ToString("yyyy年M月d日"); dic["到期日期"] = trade.ExerciseDate?.ToString("yyyy年M月d日"); @@ -146,6 +160,7 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator dic["固定利率"] = ((interestMargin?.InterestRateDefault) ?? 0) * 100; dic["参考利率"] = ""; dic["重置频率"] = ""; + dic["计算基准"] = ""; if (posiLong) { dic["多头约定利率"] = ((double)interestRate).ToString("0.####") + "%"; @@ -162,28 +177,30 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator dic["利差%"] = ((interestMargin?.InterestRateDefault) ?? 0) * 100; dic["参考利率"] = interestMargin?.FloatRateUnderlyingCode; dic["固定利率"] = ""; - dic["重置频率"] = interestMargin?.interest_rest_days; + dic["计算基准"] = interestMargin?.FloatRateUnderlyingCode +" + " + ((interestMargin?.InterestRateDefault) ?? 0) * 100 + "%"; + dic["重置频率"] = interestMargin?.interest_rest_days + "天"; } - dic["初始预付金支付日"] = initialMarginQuery.FirstOrDefault()?.HappenDate == null ? "" : interestMargin?.HappenDate?.ToString("【yyyy】年【M】月【d】日"); + dic["初始预付金支付日"] = trade.TradeDate?.ToString("yyyy年M月d日"); dic["管理人名称"] = client.Manager; - var calculationBasis = interestMargin?.FloatRateUnderlyingCode; - if (!string.IsNullOrEmpty(calculationBasis)) - { - calculationBasis += interestRate > 0 ? " + " + ((double)interestRate).ToString("0.####") + "%" : ((double)interestRate).ToString("0.####") + "%"; - } - else - { - calculationBasis = ((double)interestRate).ToString("0.####") + "%"; - } + //var calculationBasis = interestMargin?.FloatRateUnderlyingCode; + //if (!string.IsNullOrEmpty(calculationBasis)) + //{ + // calculationBasis += interestRate > 0 ? " + " + ((double)interestRate).ToString("0.####") + "%" : ((double)interestRate).ToString("0.####") + "%"; + //} + //else + //{ + // calculationBasis = ((double)interestRate).ToString("0.####") + "%"; + //} - dic["计算基准"] = calculationBasis; + //dic["计算基准"] = calculationBasis; dic["初始保障金率"] = ((clientMarginRate?.InitMarginRate ?? 0) * 100).ToString("0.####") + "%"; dic["维持保障金率"] = ((clientMarginRate?.MaintenanceRate ?? 0) * 100).ToString("0.####") + "%"; dic["交易费率"] = dic["基本费率"]; - var initialMarginSum = initialMarginQuery.Sum(x => - x.InterestDirection == 2 ? x.InterestPrincipalFix * -1 : x.InterestPrincipalFix); - dic["期初预付金".Insert("期初预付金".Length, "2?")] = trade.StockEqvNotionalReal.ToString("0.##"); + //var initialMarginSum = initialMarginQuery.Sum(x => + // x.InterestDirection == 2 ? x.InterestPrincipalFix * -1 : x.InterestPrincipalFix); + //dic["期初预付金".Insert("期初预付金".Length, "2?")] = initialMarginSum.ToString("0.##"); + } var row = new JObject(); @@ -194,10 +211,6 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator row["开始日期"] = trade.StartDate?.ToString("【yyyy】年【M】月【d】日"); row["到期日期"] = trade.ExerciseDate?.ToString("【yyyy】年【M】月【d】日"); row["成交日期2"] = trade.TradeDate?.ToString("【yyyy】年【M】月【d】日"); - row["户名"] = bank?.ClientName; - row["银行账号"] = bank?.Card; - row["开户行"] = bank?.Bank; - row["大额行号"] = bank?.Payment; FormatToDict("期初标的交割全价", (double)((swapPosition?.PosiGrossPrice) ?? 0) * 100, row); FormatToDict("期初标的交割净价", (double)((swapPosition?.PosiNetNoFeePrice) ?? 0) * 100, row); @@ -237,6 +250,7 @@ namespace YLErp.Plugins.ShanXi.DocumentGenerator }; table1.Add(row); dic["名义本金".Insert("名义本金".Length, "2?")] = StockEqvNotionalRealSum.ToString("0.##"); + dic["期初预付金".Insert("期初预付金".Length, "2?")] = (StockEqvNotionalRealSum * clientMarginRate?.InitMarginRate)?.ToString("0.##"); } diff --git a/YLErpDAL/Modules/SwapModule/SwapTradeService.cs b/YLErpDAL/Modules/SwapModule/SwapTradeService.cs index 51f308c6..5495169a 100644 --- a/YLErpDAL/Modules/SwapModule/SwapTradeService.cs +++ b/YLErpDAL/Modules/SwapModule/SwapTradeService.cs @@ -610,7 +610,7 @@ namespace YLErp.Modules.SwapModule } } } - else if (changeConfirmStatus) + if (changeConfirmStatus) { //删除交易确认书 TODO new TradeDocumentDataService(this).DeleteBooksAfterEditTrade(dbTrade); diff --git a/YLErpDAL/Modules/TradeModule/DealModule/TradeContractGenerateService.cs b/YLErpDAL/Modules/TradeModule/DealModule/TradeContractGenerateService.cs index 64e5e57a..d891b6bb 100644 --- a/YLErpDAL/Modules/TradeModule/DealModule/TradeContractGenerateService.cs +++ b/YLErpDAL/Modules/TradeModule/DealModule/TradeContractGenerateService.cs @@ -1,4 +1,5 @@ using BaseOUDAL; +using DocumentFormat.OpenXml.Office.Word; using System.Collections.Concurrent; using System.Drawing.Printing; using YLErp.Configuration; @@ -562,7 +563,11 @@ namespace YLErp.Modules.TradeModule.DealModule tcd.SealResult, ContractId = tcr != null ? tcr.id : 0, sp.PositionType, - t.SentMailCount + t.SentMailCount, + tcd.StampDocumentFileName, + tcr.OptDate, + tcr.OptName, + ContractDocId = tcd != null ? tcd.id : 0, }; if (req.StartDate != null && req.StartDate != DateTime.MinValue) @@ -616,9 +621,13 @@ namespace YLErp.Modules.TradeModule.DealModule tradeCount = group.Select(x => x.id).Distinct().Count(), PositionType = group.FirstOrDefault().PositionType, SentMailCount = group.FirstOrDefault().SentMailCount ?? 0, + StampDocumentFileName = group.FirstOrDefault().StampDocumentFileName, + OptDate = group.FirstOrDefault().OptDate, + OptName = group.FirstOrDefault().OptName, + ContractDocId = group.FirstOrDefault().ContractDocId }); } - result = contractList.AsQueryable().ToSearchList(req); + result = contractList.OrderBy(r => r.TradeDate).AsQueryable().ToSearchList(req); return result; } } @@ -653,6 +662,7 @@ namespace YLErp.Modules.TradeModule.DealModule public List? PositionTypes { get; set; } + } public class clientContractR @@ -689,5 +699,13 @@ namespace YLErp.Modules.TradeModule.DealModule public int SentMailCount { get; set; } + public string StampDocumentFileName { get; set; } + + public DateTime? OptDate { get; set; } + + public string OptName { get; set; } + + public int ContractDocId { get; set; } + } } diff --git a/YLErpDAL/Modules/TradeModule/TradeDocumentDataService.cs b/YLErpDAL/Modules/TradeModule/TradeDocumentDataService.cs index de26a3d8..299b01e4 100644 --- a/YLErpDAL/Modules/TradeModule/TradeDocumentDataService.cs +++ b/YLErpDAL/Modules/TradeModule/TradeDocumentDataService.cs @@ -52,7 +52,15 @@ namespace YLErp.Modules.TradeModule return 0; } - doc.ToList().ForEach(O => O.IsValid = false); + //同ContractCode的都要改变 + var docArr = doc.ToArray(); + var contractCode = docArr.FirstOrDefault().ContractCode; + var types = docArr.Select(o => o.Type).ToArray(); + var tcrs = from tcr in DbContext.trade_contract_r + where tcr.ContractCode == contractCode && types.Contains(tcr.Type) && tcr.IsValid + select tcr; + + tcrs.ToList().ForEach(O => O.IsValid = false); return DbContext.SaveChanges(); } diff --git a/YLErpWeb/Controllers/TradeConfirmBookController.cs b/YLErpWeb/Controllers/TradeConfirmBookController.cs index 4be41d79..f6b2022b 100644 --- a/YLErpWeb/Controllers/TradeConfirmBookController.cs +++ b/YLErpWeb/Controllers/TradeConfirmBookController.cs @@ -547,6 +547,15 @@ namespace YLErp.Web.Controllers /// public ActionResult confirmBookUpload(string Id, string SendMailId = "") { + //如果都是数字,进行一次编码 + if (Id.All(char.IsDigit)) + { + Id = DataProtectHelper.Encrypt(int.Parse(Id)); + } + if (!string.IsNullOrWhiteSpace(SendMailId) && SendMailId.All(char.IsDigit)) + { + SendMailId = DataProtectHelper.Encrypt(int.Parse(SendMailId)); + } ViewBag.Id = Id; ViewBag.SendMailId = SendMailId; return View(); diff --git a/YLErpWeb/wwwroot/Scripts/app/trade/tradeConfirmBookListByClient.js b/YLErpWeb/wwwroot/Scripts/app/trade/tradeConfirmBookListByClient.js index 83cd1dcc..a6e8e80a 100644 --- a/YLErpWeb/wwwroot/Scripts/app/trade/tradeConfirmBookListByClient.js +++ b/YLErpWeb/wwwroot/Scripts/app/trade/tradeConfirmBookListByClient.js @@ -30,7 +30,6 @@ const colModelGrid = (new function () { { label: '用印状态', name: 'StampStatus', width: 80, align: 'center' }, // 根据实际需要调整宽度和对齐 { label: '邮件发送结果', name: 'EmailResult', width: 100, align: 'center', formatter: function (cellValue, options, rowObject) { - console.log(cellValue); var html = ""; html += "