diff --git a/YLErpDAL/Modules/TradeModule/TradeOAService.cs b/YLErpDAL/Modules/TradeModule/TradeOAService.cs index 3eab767a..be922de1 100644 --- a/YLErpDAL/Modules/TradeModule/TradeOAService.cs +++ b/YLErpDAL/Modules/TradeModule/TradeOAService.cs @@ -101,8 +101,8 @@ namespace YLErp.Modules.TradeModule /// 上传附件到OA系统 /// /// 文件路径 - /// 附件ID列表 - private async Task> UploadAttachmentAsync(string filePath) + /// 附件数据列表(包含 annexId 和 annexName) + private async Task> 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 annexIds = null; + List 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 }; diff --git a/YLErpWeb/Controllers/entryexitController.cs b/YLErpWeb/Controllers/entryexitController.cs index 871265a5..34c0942b 100644 --- a/YLErpWeb/Controllers/entryexitController.cs +++ b/YLErpWeb/Controllers/entryexitController.cs @@ -547,6 +547,7 @@ namespace YLErp.Web.Controllers var skipCount = 0; var duplicateCount = 0; var invalidCounterpartyCount = 0; + var ids = new List(); 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)