优化逻辑
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 Excel Title Name
</summary> </summary>
</member> </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)"> <member name="M:IRaCIS.Core.Application.Service.ExcelExportHelper.ExportTemplateAsync(IRaCIS.Application.Contracts.ExportTemplateServiceDto)">
<summary> <summary>
导出文件模板 导出文件模板

View File

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