() { ConsGlobal.InstrumentType.Stock, ConsGlobal.InstrumentType.StockIF };
SendEmailSettleBillHtml(sb, res);
- //组织邮件主体
- var mailInfo = EmailTemplateService.GenerateMailInfo(tempalte.Value, new MailInfoRequestModel
+ var mailRequest = new MailInfoRequestModel
{
ClientName = client.Name,
TradeDate = valueDate.ToString("yyyy-MM-dd"),
TradeList = sb.ToString(),
DocNumber = SettleBills.Count > 0 ? SettleBills[0].Code : string.Empty
- }) ?? new MailInfoResultModel
+ };
+ SettlementMailTemplateHelper.PopulateSettlementFields(mailRequest, res);
+ //组织邮件主体
+ var mailInfo = EmailTemplateService.GenerateMailInfo(tempalte.Value, mailRequest) ?? new MailInfoResultModel
{
Body = string.Empty,
Title = "清算确认书-" + valueDate.ToString("yyyy-MM-dd")
diff --git a/YLErpDAL/Modules/ReportModule/UnwindReportService.cs b/YLErpDAL/Modules/ReportModule/UnwindReportService.cs
index 7dea4eda..decc15f4 100644
--- a/YLErpDAL/Modules/ReportModule/UnwindReportService.cs
+++ b/YLErpDAL/Modules/ReportModule/UnwindReportService.cs
@@ -425,13 +425,17 @@ namespace YLErp.Modules.ReportModule
if (fileList.Count == 0) { continue; }
- //组织邮件主体
- var mailInfo = EmailTemplateService.GenerateMailInfo(useTemplate.Value, new MailInfoRequestModel
+ // 根据当前客户的提前终止确认书准备交易编号和平仓总额变量。
+ var settlementRows = SettlementMailTemplateHelper.GetSettlementRows(DbContext, SettleBills, client.id);
+ var mailRequest = new MailInfoRequestModel
{
ClientName = client.Name,
TradeDate = valueDate.ToString("yyyy-MM-dd"),
DocNumber = SettleBills.Count > 0 ? SettleBills[0].Code : string.Empty
- }) ?? new MailInfoResultModel
+ };
+ SettlementMailTemplateHelper.PopulateSettlementFields(mailRequest, settlementRows);
+ //组织邮件主体
+ var mailInfo = EmailTemplateService.GenerateMailInfo(useTemplate.Value, mailRequest) ?? new MailInfoResultModel
{
Body = string.Empty,
Title = "清算确认书-" + valueDate.ToString("yyyy-MM-dd")
@@ -601,7 +605,9 @@ trades.GroupBy(O => new { UnderlyingInstrumentType = instrumentTypeArr.Contains(
foreach (var client in clientListOn)
{
var SettleBills = theDaySettleDocList.Where(t => t.SellerId == client.id || t.BuyerId == client.id).ToList();
- var res = ts.Where(O => O.trade.ClientId == client.id).ToList();
+ // 批量查询包含整个日期区间,此处仅保留当前结算日的数据。
+ var res = SettlementMailTemplateHelper.ForValueDate(
+ ts.Where(O => O.trade.ClientId == client.id), valueDate);
if (SettleBills.Count < 1)
{
continue;
@@ -627,14 +633,16 @@ trades.GroupBy(O => new { UnderlyingInstrumentType = instrumentTypeArr.Contains(
var sb = new StringBuilder();
SendEmailSettleBillHtml(sb, res);
- //组织邮件主体
- var mailInfo = EmailTemplateService.GenerateMailInfo(tempalte.Value, new MailInfoRequestModel
+ var mailRequest = new MailInfoRequestModel
{
ClientName = client.Name,
TradeDate = valueDate.ToString("yyyy-MM-dd"),
TradeList = sb.ToString(),
DocNumber = SettleBills.Count > 0 ? SettleBills[0].Code : string.Empty
- }) ?? new MailInfoResultModel
+ };
+ SettlementMailTemplateHelper.PopulateSettlementFields(mailRequest, res);
+ //组织邮件主体
+ var mailInfo = EmailTemplateService.GenerateMailInfo(tempalte.Value, mailRequest) ?? new MailInfoResultModel
{
Body = string.Empty,
Title = "清算确认书-" + valueDate.ToString("yyyy-MM-dd")
@@ -889,13 +897,17 @@ trades.GroupBy(O => new { UnderlyingInstrumentType = instrumentTypeArr.Contains(
}
if (fileList.Count == 0) { continue; }
- //组织邮件主体
- var mailInfo = EmailTemplateService.GenerateMailInfo(useTemplate.Value, new MailInfoRequestModel
+ // 合并发送时按当前客户附件反查记录,确保模板变量与附件范围一致。
+ var settlementRows = SettlementMailTemplateHelper.GetSettlementRows(DbContext, SettleBills, client.id);
+ var mailRequest = new MailInfoRequestModel
{
ClientName = client.Name,
TradeDate = valueDate.ToString("yyyy-MM-dd"),
DocNumber = SettleBills.Count > 0 ? SettleBills[0].Code : string.Empty
- }) ?? new MailInfoResultModel
+ };
+ SettlementMailTemplateHelper.PopulateSettlementFields(mailRequest, settlementRows);
+ //组织邮件主体
+ var mailInfo = EmailTemplateService.GenerateMailInfo(useTemplate.Value, mailRequest) ?? new MailInfoResultModel
{
Body = string.Empty,
Title = "清算确认书-" + valueDate.ToString("yyyy-MM-dd")
diff --git a/YLErpWeb/Areas/Admin/Views/OtcConfig/MailTemplate.cshtml b/YLErpWeb/Areas/Admin/Views/OtcConfig/MailTemplate.cshtml
index e62911ca..047ef3ae 100644
--- a/YLErpWeb/Areas/Admin/Views/OtcConfig/MailTemplate.cshtml
+++ b/YLErpWeb/Areas/Admin/Views/OtcConfig/MailTemplate.cshtml
@@ -20,11 +20,11 @@
-
+
-
+