From 4cfd5250dcf6cadb459c0d42ea963fe322dbf3da Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 21 Dec 2022 13:57:54 +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 --- .../ClinicalData/ReadingClinicalDataService.cs | 12 ++++++------ .../Reading/Dto/ReadingMedicalReviewDto.cs | 8 +++++++- .../ReadingMedicalReviewService.cs | 18 ++++++++++++++++-- .../ReadingGlobalTaskService.cs | 4 ++-- 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index 021fd97fd..072f703f3 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -406,7 +406,7 @@ namespace IRaCIS.Application.Services } var isBaseLine = await _subjectVisitRepository.AnyAsync(x => x.Id == inDto.ReadingId && x.IsBaseLine); - + var result = await this.GetReadingClinicalList(inDto); var readingIds = result.Select(x => x.ReadingId).ToList(); @@ -507,10 +507,10 @@ namespace IRaCIS.Application.Services var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).Select(x => x.CriterionType).FirstNotNullAsync(); - var resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId) - .Where(x => x.ReadingId == inDto.ReadingId) - .WhereIf(inDto.UploadRole == UploadRole.CRC, x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC) - .Include(x=>x.ClinicalDataTrialSet) + var resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId).Include(x => x.ClinicalDataTrialSet) + .Where(x => x.ReadingId == inDto.ReadingId || (x.SubjectId == inDto.SubjectId && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject)) + //.WhereIf(inDto.UploadRole == UploadRole.CRC, x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC) + .Where(x=>x.ClinicalDataTrialSet.CriterionEnumListStr.Contains(((int)criterionType).ToString())) .Select(x => new GetReadingClinicalDataListOutDto() { @@ -540,7 +540,7 @@ namespace IRaCIS.Application.Services }); var result = await resultQuery.ToListAsync(); - result = result.Where(x => !(x.UploadRole == UploadRole.CRC && x.ClinicalUploadType == ClinicalUploadType.PDF && x.FileList.Count() == 0)).ToList(); + //result = result.Where(x => !(x.UploadRole == UploadRole.CRC && x.ClinicalUploadType == ClinicalUploadType.PDF && x.FileList.Count() == 0)).ToList(); return result; } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs index 9634614ae..9e79e33f4 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs @@ -373,6 +373,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string TaskBlindName { get; set; } + public string ReadingUser { get; set; } + + public bool IsReadingTaskViewInOrder { get; set; } public Guid VisitTaskId { get; set; } @@ -571,7 +574,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// /// 是否有全局更新 /// - public bool IsGlobalChange { get; set; } + public bool IsGlobalChange { get; set; } = false; /// /// 盲态名称 @@ -580,6 +583,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Arm ArmEnum { get; set; } + + + /// /// 评估结果 /// diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs index bdd7bd992..b83000c77 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs @@ -80,7 +80,7 @@ namespace IRaCIS.Core.Application.Service MedicalReviewInfo reviewInfo= await _taskMedicalReviewRepository.Where(x => x.Id == inDto.TaskMedicalReviewId) .ProjectTo(_mapper.ConfigurationProvider).FirstNotNullAsync(); - var taskInfo = await _visitTaskRepository.Where(x => x.Id == reviewInfo.VisitTaskId).Include(x => x.Subject).FirstNotNullAsync(); + var taskInfo = await _visitTaskRepository.Where(x => x.Id == reviewInfo.VisitTaskId).Include(x=>x.DoctorUser).Include(x => x.Subject).FirstNotNullAsync(); inDto.TrialReadingCriterionId = taskInfo.TrialReadingCriterionId; var medicalReviewInfo = await _readingQuestionCriterionTrial.Where(x => x.Id == taskInfo.TrialReadingCriterionId).Select(x => new GetMedicalReviewReadingTaskOutDto() { @@ -97,6 +97,8 @@ namespace IRaCIS.Core.Application.Service medicalReviewInfo.ArmEnum = taskInfo.ArmEnum; medicalReviewInfo.SubjectCode = taskInfo.Subject.Code; medicalReviewInfo.TaskBlindName = taskInfo.TaskBlindName; + medicalReviewInfo.ReadingUser = taskInfo.DoctorUser.FirstName + taskInfo.DoctorUser.LastName; + medicalReviewInfo.IsClosedDialog = medicalReviewInfo.MedicalReviewInfo.IsClosedDialog; medicalReviewInfo.AuditState = medicalReviewInfo.MedicalReviewInfo.AuditState; medicalReviewInfo.IsSendMessage = medicalReviewInfo.MedicalReviewInfo.IsSendMessage; @@ -127,6 +129,7 @@ namespace IRaCIS.Core.Application.Service ReadingCategory = x.ReadingCategory, TaskBlindName = x.TaskBlindName, ArmEnum = x.ArmEnum, + TaskName = x.TaskName, SouceReadModuleId = x.SouceReadModuleId, SourceSubjectVisitId = x.SourceSubjectVisitId, @@ -328,14 +331,25 @@ namespace IRaCIS.Core.Application.Service visitTaskAnswer.AddRange(globalTaskAnswer); + + + + var globalChangeAnswer = await _readingGlobalTaskInfoRepository.Where(x => taskIds.Contains(x.GlobalTaskId) && x.GlobalAnswerType == GlobalAnswerType.Question).ToListAsync(); + + medicalReviewInfo.TaskList.ForEach(x => { + x.IsGlobalChange = globalChangeAnswer.Any(y => y.TaskId == x.TaskId); x.JudgeQuestionAnswerInfoList = visitTaskAnswer.Where(y => y.VisitTaskId == x.TaskId).OrderBy(y => y.ShowOrder).ToList(); }); } } - + medicalReviewInfo.TaskList.ForEach(x => + { + + x.IsCurrentTask = x.TaskId == taskInfo.Id; + }); #endregion return medicalReviewInfo; diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs index f8871131e..caef56f17 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs @@ -104,8 +104,8 @@ namespace IRaCIS.Application.Services .Where(x => x.DoctorUserId == taskInfo.DoctorUserId) .OrderBy(x => x.VisitTaskNum).Select(x => new GlobalVisitInfo() { - VisitName = x.SourceSubjectVisit.VisitName, - BlindName = x.SourceSubjectVisit.BlindName, + VisitName = x.TaskName, + BlindName = x.TaskBlindName, VisitTaskId = x.Id, ArmEnum = taskInfo.ArmEnum, VisitNum = x.SourceSubjectVisit.VisitNum,