fix: 更新用印文件提取逻辑,改为从 fjFileInfo 中获取
This commit is contained in:
@@ -548,10 +548,10 @@ namespace YLErp.Modules.TradeModule
|
||||
return new TradeOAResult { TradeId = oa.trade_id, Success = false, Message = "未找到确认书文档" };
|
||||
}
|
||||
|
||||
// 从 detailMap 中提取用印文件信息
|
||||
if (!TryExtractFileFromDetailMap(queryData.flowInfos, out var fileId, out var fileName))
|
||||
// 从 fjFileInfo 中提取用印文件信息
|
||||
if (!TryExtractFileFromFjFileInfo(queryData.flowInfos, out var fileId, out var fileName))
|
||||
{
|
||||
logger.Info($"无法从 detailMap 中提取用印文件信息,contract_code:{oa.contract_code}");
|
||||
logger.Info($"无法从 fjFileInfo 中提取用印文件信息,contract_code:{oa.contract_code}");
|
||||
return new TradeOAResult { TradeId = oa.trade_id, Success = false, Message = "无法提取用印文件信息" };
|
||||
}
|
||||
|
||||
@@ -630,53 +630,32 @@ namespace YLErp.Modules.TradeModule
|
||||
/// </summary>
|
||||
private bool HasStampFiles(Newtonsoft.Json.Linq.JObject flowInfos)
|
||||
{
|
||||
var detailMap = flowInfos?["detailMap"];
|
||||
if (detailMap == null || !detailMap.Any())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach (var detail in detailMap)
|
||||
{
|
||||
var fileInfos = detail["gatewayFileRequestFileInfo"];
|
||||
if (fileInfos != null && fileInfos.Any())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
var fjFileInfo = flowInfos?["fjFileInfo"];
|
||||
return fjFileInfo != null && fjFileInfo.Any();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 从 detailMap 中提取用印文件 ID 和文件名
|
||||
/// 从 fjFileInfo 中提取用印文件 ID 和文件名
|
||||
/// </summary>
|
||||
private bool TryExtractFileFromDetailMap(Newtonsoft.Json.Linq.JObject flowInfos, out string fileId, out string fileName)
|
||||
private bool TryExtractFileFromFjFileInfo(Newtonsoft.Json.Linq.JObject flowInfos, out string fileId, out string fileName)
|
||||
{
|
||||
fileId = null;
|
||||
fileName = null;
|
||||
|
||||
var detailMap = flowInfos?["detailMap"];
|
||||
if (detailMap == null || !detailMap.Any())
|
||||
var fjFileInfo = flowInfos?["fjFileInfo"];
|
||||
if (fjFileInfo == null || !fjFileInfo.Any())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach (var detail in detailMap)
|
||||
var firstFile = fjFileInfo.FirstOrDefault();
|
||||
if (firstFile != null)
|
||||
{
|
||||
var fileInfos = detail["gatewayFileRequestFileInfo"];
|
||||
if (fileInfos != null && fileInfos.Any())
|
||||
fileId = firstFile["id"]?.ToString();
|
||||
fileName = firstFile["fileName"]?.ToString();
|
||||
if (!string.IsNullOrEmpty(fileId))
|
||||
{
|
||||
var firstFile = fileInfos.FirstOrDefault();
|
||||
if (firstFile != null)
|
||||
{
|
||||
fileId = firstFile["id"]?.ToString();
|
||||
fileName = firstFile["fileName"]?.ToString();
|
||||
if (!string.IsNullOrEmpty(fileId))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user