diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs index 177b9ad38..d156eedd9 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs @@ -952,7 +952,7 @@ namespace IRaCIS.Core.Application.Contracts } - public class SubjectVisitMarkQuery + public class SubjectVisitMarkQuery:PageInput { public Guid TrialId { get; set; } @@ -976,7 +976,7 @@ namespace IRaCIS.Core.Application.Contracts public bool IsUrgent { get; set; } - public bool SubjectCode { get; set; } + public string SubjectCode { get; set; } public int? VisitCount { get; set; } @@ -987,6 +987,10 @@ namespace IRaCIS.Core.Application.Contracts public int? DicomStudyCount { get; set; } public int? MarkDicomStudyCount { get; set; } + + public int? NoneDicomStudyCount { get; set; } + + public int? MarkNoneDicomStudyCount { get; set; } } public class SubjectVisitMarkStudyDto diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs index 442b0ecb6..e96136e4d 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs @@ -2193,22 +2193,26 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc /// /// [HttpPost] - public async Task>> GetTrialSubjectVisitMarkList(SubjectVisitMarkQuery inQuery) + public async Task>> GetTrialSubjectVisitMarkList(SubjectVisitMarkQuery inQuery) { - var list = _subjectRepository.Where(t => t.TrialId == inQuery.TrialId) + var list = await _subjectRepository.Where(t => t.TrialId == inQuery.TrialId) .WhereIf(inQuery.SubjectCode.IsNotNullOrEmpty(), t => t.Code.Contains(inQuery.SubjectCode)) .WhereIf(inQuery.IsUrgent != null, t => t.IsUrgent == inQuery.IsUrgent) .Select(t => new SubjectVisitMarkDTO() { TrialId = t.TrialId, SubjectId = t.Id, + SubjectCode=t.Code, IsUrgent = t.IsUrgent, VisitCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).Count(), MarkVisitCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).Count(t => t.TaskStudyList.Any()), DicomStudyCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).SelectMany(t => t.StudyList).Count(), MarkDicomStudyCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).SelectMany(t => t.TaskStudyList).Count(), - }).ToList(); + + NoneDicomStudyCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).SelectMany(t => t.NoneDicomStudyList).Count(), + MarkNoneDicomStudyCount = t.SubjectVisitList.Where(t => t.SubmitState == SubmitStateEnum.Submitted).SelectMany(t => t.NoneDicomStudyList).Where(t=>t.ImageLabelNoneDicomFileList.Any()).Count(), + }).ToPagedListAsync(inQuery); return ResponseOutput.Ok(list); }