Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2

This commit is contained in:
嬴政 时
2026-03-16 14:01:31 +08:00
2 changed files with 29 additions and 19 deletions
+15 -16
View File
@@ -101,8 +101,8 @@ namespace YLErp.Modules.TradeModule
/// 上传附件到OA系统
/// </summary>
/// <param name="filePath">文件路径</param>
/// <returns>附件ID列表</returns>
private async Task<List<string>> UploadAttachmentAsync(string filePath)
/// <returns>附件数据列表(包含 annexId 和 annexName</returns>
private async Task<List<UploadAttachmentData>> UploadAttachmentAsync(string filePath)
{
try
{
@@ -161,10 +161,9 @@ namespace YLErp.Modules.TradeModule
{
if (uploadResponse.code == "0" && uploadResponse.data != null)
{
// 提取annexId
var annexIds = uploadResponse.data.Select(item => item.annexId).ToList();
logger.Info($"成功上传附件,获取到{annexIds.Count}个附件ID");
return annexIds;
// 返回完整的附件数据列表(包含 annexId 和 annexName
logger.Info($"成功上传附件,获取到{uploadResponse.data.Count}个附件");
return uploadResponse.data;
}
else
{
@@ -237,13 +236,13 @@ namespace YLErp.Modules.TradeModule
}
// 处理附件
List<string> annexIds = null;
List<UploadAttachmentData> attachmentDataList = null;
if (tdoc != null && !string.IsNullOrEmpty(tdoc.AbsolutePath))
{
try
{
annexIds = await UploadAttachmentAsync(tdoc.AbsolutePath);
logger.Info($"成功上传附件并获取到annexId{string.Join(", ", annexIds)}");
attachmentDataList = await UploadAttachmentAsync(tdoc.AbsolutePath);
logger.Info($"成功上传附件并获取到annexId{string.Join(", ", attachmentDataList.Select(a => a.annexId))}");
}
catch (Exception ex)
{
@@ -271,23 +270,23 @@ namespace YLErp.Modules.TradeModule
//去除后缀
htmc = Path.GetFileNameWithoutExtension(tdoc.FileName),//合同名称
sfgljy = 1,//是否关联交易 0是 1否
jflx = "企业",//甲方类型
jflx = 0,//甲方类型 0企业 1个人
jf = trade.ClientName,//甲方
yflx = "企业",//乙方类型
yflx = 0,//乙方类型 0企业 1个人
yf = "国联民生证券股份有限公司",//乙方
sfdxtzdfqsjf = 1,//是否短信通知对方签署 0是 1否
sfdxtzyf = 1,//是否短信通知乙方 0是 1否
htje = trade.OriginalStockEqvNotional,//合同金额
htyxksrq = trade.StartDate?.ToString("yyyyMMdd"),//合同有效期开始日期
htyxjsrq = trade.ExerciseDate?.ToString("yyyyMMdd"),//合同有效期结束日期
htyxksrq = trade.StartDate?.ToString("yyyy-MM-dd"),//合同有效期开始日期
htyxjsrq = trade.ExerciseDate?.ToString("yyyy-MM-dd"),//合同有效期结束日期
bz = "人民币",//币种
htqdrq = DateTime.Now.ToString("yyyyMMdd"),//合同签订日期
htqdrq = DateTime.Now.ToString("yyyy-MM-dd"),//合同签订日期
sfqdljxy = 2,
//是否签订廉洁协议 0已签 1未签 2无需签订
htbjjs = $"我司与{trade.ClientName}已完成NAFMII协议签署,并开展TRS交易:{contractCode},参与标的{trade.UnderlyingCode} {trade.UnderlyingName},参与标的数量面额{trade.OriginalStockEqvNotional}元人民币",
//合同背景介绍
// 使用annexId替代Base64编码
fj = annexIds,
// 使用附件数据列表(包含 annexId 和 annexName
fj = attachmentDataList?.FirstOrDefault(),
creater = applicantLoginName
};
+14 -3
View File
@@ -547,6 +547,7 @@ namespace YLErp.Web.Controllers
var skipCount = 0;
var duplicateCount = 0;
var invalidCounterpartyCount = 0;
var ids = new List<int>();
foreach (var flow in result.data)
{
@@ -595,14 +596,19 @@ namespace YLErp.Web.Controllers
BankFlowId = flow.flowId,
SerialNumber = flow.flowId,
OpenBankCard = flow.counterpartyAccount,
cash_type = direction == "入金" ? "追保账户" : "初保账户",
Comments = $"银行流水导入 | 对方账号:{flow.counterpartyAccount} | 对方户名:{flow.counterpartyName} | 用途:{flow.useDescribe}"
};
try
{
service.SaveEntryexit(null, cashRecord);
existingFlowIds.Add(flow.flowId);
saveCount++;
var savedId = service.SaveEntryexit(null, cashRecord);
if (null != savedId )
{
ids.Add(savedId.id);
existingFlowIds.Add(flow.flowId);
saveCount++;
}
}
catch (Exception ex)
{
@@ -610,6 +616,11 @@ namespace YLErp.Web.Controllers
}
}
if (ids.Any())
{
new ClientCashInCashOutDataService(CurUser).ExcuteEntryExit(ids, kafkaProduceHelper);
}
return JsonSuccess($"获取银行流水成功,共处理{result.data.Count}条,成功保存{saveCount}条,跳过{skipCount}条(无效对手方账号{invalidCounterpartyCount}条,重复{duplicateCount}条)");
}
catch (Exception ex)