From eb9db7d773c129597be47e45dc13ce31f2eca1fb Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Thu, 24 Nov 2022 17:36:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/Dto/ReadingImageTaskViewModel.cs | 4 ++++ .../ReadingImageTaskService.cs | 19 +++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index a7307b0fc..5b67008c3 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -896,6 +896,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public bool IsExistsClinicalData { get; set; } + public bool IsNeedReadClinicalData { get; set; } + + public bool IsReadClinicalData { get; set; } + /// /// 修约小数点 /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 0f335c5b3..0000f8de5 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1306,17 +1306,32 @@ namespace IRaCIS.Application.Services task.IsReadingShowPreviousResults = criterionInfo.IsReadingShowPreviousResults; task.IsReadingShowSubjectInfo = criterionInfo.IsReadingShowSubjectInfo; + var isBaseLine = false; if (visitTaskInfo.SourceSubjectVisitId != null) { task.IsExistsNoDicomFile = await _noneDicomStudyRepository.AnyAsync(x => x.SubjectVisitId == visitTaskInfo.SourceSubjectVisitId && x.FileCount > 0); + isBaseLine = await _subjectVisitRepository.Where(x => x.Id == visitTaskInfo.SourceSubjectVisitId).Select(x => x.IsBaseLine).FirstOrDefaultAsync(); } - task.IsExistsClinicalData = (await _readingClinicalDataService.GetClinicalDataList(new GetReadingOrTaskClinicalDataListInDto() + + var clinicalDataList = await _readingClinicalDataService.GetClinicalDataList(new GetReadingOrTaskClinicalDataListInDto() { SubjectId = task.SubjectId, TrialId = inDto.TrialId, VisitTaskId = task.VisitTaskId, - })).Count() > 0; + }); + + task.IsExistsClinicalData = clinicalDataList.Count() > 0; + task.IsReadClinicalData = visitTaskInfo.IsReadClinicalData; + + if (isBaseLine) + { + task.IsNeedReadClinicalData = clinicalDataList.Count() > 0; + } + else + { + task.IsNeedReadClinicalData = clinicalDataList.Where(x => x.ClinicalDataLevel != ClinicalLevel.Subject).Count() > 0; + } task.DigitPlaces = criterionInfo.DigitPlaces; task.CriterionType = criterionInfo.CriterionType;