Test.EIImageViewer
he 2023-02-14 15:09:34 +08:00
commit a696b0f1a8
4 changed files with 69 additions and 16 deletions

View File

@ -513,14 +513,14 @@
</member>
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetSelfAnalysisTaskList_Export(IRaCIS.Core.Application.ViewModel.VisitTaskQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.CommonDocument},IRaCIS.Application.Interfaces.IDictionaryService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
<summary>
自身一致性分析
自身一致性分析(仅做了resist1.1)
</summary>
<param name="queryVisitTask"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.Common.ExcelExportService.GetGroupAnalysisTaskList_Export(IRaCIS.Core.Application.ViewModel.VisitTaskQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.CommonDocument},IRaCIS.Application.Interfaces.IDictionaryService,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial})">
<summary>
组件一致性分析
组件一致性分析(仅做了resist1.1)
</summary>
<param name="inQuery"></param>
<returns></returns>

View File

@ -14,6 +14,8 @@ using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Service.Common
{
[ApiExplorerSettings(GroupName = "Common")]
public class ExcelExportService : BaseService
{
@ -458,7 +460,7 @@ namespace IRaCIS.Core.Application.Service.Common
/// <summary>
/// 自身一致性分析
/// 自身一致性分析(仅做了resist1.1)
/// </summary>
/// <param name="queryVisitTask"></param>
/// <returns></returns>
@ -524,12 +526,12 @@ namespace IRaCIS.Core.Application.Service.Common
exportInfo.List = list;
return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialMedicalReviewList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(SelftAnalysisExport));
return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialSelfAnalysisList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(SelftAnalysisExport));
}
/// <summary>
/// 组件一致性分析
/// 组件一致性分析(仅做了resist1.1)
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
@ -571,25 +573,51 @@ namespace IRaCIS.Core.Application.Service.Common
var list = allList.Where(t => t.IsSelfAnalysis == null).OrderBy(t => t.TrialSiteCode).ThenBy(t => t.SubjectCode).ThenBy(t => t.VisitTaskNum).ToList();
//To do 根据任务Id 找对评估结果,这里需要考虑标准 以及对应的翻译
var newList=new List<GroupAnalysisExport>();
// 每个subject访视进行分组
foreach (var item in list)
foreach (var group in list.GroupBy(t => new { t.SubjectCode, t.VisitTaskNum, t.TaskName, t.ArmEnum })
.OrderBy(g => g.Key.SubjectCode)
.ThenBy(g => g.Key.VisitTaskNum)
//.ThenBy(g => g.Key.ArmEnum)
)
{
//找到一致性分析的结果
var groupAnalysisTask = allList.Where(t => t.IsSelfAnalysis == false && t.SubjectCode == item.SubjectCode && t.VisitTaskNum == item.VisitTaskNum && t.TaskName == t.TaskName).FirstOrDefault();
var subjectVisitGroupList = group.ToList();
item.AgainEvaluateResult = groupAnalysisTask?.EvaluateResult ?? String.Empty;
//找到当前访视组件一致性分析的任务结果
var groupTaskList = allList.Where(t => t.IsSelfAnalysis == false && t.SubjectCode == group.Key.SubjectCode && t.VisitTaskNum == group.Key.VisitTaskNum && t.TaskName == group.Key.TaskName).ToList();
foreach (var subjectVisitTaskArm in subjectVisitGroupList.OrderBy(t => t.ArmEnum))
{
foreach (var item in groupTaskList)
{
var cloneObj = subjectVisitTaskArm.Clone();
cloneObj.AgainUserName= item.UserName;
cloneObj.AgainEvaluateResult = item.EvaluateResult;
cloneObj.ArmEnum = item.ArmEnum;
//cloneObj.IsGroupAnalysisDiffToOriginalData = item.ArmEnum;
newList.Add(cloneObj);
}
}
}
var exportInfo = (await _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).IgnoreQueryFilters().ProjectTo<ExcelExportInfo>(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException();
exportInfo.List = list;
exportInfo.List = newList;
return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialMedicalReviewList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(TaskMedicalReviewExportDto));
return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialGroupAnalysisList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(GroupAnalysisExport));
}
@ -640,7 +668,7 @@ namespace IRaCIS.Core.Application.Service.Common
exportInfo.List = list;
return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialMedicalReviewList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(OverallTumorEvaluationExport), criterionType);
return await ExcelExportHelper.DataExportAsync(StaticData.Export.OverallTumorEvaluation_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(OverallTumorEvaluationExport), criterionType);
}
/// <summary>
@ -689,8 +717,6 @@ namespace IRaCIS.Core.Application.Service.Common
exportInfo.List = list;
return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialMedicalReviewList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(RECIST1Point1EvaluationOfTumorEfficacyExport), criterionType);
}
else

View File

@ -625,6 +625,13 @@ namespace IRaCIS.Core.Application.Contracts
public class GroupAnalysisExport: AnalysisExortCommon
{
[DictionaryTranslateAttribute("ArmEnum")]
public Arm AgainArmEnum { get; set; }
public string AgainUserName { get; set; }
public bool? IsGroupAnalysisDiffToOriginalData { get; set; }
}
public class SelftAnalysisExport: AnalysisExortCommon

View File

@ -155,7 +155,27 @@ public static class StaticData
public const string TrialMedicalReviewList_Export = "TrialMedicalReviewList_Export";
//public const string TrialRECIST1Point1SelfAnalysisList_Export = "TrialRECIST1Point1SelfAnalysisList_Export";
//public const string TrialRECIST1Point1GroupAnalysisList_Export = "TrialRECIST1Point1GroupAnalysisList_Export";
public const string TrialSelfAnalysisList_Export = "TrialSelfAnalysisList_Export";
public const string TrialGroupAnalysisList_Export = "TrialGroupAnalysisList_Export";
public const string OverallTumorEvaluation_Export = "OverallTumorEvaluation_Export";
public const string RECIST1Point1EvaluationOfTumorEfficacy_Export = "RECIST1Point1EvaluationOfTumorEfficacy_Export";
public const string RECIST1Point1DetailedOfEvaluatedLesion_Export = "RECIST1Point1DetailedOfEvaluatedLesion_Export";
}