修改导表

Uat_IRC_Net8
hang 2025-01-15 11:13:24 +08:00
parent cf9d42dc49
commit 24c259a38b
1 changed files with 42 additions and 28 deletions

View File

@ -2437,11 +2437,17 @@ namespace IRaCIS.Core.Application.Service.Common
//处理裁判标记
list = DealJudgeMark(criterion.ArbitrationRule, criterion.IsGlobalReading, list);
////合并之前获取翻译的字典名,否则有的没法翻译
//var translateDicNameList = list.SelectMany(t => t.QuestionAnswerList).Where(t => t.TranslateDicName.IsNotNullOrEmpty()).Select(t => t.TranslateDicName).Distinct().ToList();
if (export_Template == StaticData.Export.CommonJudgeReadingDetail_Export)
{
//裁判产生标记为空的数据过滤掉
list = list.Where(t => t.IsTrigerJudge != null).ToList();
}
if (inQuery.ReadingExportType != ExportResult.CDISC)
#region 肿瘤评估标准,并且非 CDISC 需要合并列
if (criterion.CriterionGroup == CriterionGroup.Tumor && inQuery.ReadingExportType != ExportResult.CDISC)
{
#region 系统标准处理整体肿瘤评估合并
@ -2503,17 +2509,15 @@ namespace IRaCIS.Core.Application.Service.Common
}
if (export_Template == StaticData.Export.CommonJudgeReadingDetail_Export)
{
//裁判产生标记为空的数据过滤掉
list = list.Where(t => t.IsTrigerJudge != null).ToList();
}
#endregion
}
#endregion
@ -2537,30 +2541,32 @@ namespace IRaCIS.Core.Application.Service.Common
t.CDISCCode,
TranslateDicName = t.DictionaryCode
}).ToList();
var trialConfigTableQuestionList = _trialReadingTableQuestionRepository.Where(t => t.TrialId == trialId).Where(t => t.ExportResultStr.Contains(((int)inQuery.ReadingExportType).ToString())).OrderBy(t => t.ShowOrder).Select(t => new
{
QuestionId = t.Id,
QuestionName = _userInfo.IsEn_Us ? t.QuestionEnName : t.QuestionName,
t.CDISCCode,
TranslateDicName = t.DictionaryCode
}).ToList();
var totalCoumNameList = trialConfigQuestionList.Union(trialConfigTableQuestionList).ToList();
var columNameList = totalCoumNameList.Select(t => t.QuestionName).ToList();
var translateDicList = totalCoumNameList.Where(t => t.TranslateDicName.IsNotNullOrEmpty()).Select(t => t.TranslateDicName).Distinct().ToList();
#endregion
if (inQuery.ReadingExportType != ExportResult.CDISC)
{
//表格全问题名
var trialConfigTableQuestionList = _trialReadingTableQuestionRepository.Where(t => t.TrialId == trialId).Where(t => t.ExportResultStr.Contains(((int)inQuery.ReadingExportType).ToString()))
.OrderBy(t => t.ShowOrder).Select(t => new
{
QuestionId = t.Id,
QuestionName = _userInfo.IsEn_Us ? t.QuestionEnName : t.QuestionName,
t.CDISCCode,
TranslateDicName = t.DictionaryCode
}).ToList();
var totalConfigCoumNameList = trialConfigQuestionList.Union(trialConfigTableQuestionList).ToList();
var translateDicList = totalConfigCoumNameList.Where(t => t.TranslateDicName.IsNotNullOrEmpty()).Select(t => t.TranslateDicName).Distinct().ToList();
//暂时不用,因为肿瘤标准添加了列,同时多表格的,列名会加上表格名,这里还没有最终确认
var configCoumNameList = totalConfigCoumNameList.Select(t => t.QuestionName).ToList();
//之前从问题答案取 合并之后获取最后的列名
//var columNameList = list.SelectMany(t => t.QuestionAnswerList).Where(t => t.QuestionName.IsNotNullOrEmpty()).Select(t => t.QuestionName).Distinct().ToList();
var columNameList = list.SelectMany(t => t.QuestionAnswerList).Where(t => t.QuestionName.IsNotNullOrEmpty()).Select(t => t.QuestionName).Distinct().ToList();
dynamicColumnConfig = new DynamicColumnConfig()
{
@ -2584,10 +2590,18 @@ namespace IRaCIS.Core.Application.Service.Common
};
}
else
{
//CDISC 导出 只到外层问题级别
var cdiscCodeList = totalCoumNameList.Select(t => t.CDISCCode).ToList();
var totalConfigCoumNameList = trialConfigQuestionList.ToList();
var configCoumNameList = totalConfigCoumNameList.Select(t => t.QuestionName).ToList();
var translateDicList = totalConfigCoumNameList.Where(t => t.TranslateDicName.IsNotNullOrEmpty()).Select(t => t.TranslateDicName).Distinct().ToList();
var cdiscCodeList = totalConfigCoumNameList.Select(t => t.CDISCCode).ToList();
#region 之前从问题答案取
@ -2606,7 +2620,7 @@ namespace IRaCIS.Core.Application.Service.Common
DynamicItemTitleName = "QuestionName",
DynamicListName = "QuestionAnswerList",
RemoveColunmIndexList = removeColumnIndexList,
ColumnNameList = columNameList,
ColumnNameList = configCoumNameList,
CDISCList = cdiscCodeList,
TranslateDicNameList = translateDicList
};