From 0579c4aeda5108236e0136a7c6c1adfa5e386c83 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 9 Jun 2026 15:45:52 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/Dto/ReadingImageTaskViewModel.cs | 3 +++ .../General/ReadingCalculateService.cs | 18 ++++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index cb1f35c6b..408234a2d 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -192,6 +192,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public class GetReadingReportEvaluationOutDto { + public Guid? VisitTaskId { get; set; } public object ReportCalculateResult { get; set; } @@ -566,6 +567,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string Value { get; set; } public string DictionaryCode { get; set; } + + public bool IsHighlight { get; set; } = false; } public class ChartItem diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs index e99eba672..428ea3d82 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs @@ -30,6 +30,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate IRepository _readingQuestionTrialRepository, IRepository _organInfoRepository, IRepository _readingGlobalTaskInfoRepository, + IRepository _readingJudgeInfoRepository, IRepository _subjectVisitRepository, IRepository _tumorAssessmentRepository, IGeneralCalculateService _generalCalculateService, @@ -508,12 +509,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate TrialId = task.TrialId, VisitTaskId = task.Id, }); + + data.VisitTaskId= task.Id; } return data; } - EvaluationColumn BuildEvaluationTable(GetReadingReportEvaluationOutDto r1, GetReadingReportEvaluationOutDto r2) + async Task BuildEvaluationTable(GetReadingReportEvaluationOutDto r1, GetReadingReportEvaluationOutDto r2) { EvaluationColumn result = new EvaluationColumn() { @@ -537,6 +540,17 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate break; } + if (r1.VisitTaskId != null && r2.VisitTaskList != null) + { + var judgeInfo = _visitTaskRepository.Where(x => x.SubjectId == inDto.SubjectId && x.TrialReadingCriterionId == inDto.TrialCriterionId + && x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned + && x.ReadingCategory== ReadingCategory.Judge + + ).OrderByDescending(x => x.VisitTaskNum).Include(x=>x.JudgeResultTask).FirstOrDefaultAsync(); + + + + } result.Evaluation.Add(visitTaskName.Select(x => new EvaluationValue() @@ -679,7 +693,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } - result.Evaluation = BuildEvaluationTable(r1Data, r2Data); + result.Evaluation =await BuildEvaluationTable(r1Data, r2Data); if (r1Data != null) { var r1Target = await BuildTargetChart(r1Data, Arm.DoubleReadingArm1); From b64eed88cfa50eb2fadc9ea52355b4ba03ebf0af Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 9 Jun 2026 16:07:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=AB=98=E4=BA=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRaCIS.Core.Application.xml | 6 +-- .../General/ReadingCalculateService.cs | 43 ++++++++++++++++++- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index df6badcbf..f7b3bc8aa 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -17510,17 +17510,17 @@ - 质疑 + ���� - 一致性核查 + һ���Ժ˲� - 复制 + ���� diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs index 428ea3d82..cc20f70a7 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs @@ -540,16 +540,53 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate break; } + Arm? highlightArm = null; + ArbitrationRule? highlightRule = null; + decimal? highlightVisitTaskNum = null; + if (r1.VisitTaskId != null && r2.VisitTaskList != null) { - var judgeInfo = _visitTaskRepository.Where(x => x.SubjectId == inDto.SubjectId && x.TrialReadingCriterionId == inDto.TrialCriterionId + var judgeInfo =await _visitTaskRepository.Where(x => x.SubjectId == inDto.SubjectId && x.TrialReadingCriterionId == inDto.TrialCriterionId && x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReadingCategory== ReadingCategory.Judge ).OrderByDescending(x => x.VisitTaskNum).Include(x=>x.JudgeResultTask).FirstOrDefaultAsync(); - + if (judgeInfo != null && judgeInfo.JudgeResultTask != null) + { + if (judgeInfo.JudgeResultTask.ArmEnum == Arm.DoubleReadingArm1 + || judgeInfo.JudgeResultTask.ArmEnum == Arm.DoubleReadingArm2) + { + highlightArm = judgeInfo.JudgeResultTask.ArmEnum; + highlightRule = criterion.ArbitrationRule; + highlightVisitTaskNum = judgeInfo.VisitTaskNum; + } + } + } + + void SetHighlight(List data, Arm arm) + { + if (highlightArm != arm || highlightVisitTaskNum == null) + { + return; + } + + if (highlightRule == ArbitrationRule.Reading) + { + for (var index = 0; index < data.Count && index < highlightVisitTaskNum.Value; index++) + { + data[index].IsHighlight = true; + } + } + else if (highlightRule == ArbitrationRule.Visit) + { + var index = decimal.ToInt32(decimal.Floor(highlightVisitTaskNum.Value)); + if (index >= 0 && index < data.Count) + { + data[index].IsHighlight = true; + } + } } @@ -584,6 +621,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate r1data = r1data.Concat(Enumerable.Repeat(new EvaluationValue() { Value = "" }, length)) .Take(length) .ToList(); + SetHighlight(r1data, Arm.DoubleReadingArm1); result.Evaluation.Add(r1data); @@ -615,6 +653,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate r2data = r2data.Concat(Enumerable.Repeat(new EvaluationValue() { Value = "" }, length)) .Take(length) .ToList(); + SetHighlight(r2data, Arm.DoubleReadingArm2); result.Evaluation.Add(r2data); } From 98103451e93aeecdc31c64a57272e515063b8be4 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 9 Jun 2026 16:18:33 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20SopInstanceUid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/Dto/ReadingImageTaskViewModel.cs | 1 + .../Service/Reading/ReadingImageTask/ReadingImageTaskService.cs | 2 ++ 2 files changed, 3 insertions(+) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 408234a2d..6dfb141b8 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -473,6 +473,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid? StudyId { get; set; } public string StudyInstanceUid { get; set; } + public string SopInstanceUid { get; set; } } public class GetCustomTagInDto diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 20e5b109f..e53f97492 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -457,6 +457,7 @@ namespace IRaCIS.Core.Application.Service InstanceId = x.InstanceId, SeriesId = x.SeriesId, StudyId = x.StudyId, + SopInstanceUid = x.Instance.SopInstanceUid, StudyInstanceUid = x.Instance.StudyInstanceUid, }).ToListAsync(); @@ -471,6 +472,7 @@ namespace IRaCIS.Core.Application.Service InstanceId = x.InstanceId, SeriesId = x.SeriesId, StudyId = x.StudyId, + SopInstanceUid = x.Instance.SopInstanceUid, StudyInstanceUid = x.Instance.StudyInstanceUid, }).ToListAsync();