From 2f88a1ea6ff71c77c404e9e18f126110669caea9 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Tue, 14 Feb 2023 16:27:02 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.Application.xml | 26 ++++++++--
.../Service/Common/ExcelExportService.cs | 50 ++++++++++++++-----
.../Service/QC/DTO/QCListViewModel.cs | 10 ++++
3 files changed, 70 insertions(+), 16 deletions(-)
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 7c5333849..90e23482e 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -527,15 +527,25 @@
- 整体肿瘤评估 多个标准一个接口 Excel 列是一样的
+ 整体肿瘤评估 (目前仅仅 RECIST1.1 多个标准一个接口 Excel 列是一样的 )
-
+
+
+ 肿瘤疗效评估表 ( 目前仅仅 RECIST1.1)
+
+
+
+
+
+
+
+
- 评估病灶明细表 ( 目前 RECIST1.1 PGW3 表都是不同的)
+ 评估病灶明细表 (目前仅仅 RECIST1.1 RECIST1.1 PGW3 表都是不同的)
@@ -6974,6 +6984,16 @@
无效的 为True无效
+
+
+ 组件一致性和原Arm1是否有差异
+
+
+
+
+ 组件一致性和原Arm2是否有差异
+
+
diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs
index 5edd1180a..59371f6d9 100644
--- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs
+++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs
@@ -471,6 +471,12 @@ namespace IRaCIS.Core.Application.Service.Common
[FromServices] IRepository _trialRepository)
{
+ var criterionType = await _repository.Where(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => t.CriterionType).FirstOrDefaultAsync();
+
+ if (criterionType != CriterionType.RECIST1Pointt1)
+ {
+ throw new Exception("当前标准导出还未支持");
+ }
//产生一致性分析的Subject
var subjectQuerybal = _repository.Where(t => t.TrialId == queryVisitTask.TrialId && t.TaskState == TaskState.Effect && t.IsSelfAnalysis == true).Select(t => t.SubjectId).Distinct();
@@ -541,6 +547,12 @@ namespace IRaCIS.Core.Application.Service.Common
[FromServices] IDictionaryService _dictionaryService,
[FromServices] IRepository _trialRepository)
{
+ var criterionType = await _repository.Where(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => t.CriterionType).FirstOrDefaultAsync();
+
+ if (criterionType != CriterionType.RECIST1Pointt1)
+ {
+ throw new Exception("当前标准导出还未支持");
+ }
//产生组间一致性分析的Subject
@@ -574,7 +586,7 @@ 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();
- var newList=new List();
+ var newList = new List();
// 每个subject访视进行分组
@@ -587,7 +599,7 @@ namespace IRaCIS.Core.Application.Service.Common
var subjectVisitGroupList = group.ToList();
- //找到当前访视组件一致性分析的任务结果
+ //找到当前访视组间一致性分析的任务结果
var groupTaskList = allList.Where(t => t.IsSelfAnalysis == false && t.SubjectCode == group.Key.SubjectCode && t.VisitTaskNum == group.Key.VisitTaskNum && t.TaskName == group.Key.TaskName).ToList();
@@ -599,19 +611,20 @@ namespace IRaCIS.Core.Application.Service.Common
var cloneObj = subjectVisitTaskArm.Clone();
- cloneObj.AgainUserName= item.UserName;
+ cloneObj.AgainUserName = item.UserName;
cloneObj.AgainEvaluateResult = item.EvaluateResult;
cloneObj.ArmEnum = item.ArmEnum;
- //cloneObj.IsGroupAnalysisDiffToOriginalData = item.ArmEnum;
+
+ cloneObj.IsGroupAnalysisDiffToOriginalData = cloneObj.ArmEnum == Arm.DoubleReadingArm1 ? item.IsGroupDiffArm1 : item.IsGroupDiffArm2;
newList.Add(cloneObj);
}
}
-
+
}
-
+
var exportInfo = (await _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).IgnoreQueryFilters().ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException();
@@ -625,7 +638,7 @@ namespace IRaCIS.Core.Application.Service.Common
///
- /// 整体肿瘤评估 多个标准一个接口 Excel 列是一样的
+ /// 整体肿瘤评估 (目前仅仅 RECIST1.1 多个标准一个接口 Excel 列是一样的 )
///
///
///
@@ -636,9 +649,17 @@ namespace IRaCIS.Core.Application.Service.Common
[FromServices] IRepository _trialRepository)
{
+
+
+
//每次查询必须是单标准的
var criterionType = await _repository.Where(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t => t.CriterionType).FirstOrDefaultAsync();
+ if (criterionType != CriterionType.RECIST1Pointt1)
+ {
+ throw new Exception("当前标准导出还未支持");
+ }
+
var list = await _repository.Where(t => t.TrialId == queryVisitTask.TrialId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false && t.ReadingTaskState == ReadingTaskState.HaveSigned)
//.WhereIf(queryVisitTask.SubjectId != null, t => t.SubjectId == queryVisitTask.SubjectId)
@@ -672,11 +693,14 @@ namespace IRaCIS.Core.Application.Service.Common
}
///
- /// 肿瘤疗效评估表 ( 目前 RECIST1.1)
- ///
///
+ ///
+ ///
+ ///
///
- [HttpPost]
+ ///
public async Task GetEvaluationOfTumorEfficacy_Export(VisitTaskQuery queryVisitTask,
[FromServices] IRepository _commonDocumentRepository,
[FromServices] IDictionaryService _dictionaryService,
@@ -716,7 +740,7 @@ namespace IRaCIS.Core.Application.Service.Common
exportInfo.List = list;
- return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialMedicalReviewList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(RECIST1Point1EvaluationOfTumorEfficacyExport), criterionType);
+ return await ExcelExportHelper.DataExportAsync(StaticData.Export.RECIST1Point1EvaluationOfTumorEfficacy_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(RECIST1Point1EvaluationOfTumorEfficacyExport), criterionType);
}
else
@@ -729,7 +753,7 @@ namespace IRaCIS.Core.Application.Service.Common
///
- /// 评估病灶明细表 ( 目前 RECIST1.1 PGW3 表都是不同的)
+ /// 评估病灶明细表 (目前仅仅 RECIST1.1 RECIST1.1 PGW3 表都是不同的)
///
///
///
@@ -797,7 +821,7 @@ namespace IRaCIS.Core.Application.Service.Common
}).ToList();
exportInfo.List = exportList;
- return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialMedicalReviewList_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(RECIST1Point1DetailedOfEvaluatedLesionExport), criterionType);
+ return await ExcelExportHelper.DataExportAsync(StaticData.Export.RECIST1Point1DetailedOfEvaluatedLesion_Export, exportInfo, "", _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(RECIST1Point1DetailedOfEvaluatedLesionExport), criterionType);
}
diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs
index 325d8a1e4..59444cbb8 100644
--- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs
+++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs
@@ -630,6 +630,16 @@ namespace IRaCIS.Core.Application.Contracts
public string AgainUserName { get; set; }
+ ///
+ /// 组件一致性和原Arm1是否有差异
+ ///
+ public bool? IsGroupDiffArm1 { get; set; }
+
+ ///
+ /// 组件一致性和原Arm2是否有差异
+ ///
+ public bool? IsGroupDiffArm2 { get; set; }
+
public bool? IsGroupAnalysisDiffToOriginalData { get; set; }
}