非肿瘤评估标准,多表格 和单表格处理
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
hang 2025-01-16 08:59:21 +08:00
parent 9d6cdd5711
commit e46f204204
1 changed files with 28 additions and 11 deletions

View File

@ -2444,10 +2444,10 @@ namespace IRaCIS.Core.Application.Service.Common
}
//肿瘤评估标准目前是去重
var tableNameList = trialConfigTableQuestionList.Select(t => t.QuestionName).Distinct().ToList();
var tableQuestionNameList = trialConfigTableQuestionList.Select(t => t.QuestionName).Distinct().ToList();
//有表格问题 那么就是三部分,否则就是外层问题
configCoumNameList = tableNameList.Count == 0 ? fistLeveLNameList : fistLeveLNameList.Union(extralNameList).Union(tableNameList).ToList();
configCoumNameList = tableQuestionNameList.Count == 0 ? fistLeveLNameList : fistLeveLNameList.Union(extralNameList).Union(tableQuestionNameList).ToList();
#region 扩展病灶
@ -2504,7 +2504,7 @@ namespace IRaCIS.Core.Application.Service.Common
#endregion
#region 处理好数据后合并
#region 不管是list 还是taskList 最终处理的数据都是list 处理好数据后合并
if (criterion.CriterionType == CriterionType.RECIST1Point1 || criterion.CriterionType == CriterionType.RECIST1Pointt1_MB || criterion.CriterionType == CriterionType.IRECIST1Point1)
{
//针对1.1 整体肿瘤评估 有的两列要合并一列
@ -2564,14 +2564,17 @@ namespace IRaCIS.Core.Application.Service.Common
//非肿瘤的 问题名称是 表格名称_表格子问题名
else
{
var isMutiTable = trialConfigTableQuestionList.Select(t => t.TableName).Distinct().Count() > 1;
//多表格问题
if (trialConfigTableQuestionList.Select(t => t.QuestionName).Distinct().Count() > 1)
if (isMutiTable)
{
var extralNameList = new List<string>() { _userInfo.IsEn_Us ? "Table Name" : "表格名称" };
var tableNameList = trialConfigTableQuestionList.Select(t => t.TableName + "_" + t.QuestionName).ToList();
var tableQuestionNameList = trialConfigTableQuestionList.Select(t => t.TableName + "_" + t.QuestionName).ToList();
configCoumNameList = fistLeveLNameList.Union(extralNameList).Union(tableNameList).ToList();
configCoumNameList = fistLeveLNameList.Union(extralNameList).Union(tableQuestionNameList).ToList();
}
else
{
@ -2600,14 +2603,28 @@ namespace IRaCIS.Core.Application.Service.Common
if (lession.LessionAnswerList.Count > 0)
{
var firstLessionAnser = lession.LessionAnswerList.FirstOrDefault();
var addLessionInfoList = new List<CommonQuesionInfo>();
addLessionInfoList.Add(new CommonQuesionInfo() { QuestionName = _userInfo.IsEn_Us ? "Table Name" : "表格名称", QuestionValue = firstLessionAnser.TableName });
var dynamicLessionInfoList = new List<CommonQuesionInfo>();
var dynamicPartialLessionInfoList = lession.LessionAnswerList.Select(t => new CommonQuesionInfo() { QuestionName = t.TableName + "_" + t.QuestionName, QuestionValue = t.QuestionValue, TranslateDicName = t.TranslateDicName, CDISCCode = t.CDISCCode });
if (isMutiTable)
{
var addLessionInfoList = new List<CommonQuesionInfo>();
addLessionInfoList.Add(new CommonQuesionInfo() { QuestionName = _userInfo.IsEn_Us ? "Table Name" : "表格名称", QuestionValue = firstLessionAnser.TableName });
var dynamicPartialLessionInfoList = lession.LessionAnswerList.Select(t => new CommonQuesionInfo() { QuestionName = t.TableName + "_" + t.QuestionName, QuestionValue = t.QuestionValue, TranslateDicName = t.TranslateDicName, CDISCCode = t.CDISCCode });
//有三部分组成 外层问题+ 固定列表格名称 + 动态的表格问题
dynamicLessionInfoList = item.QuestionAnswerList.Union(addLessionInfoList).Union(dynamicPartialLessionInfoList).ToList();
}
else
{
var dynamicPartialLessionInfoList = lession.LessionAnswerList.Select(t => new CommonQuesionInfo() { QuestionName = t.QuestionName, QuestionValue = t.QuestionValue, TranslateDicName = t.TranslateDicName, CDISCCode = t.CDISCCode });
//两部分组成 外层问题+ 动态的表格问题
dynamicLessionInfoList = item.QuestionAnswerList.Union(dynamicPartialLessionInfoList).ToList();
}
//有三部分组成 外层问题+ 固定列表格名称 + 动态的表格问题
var dynamicLessionInfoList = item.QuestionAnswerList.Union(addLessionInfoList).Union(dynamicPartialLessionInfoList).ToList();
var cloneItem = item.Clone();