替换字典中项目关键字
parent
c3e9024a57
commit
14cd5dd91c
|
|
@ -96,6 +96,8 @@ namespace IRaCIS.Application.Contracts
|
||||||
public Guid? TrialReadingCriterionId { get; set; }
|
public Guid? TrialReadingCriterionId { get; set; }
|
||||||
|
|
||||||
public Guid? SystemReadingCriterionId { get; set; }
|
public Guid? SystemReadingCriterionId { get; set; }
|
||||||
|
|
||||||
|
public Guid? TrialId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -452,14 +452,14 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
if (inDto.TrialReadingCriterionId == null && inDto.SystemReadingCriterionId == null)
|
if (inDto.TrialReadingCriterionId == null && inDto.SystemReadingCriterionId == null)
|
||||||
{
|
{
|
||||||
return result;
|
return await ChangeTrialObjectNameList(result,inDto.TrialId);
|
||||||
}
|
}
|
||||||
else if (inDto.TrialReadingCriterionId != null)
|
else if (inDto.TrialReadingCriterionId != null)
|
||||||
{
|
{
|
||||||
var trialCriterionType = await _readingQuestionCriterionTrial.Where(x => x.Id == inDto.TrialReadingCriterionId).Select(x => x.CriterionType).FirstOrDefaultAsync();
|
var trialCriterionType = await _readingQuestionCriterionTrial.Where(x => x.Id == inDto.TrialReadingCriterionId).Select(x => x.CriterionType).FirstOrDefaultAsync();
|
||||||
if (trialCriterionType == CriterionType.SelfDefine)
|
if (trialCriterionType == CriterionType.SelfDefine)
|
||||||
{
|
{
|
||||||
return result;
|
return await ChangeTrialObjectNameList(result, inDto.TrialId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -505,7 +505,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
result[item.Key] = item.Value;
|
result[item.Key] = item.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return await ChangeTrialObjectNameList(result, inDto.TrialId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -548,12 +548,76 @@ namespace IRaCIS.Core.Application.Service
|
||||||
result[item.Key] = item.Value;
|
result[item.Key] = item.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return await ChangeTrialObjectNameList(result, inDto.TrialId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 替换字典中的项目名称为试验对象名称 --New
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="data"></param>
|
||||||
|
/// <param name="trialId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
private async Task<Dictionary<string, List<BasicDicSelect>>> ChangeTrialObjectNameList(Dictionary<string, List<BasicDicSelect>> data,Guid? trialId)
|
||||||
|
{
|
||||||
|
if (!trialId.HasValue)
|
||||||
|
{
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 查询映射集合
|
||||||
|
var trialObjectNameList = await _trialRepository
|
||||||
|
.Where(x => x.Id == trialId)
|
||||||
|
.Select(x => x.TrialObjectNameList)
|
||||||
|
.FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
// 无映射数据直接返回
|
||||||
|
if (trialObjectNameList == null || !trialObjectNameList.Any())
|
||||||
|
{
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 构建映射字典,过滤空名称,避免无效替换
|
||||||
|
var replaceDict = trialObjectNameList
|
||||||
|
.Where(m => !string.IsNullOrEmpty(m.Name))
|
||||||
|
.ToDictionary(m => m.Name, m => m.TrialName);
|
||||||
|
|
||||||
|
// 遍历替换
|
||||||
|
foreach (var (_, selectList) in data)
|
||||||
|
{
|
||||||
|
foreach (var selectItem in selectList)
|
||||||
|
{
|
||||||
|
// 替换Value,判null保护
|
||||||
|
if (selectItem.Value != null)
|
||||||
|
{
|
||||||
|
string tempVal = selectItem.Value;
|
||||||
|
foreach (var (oldStr, newStr) in replaceDict)
|
||||||
|
{
|
||||||
|
tempVal = tempVal.Replace(oldStr, newStr);
|
||||||
|
}
|
||||||
|
selectItem.Value = tempVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 替换中文名称ValueCN
|
||||||
|
if (selectItem.ValueCN != null)
|
||||||
|
{
|
||||||
|
string tempCn = selectItem.ValueCN;
|
||||||
|
foreach (var (oldStr, newStr) in replaceDict)
|
||||||
|
{
|
||||||
|
tempCn = tempCn.Replace(oldStr, newStr);
|
||||||
|
}
|
||||||
|
selectItem.ValueCN = tempCn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
#region 稽查相关
|
#region 稽查相关
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue