From e46f204204994ee9ac607e5a2571ca0cd5acf18b Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 16 Jan 2025 08:59:21 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=9E=E8=82=BF=E7=98=A4=E8=AF=84=E4=BC=B0?= =?UTF-8?q?=E6=A0=87=E5=87=86=EF=BC=8C=E5=A4=9A=E8=A1=A8=E6=A0=BC=20?= =?UTF-8?q?=E5=92=8C=E5=8D=95=E8=A1=A8=E6=A0=BC=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Common/ExcelExportService.cs | 39 +++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index 5aa0ff062..de447237f 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -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() { _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(); - addLessionInfoList.Add(new CommonQuesionInfo() { QuestionName = _userInfo.IsEn_Us ? "Table Name" : "表格名称", QuestionValue = firstLessionAnser.TableName }); + var dynamicLessionInfoList = new List(); - 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(); + + 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();