修改导表bug
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
hang 2025-01-15 22:39:20 +08:00
parent 68845ae44b
commit fc70ec7ad0
1 changed files with 162 additions and 142 deletions

View File

@ -2386,30 +2386,7 @@ namespace IRaCIS.Core.Application.Service.Common
fistLeveLNameList = trialConfigQuestionList.Select(t => fistLeveLNameList = trialConfigQuestionList.Select(t =>
(t.QuestionType == QuestionType.ExistDisease || t.QuestionType == QuestionType.Tumor) ? (_userInfo.IsEn_Us ? "Overall Response" : "整体肿瘤评估") : t.QuestionName).Distinct().ToList(); (t.QuestionType == QuestionType.ExistDisease || t.QuestionType == QuestionType.Tumor) ? (_userInfo.IsEn_Us ? "Overall Response" : "整体肿瘤评估") : t.QuestionName).Distinct().ToList();
//针对1.1 整体肿瘤评估 有的两列要合并一列
foreach (var item in list)
{
//处理合并表头
var questionType = item.IsBaseline == true ? QuestionType.ExistDisease : QuestionType.Tumor;
var findItem = item.QuestionAnswerList.Where(t => t.QuestionType == questionType).FirstOrDefault();
if (findItem != null)
{
findItem.QuestionName = _userInfo.IsEn_Us ? "Overall Response" : "整体肿瘤评估";
}
if (item.IsBaseline == true)
{
item.QuestionAnswerList = item.QuestionAnswerList.Where(t => t.QuestionType != QuestionType.Tumor).ToList();
}
else
{
item.QuestionAnswerList = item.QuestionAnswerList.Where(t => t.QuestionType != QuestionType.ExistDisease).ToList();
}
}
} }
@ -2418,30 +2395,6 @@ namespace IRaCIS.Core.Application.Service.Common
fistLeveLNameList = trialConfigQuestionList.Select(t => fistLeveLNameList = trialConfigQuestionList.Select(t =>
(t.QuestionType == QuestionType.ExistDisease || t.QuestionType == QuestionType.ImgOncology) ? (_userInfo.IsEn_Us ? "Overall Response" : "整体肿瘤评估") : t.QuestionName).Distinct().ToList(); (t.QuestionType == QuestionType.ExistDisease || t.QuestionType == QuestionType.ImgOncology) ? (_userInfo.IsEn_Us ? "Overall Response" : "整体肿瘤评估") : t.QuestionName).Distinct().ToList();
foreach (var item in list)
{
//处理合并表头
var questionType = item.IsBaseline == true ? QuestionType.ExistDisease : QuestionType.ImgOncology;
var findItem = item.QuestionAnswerList.Where(t => t.QuestionType == questionType).FirstOrDefault();
if (findItem != null)
{
findItem.QuestionName = _userInfo.IsEn_Us ? "Overall Response" : "整体肿瘤评估";
}
if (item.IsBaseline == true)
{
item.QuestionAnswerList = item.QuestionAnswerList.Where(t => t.QuestionType != QuestionType.ImgOncology).ToList();
}
else
{
item.QuestionAnswerList = item.QuestionAnswerList.Where(t => t.QuestionType != QuestionType.ExistDisease).ToList();
}
}
} }
else if (criterion.CriterionType == CriterionType.PCWG3) else if (criterion.CriterionType == CriterionType.PCWG3)
{ {
@ -2465,10 +2418,6 @@ namespace IRaCIS.Core.Application.Service.Common
#region 表格问题 处理增加列 #region 表格问题 处理增加列
//有多个表格问题
if (trialConfigTableQuestionList.Select(t => t.TableName).Distinct().Count() > 1)
{
//肿瘤 表格问题直接去重、同时添加一些列 外层问题合并一些列 //肿瘤 表格问题直接去重、同时添加一些列 外层问题合并一些列
if (criterion.CriterionGroup == CriterionGroup.Tumor) if (criterion.CriterionGroup == CriterionGroup.Tumor)
{ {
@ -2478,14 +2427,20 @@ namespace IRaCIS.Core.Application.Service.Common
|| criterion.CriterionType == CriterionType.IRECIST1Point1 || criterion.CriterionType == CriterionType.Lugano2014 || criterion.CriterionType == CriterionType.Lugano2014WithoutPET) || criterion.CriterionType == CriterionType.IRECIST1Point1 || criterion.CriterionType == CriterionType.Lugano2014 || criterion.CriterionType == CriterionType.Lugano2014WithoutPET)
{ {
if(inQuery.ReadingExportType == ExportResult.DetailedTableOfLesions)
{
extralNameList.Add(_userInfo.IsEn_Us ? "Lesion ID" : "病灶编号"); extralNameList.Add(_userInfo.IsEn_Us ? "Lesion ID" : "病灶编号");
extralNameList.Add(_userInfo.IsEn_Us ? "Lesion Type" : "病灶类型"); extralNameList.Add(_userInfo.IsEn_Us ? "Lesion Type" : "病灶类型");
}
} }
else if (criterion.CriterionType == CriterionType.PCWG3) else if (criterion.CriterionType == CriterionType.PCWG3)
{
if (inQuery.ReadingExportType == ExportResult.DetailedTableOfLesions)
{ {
extralNameList.Add(_userInfo.IsEn_Us ? "Lesion Type" : "病灶类型"); extralNameList.Add(_userInfo.IsEn_Us ? "Lesion Type" : "病灶类型");
}
} }
var tableNameList = trialConfigTableQuestionList.Select(t => t.QuestionName).Distinct().ToList(); var tableNameList = trialConfigTableQuestionList.Select(t => t.QuestionName).Distinct().ToList();
@ -2523,7 +2478,7 @@ namespace IRaCIS.Core.Application.Service.Common
var dynamicPartialLessionInfoList = lession.LessionAnswerList.Select(t => new CommonQuesionInfo() { QuestionName = t.QuestionName, QuestionValue = t.QuestionValue, TranslateDicName = t.TranslateDicName }); var dynamicPartialLessionInfoList = lession.LessionAnswerList.Select(t => new CommonQuesionInfo() { QuestionName = t.QuestionName, QuestionValue = t.QuestionValue, TranslateDicName = t.TranslateDicName });
//有三部分组成 外层问题+ 没有配置病灶编号和类型+ 动态的表格问题 //有三部分组成 外层问题+ 没有配置病灶编号和类型+ 动态的表格问题
var dynamicLessionInfoList = addLessionInfoList.Union(dynamicPartialLessionInfoList).Union(item.QuestionAnswerList).ToList(); var dynamicLessionInfoList = item.QuestionAnswerList.Union(addLessionInfoList).Union(dynamicPartialLessionInfoList).ToList();
//OCT 多个表格,但是只导出一个表格,有的问题答案就是空的 //OCT 多个表格,但是只导出一个表格,有的问题答案就是空的
if (dynamicLessionInfoList.Count > 0) if (dynamicLessionInfoList.Count > 0)
@ -2547,6 +2502,62 @@ namespace IRaCIS.Core.Application.Service.Common
#endregion #endregion
#region 处理好数据后合并
if (criterion.CriterionType == CriterionType.RECIST1Point1 || criterion.CriterionType == CriterionType.RECIST1Pointt1_MB || criterion.CriterionType == CriterionType.IRECIST1Point1)
{
//针对1.1 整体肿瘤评估 有的两列要合并一列
foreach (var item in list)
{
//处理合并表头
var questionType = item.IsBaseline == true ? QuestionType.ExistDisease : QuestionType.Tumor;
var findItem = item.QuestionAnswerList.Where(t => t.QuestionType == questionType).FirstOrDefault();
if (findItem != null)
{
findItem.QuestionName = _userInfo.IsEn_Us ? "Overall Response" : "整体肿瘤评估";
}
if (item.IsBaseline == true)
{
item.QuestionAnswerList = item.QuestionAnswerList.Where(t => t.QuestionType != QuestionType.Tumor).ToList();
}
else
{
item.QuestionAnswerList = item.QuestionAnswerList.Where(t => t.QuestionType != QuestionType.ExistDisease).ToList();
}
}
}
else if (criterion.CriterionType == CriterionType.Lugano2014 || criterion.CriterionType == CriterionType.Lugano2014WithoutPET)
{
foreach (var item in list)
{
//处理合并表头
var questionType = item.IsBaseline == true ? QuestionType.ExistDisease : QuestionType.ImgOncology;
var findItem = item.QuestionAnswerList.Where(t => t.QuestionType == questionType).FirstOrDefault();
if (findItem != null)
{
findItem.QuestionName = _userInfo.IsEn_Us ? "Overall Response" : "整体肿瘤评估";
}
if (item.IsBaseline == true)
{
item.QuestionAnswerList = item.QuestionAnswerList.Where(t => t.QuestionType != QuestionType.ImgOncology).ToList();
}
else
{
item.QuestionAnswerList = item.QuestionAnswerList.Where(t => t.QuestionType != QuestionType.ExistDisease).ToList();
}
}
}
#endregion
} }
//非肿瘤的 问题名称是 表格名称_表格子问题名 //非肿瘤的 问题名称是 表格名称_表格子问题名
else else
@ -2602,14 +2613,23 @@ namespace IRaCIS.Core.Application.Service.Common
} }
}
//单个表格,或者没有配置表格 直接用表格问题名称
else
{
var tableNameList = trialConfigTableQuestionList.Select(t => t.QuestionName).ToList();
configCoumNameList = fistLeveLNameList.Union(tableNameList).ToList(); #region 多个表格问题 单个表格问题
} ////有多个表格问题
//if (trialConfigTableQuestionList.Select(t => t.TableName).Distinct().Count() > 1)
//{
//}
////单个表格,或者没有配置表格 直接用表格问题名称
//else
//{
// var tableNameList = trialConfigTableQuestionList.Select(t => t.QuestionName).ToList();
// configCoumNameList = fistLeveLNameList.Union(tableNameList).ToList();
//}
#endregion
#endregion #endregion