From a2cfec65536b645db1a53588dbd0f3b3ca211cb5 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 4 Dec 2024 11:37:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E8=A1=A8=E6=8E=92?= =?UTF-8?q?=E5=BA=8F+=20=E5=8F=97=E8=AF=95=E8=80=85=E6=97=A0=E9=98=85?= =?UTF-8?q?=E7=89=87=E6=9C=9F=20=E5=AD=97=E6=AE=B5=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRaCIS.Core.Application.xml | 5 --- .../Service/Common/ExcelExportService.cs | 37 ++++++++++++++----- .../Service/QC/DTO/QCListViewModel.cs | 2 + .../Service/QC/_MapConfig.cs | 3 ++ 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 73a505d69..5f91adc12 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -7095,11 +7095,6 @@ 是否查询所有的一致性分析临床数据 (为否只查询PDF) - - - 是否是阅片页面获取临床数据 (阅片其他访视任务需要获取受试者级别的) - - 获取访视列表 diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index a8ca5b3b2..1d2705c0f 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -1504,17 +1504,26 @@ namespace IRaCIS.Core.Application.Service.Common } else { - //两个人都做了 - if (resultExceptJudgeList.Count(t => t.VisitTaskNum == item.VisitTaskNum && t.SubjectCode == item.SubjectCode) == 2) + //产生了阅片期 + if (resultExceptJudgeList.Any(t => t.IsSubjectHaveReadingPeriod)) { - //如果没有产生裁判,默认选择R1 - if (item.ArmEnum == Arm.DoubleReadingArm1) + //两个人都做了 + if (resultExceptJudgeList.Count(t => t.VisitTaskNum == item.VisitTaskNum && t.SubjectCode == item.SubjectCode) == 2) { - item.IsJudgeSelect = true; + //如果没有产生裁判,默认选择R1 + if (item.ArmEnum == Arm.DoubleReadingArm1) + { + item.IsJudgeSelect = true; + } + else + { + item.IsJudgeSelect = false; + } } else { - item.IsJudgeSelect = false; + item.IsJudgeSelect = null; + item.IsTrigerJudge = null; } } else @@ -1523,11 +1532,12 @@ namespace IRaCIS.Core.Application.Service.Common item.IsTrigerJudge = null; } + } } } - if (arbitrationRule == ArbitrationRule.Reading) + else if (arbitrationRule == ArbitrationRule.Reading) { //处理访视裁判标记 foreach (var visitItem in resultExceptJudgeList.Where(t => t.ReadingCategory == ReadingCategory.Visit)) @@ -1633,6 +1643,15 @@ namespace IRaCIS.Core.Application.Service.Common } } } + else + { + foreach (var visitItem in resultExceptJudgeList.Where(t => t.ReadingCategory == ReadingCategory.Visit)) + { + visitItem.IsJudgeSelect = null; + visitItem.IsTrigerJudge = null; + } + + } return resultExceptJudgeList; } @@ -2094,11 +2113,11 @@ namespace IRaCIS.Core.Application.Service.Common list = new List(); - foreach (var item in taskList) + foreach (var item in taskList.OrderBy(t => t.SubjectCode).ThenBy(t => t.ArmEnum).ThenBy(t => t.VisitTaskNum)) { if (item.LesionList.Count > 0) { - foreach (var lession in item.LesionList) + foreach (var lession in item.LesionList.OrderBy(t => t.LessionType).ThenBy(t => t.LessionCode)) { var firstLessionAnser = lession.LessionAnswerList.FirstOrDefault() ?? new CommonLessionQuestionAnswerInfo(); diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index f7cce53d0..1818fdcde 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs @@ -1159,6 +1159,8 @@ namespace IRaCIS.Core.Application.Contracts { public List QuestionAnswerList { get; set; } + public bool IsSubjectHaveReadingPeriod { get; set; } + public String TrialSiteCode { get; set; } = String.Empty; public string SubjectCode { get; set; } = String.Empty; diff --git a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs index c8f0760cd..728795f1e 100644 --- a/IRaCIS.Core.Application/Service/QC/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/QC/_MapConfig.cs @@ -257,6 +257,9 @@ namespace IRaCIS.Core.Application.Service false))) .ForMember(o => o.JudgeNote, t => t.MapFrom(u => u.ReadingCategory==ReadingCategory.Judge? u.JudgeResultRemark : u.JudgeVisitTask.JudgeResultRemark)) .ForMember(o => o.VisitNote, t => t.MapFrom(u => u.ReadingTaskQuestionAnswerList.Where(c => c.ReadingQuestionTrial.QuestionType == QuestionType.AdjustReason).FirstOrDefault()!.Answer)) + .ForMember(o => o.IsSubjectHaveReadingPeriod, t => t.MapFrom(u => arbitrationRule == ArbitrationRule.Reading ? + u.Subject.ReadModuleList.Any(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.ReadingSetType == ReadingSetType.ImageReading) : false)) + .ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.Subject.TrialSite.TrialSiteCode)) .ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Subject.Code)) .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName))