优化逻辑
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
hang 2025-01-21 22:54:23 +08:00
parent fb478aa5f2
commit 7885cd151a
2 changed files with 47 additions and 37 deletions

View File

@ -102,6 +102,20 @@
Excel Title Name
</summary>
</member>
<member name="M:IRaCIS.Core.Application.Service.ExcelExportHelper.CDISC_DataExport_Async(System.String,IRaCIS.Application.Contracts.ExcelExportInfo,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.CommonDocument},Microsoft.AspNetCore.Hosting.IWebHostEnvironment,IRaCIS.Application.Interfaces.IDictionaryService,System.Type,System.Nullable{IRaCIS.Core.Domain.Share.CriterionType},IRaCIS.Core.Application.Service.ExcelExportHelper.DynamicColumnConfig)">
<summary>
暂时废弃--合并到上面
</summary>
<param name="code"></param>
<param name="data"></param>
<param name="_commonDocumentRepository"></param>
<param name="_hostEnvironment"></param>
<param name="_dictionaryService"></param>
<param name="translateType"></param>
<param name="criterionType"></param>
<param name="dynamicColumnConfig"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ExcelExportHelper.ExportTemplateAsync(IRaCIS.Application.Contracts.ExportTemplateServiceDto)">
<summary>
导出文件模板

View File

@ -2347,21 +2347,21 @@ namespace IRaCIS.Core.Application.Service.Common
GroupName = _userInfo.IsEn_Us ? t.GroupInfo.GroupEnName : t.GroupInfo.GroupName
}).ToList();
//外层问题有重复,针对重复的加上组名
foreach (var item in trialConfigQuestionList.GroupBy(t => t.QuestionName).Where(g => g.Count() > 1))
{
var qName = item.Key;
#region 外层问题有重复,针对重复的加上组名
foreach (var configQuestion in trialConfigQuestionList)
{
if (configQuestion.QuestionName == qName)
{
configQuestion.QuestionName = $"{configQuestion.GroupName}_{configQuestion.QuestionName}";
}
}
}
//foreach (var item in trialConfigQuestionList.GroupBy(t => t.QuestionName).Where(g => g.Count() > 1))
//{
// var qName = item.Key;
// foreach (var configQuestion in trialConfigQuestionList)
// {
// if (configQuestion.QuestionName == qName)
// {
// configQuestion.QuestionName = $"{configQuestion.GroupName}_{configQuestion.QuestionName}";
// }
// }
//}
#endregion
if (inQuery.ReadingExportType != ExportResult.CDISC)
@ -2384,13 +2384,15 @@ namespace IRaCIS.Core.Application.Service.Common
TranslateDicName = t.DictionaryCode
}).ToList();
#region 外层问题 可能存在合并
var fistLeveLNameList = new List<DynamicColumnConfig.ColumItem>();
//肿瘤评估非CDISC 导出
if (criterion.CriterionGroup == CriterionGroup.Tumor)
{
#region 外层问题处理
if (criterion.CriterionType == CriterionType.RECIST1Point1 || criterion.CriterionType == CriterionType.RECIST1Pointt1_MB || criterion.CriterionType == CriterionType.IRECIST1Point1)
{
@ -2424,30 +2426,13 @@ namespace IRaCIS.Core.Application.Service.Common
}
#endregion
var exTralDicNameList = new List<string>() { "LesionType" };
translateDicNameList = trialConfigQuestionList.Union(trialConfigTableQuestionList).Where(t => t.TranslateDicName.IsNotNullOrEmpty()).Select(t => t.TranslateDicName).Union(exTralDicNameList).Distinct().ToList();
}
else
//非肿瘤评估非CDISC 导出
{
fistLeveLNameList = trialConfigQuestionList.Select(t => new DynamicColumnConfig.ColumItem()
{
Id = t.QuestionId,
Name = t.QuestionName
}).ToList();
translateDicNameList = trialConfigQuestionList.Union(trialConfigTableQuestionList).Where(t => t.TranslateDicName.IsNotNullOrEmpty()).Select(t => t.TranslateDicName).Distinct().ToList();
}
#endregion
#region 表格问题 处理增加列
//肿瘤 表格问题直接去重、同时添加一些列 外层问题合并一些列
if (criterion.CriterionGroup == CriterionGroup.Tumor)
{
#region 表格问题处理 肿瘤 表格问题直接去重、同时添加一些列
var extralNameList = new List<DynamicColumnConfig.ColumItem>();
if (criterion.CriterionType == CriterionType.RECIST1Point1 || criterion.CriterionType == CriterionType.RECIST1Pointt1_MB
@ -2587,10 +2572,21 @@ namespace IRaCIS.Core.Application.Service.Common
#endregion
#endregion
}
//非肿瘤的 问题名称是 表格名称_表格子问题名
else
//非肿瘤评估非CDISC 导出
{
//外层问题处理
fistLeveLNameList = trialConfigQuestionList.Select(t => new DynamicColumnConfig.ColumItem()
{
Id = t.QuestionId,
Name = t.QuestionName
}).ToList();
translateDicNameList = trialConfigQuestionList.Union(trialConfigTableQuestionList).Where(t => t.TranslateDicName.IsNotNullOrEmpty()).Select(t => t.TranslateDicName).Distinct().ToList();
#region 表格问题处理 问题名称是 表格名称_表格子问题名
var isMutiTable = trialConfigTableQuestionList.Select(t => t.TableName).Distinct().Count() > 1;
@ -2673,10 +2669,10 @@ namespace IRaCIS.Core.Application.Service.Common
#endregion
#endregion
}
#endregion
dynamicColumnConfig = new DynamicColumnConfig()
{
@ -2690,7 +2686,7 @@ namespace IRaCIS.Core.Application.Service.Common
DynamicListName = "QuestionAnswerList",
RemoveColunmIndexList = removeColumnIndexList,
ColumnIdNameList = configCoumNameList,
CDISCList=new List<string>(),
CDISCList = new List<string>(),
TranslateDicNameList = translateDicNameList
};