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))