From 2fcb2493d120bed09d541f0a5e4dae959caa5e64 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 11 Jul 2023 10:10:07 +0800 Subject: [PATCH] S-39 --- .../ReadingClinicalDataService.cs | 59 ++++++++++++------- .../Reading/Dto/ReadingClinicalDataDto.cs | 9 ++- .../ReadingImageTaskService.cs | 1 + IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs | 22 +++++++ 4 files changed, 68 insertions(+), 23 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index b0d80ad4d..900d57eff 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -730,8 +730,8 @@ namespace IRaCIS.Application.Services ClinicalFormId = x.ClinicalFormId }).ToList(); - - x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked; + x.IsSign = readModule.IsPMConfirm ? true : false; + x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked; }); @@ -740,30 +740,47 @@ namespace IRaCIS.Application.Services - // 根据标准 - if (inDto.VisitTaskId != null) + // 根据标准 + if (inDto.VisitTaskId != null) { var visitTaskInfo = await _visitTaskRepository.FirstOrDefaultAsync(x => x.Id == inDto.VisitTaskId); - - result = result.Where(x => x.TrialClinicalDataSetCriteriaList.Any(z=>z.TrialReadingCriterionId==visitTaskInfo.TrialReadingCriterionId)).ToList(); + + result = result.Where(x => x.TrialClinicalDataSetCriteriaList.Any(z => z.TrialReadingCriterionId == visitTaskInfo.TrialReadingCriterionId)).ToList(); } - result = result.Where(x => !(x.ClinicalUploadType == ClinicalUploadType.PDF && x.FileList.Count() == 0)).ToList(); - // 需要排除表格为空的数据 - - - var readingIds = result.Select(x => x.ReadingId).ToList(); - - var tablecount = (await _previousHistoryRepository.Where(x => readingIds.Contains(x.SubjectVisitId)).CountAsync()) + - (await _previousOtherRepository.Where(x => readingIds.Contains(x.SubjectVisitId)).CountAsync()) + - (await _previousSurgeryRepository.Where(x => readingIds.Contains(x.SubjectVisitId)).CountAsync()); - - if (tablecount == 0) + if (inDto.GetClinicalType != null) { - result = result.Where(x => x.ClinicalUploadType != ClinicalUploadType.Table).ToList(); + switch (inDto.GetClinicalType) + { + case GetClinicalType.PMUpload: + result = result.Where(x => x.UploadRole == UploadRole.PM).ToList(); + break; + case GetClinicalType.CRCConfirm: + result = result.Where(x => x.UploadRole == UploadRole.CRC).ToList(); + break; + case GetClinicalType.HasSign: + result = result.Where(x => x.IsSign).ToList(); + break; + } } + + //result = result.Where(x => !(x.ClinicalUploadType == ClinicalUploadType.PDF && x.FileList.Count() == 0)).ToList(); + //// 需要排除表格为空的数据 + + + //var readingIds = result.Select(x => x.ReadingId).ToList(); + + //var tablecount = (await _previousHistoryRepository.Where(x => readingIds.Contains(x.SubjectVisitId)).CountAsync()) + + // (await _previousOtherRepository.Where(x => readingIds.Contains(x.SubjectVisitId)).CountAsync()) + + // (await _previousSurgeryRepository.Where(x => readingIds.Contains(x.SubjectVisitId)).CountAsync()); + + //if (tablecount == 0) + //{ + // result = result.Where(x => x.ClinicalUploadType != ClinicalUploadType.Table).ToList(); + //} + return result; } @@ -878,13 +895,13 @@ namespace IRaCIS.Application.Services { switch (inDto.GetClinicalType) { - case 1: + case GetClinicalType.PMUpload: result = result.Where(x => x.UploadRole == UploadRole.PM).ToList(); break; - case 2: + case GetClinicalType.CRCConfirm: result = result.Where(x => x.UploadRole == UploadRole.CRC).ToList(); break; - case 3: + case GetClinicalType.HasSign: result = result.Where(x => x.IsSign).ToList(); break; } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs index 557a9af8c..6825d0851 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs @@ -186,7 +186,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid? VisitTaskId { get; set; } - public Guid? ReadingClinicalDataId { get; set; } + /// + /// 1 PM上传的所有的 2CRC上传的所有已确认的 3 所有已经签名的 + /// + public GetClinicalType? GetClinicalType { get; set; } + + public Guid? ReadingClinicalDataId { get; set; } /// /// 只获取CRC上传的阅片模块结构化录入 @@ -212,7 +217,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// /// 1 PM上传的所有的 2CRC上传的所有已确认的 3 所有已经签名的 /// - public int? GetClinicalType { get; set; } + public GetClinicalType? GetClinicalType { get; set; } [NotDefault] public Guid TrialReadingCriterionId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 3eaac36bf..04ad7c842 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -2165,6 +2165,7 @@ namespace IRaCIS.Application.Services SubjectId = taskInfo.SubjectId, TrialId = taskInfo.TrialId, VisitTaskId = taskInfo.Id, + }); var isBaseLine = false; diff --git a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs index 243e765b6..573971d63 100644 --- a/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs +++ b/IRaCIS.Core.Domain.Share/Reading/ReadEnum.cs @@ -16,6 +16,28 @@ namespace IRaCIS.Core.Domain.Share public static readonly string Group = "group"; } + /// + /// GetClinicalType + /// + public enum GetClinicalType + { + + /// + /// PM上传 + /// + PMUpload = 1, + + /// + /// CRC 上传 过确认 + /// + CRCConfirm = 2, + + /// + /// 已审核 + /// + HasSign = 3 + } + /// /// 临床表格问题标识 ///