diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs index 120231e68..f9f749eeb 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs @@ -169,6 +169,8 @@ namespace IRaCIS.Core.Application.ViewModel public int UnReadTaskCount { get; set; } + public bool ExixtsReadingApply { get; set; } + public DateTime? SuggesteFinishedTime => UnReadTaskList.Max(t => t.SuggesteFinishedTime); public List UnReadTaskList { get; set; } = new List(); diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 7bc287b1a..70ecc1b30 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -909,16 +909,17 @@ namespace IRaCIS.Core.Application.Service.Allocation var visitGroupQuery = _visitTaskRepository.Where(x => x.TrialId == trialId && x.DoctorUserId == _userInfo.Id) .Where(x => !x.Subject.IsDeleted) - .Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect) + .Where(t => (t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect)||t.ReReadingApplyState==ReReadingApplyState.HaveApplyed) .GroupBy(x => new { x.SubjectId, x.Subject.Code, x.BlindSubjectCode }); var visitTaskQuery = visitGroupQuery.Select(x => new IRUnReadSubjectView() { SubjectId = x.Key.SubjectId, SubjectCode = x.Key.BlindSubjectCode == string.Empty ? x.Key.Code : x.Key.BlindSubjectCode, - UnReadTaskCount = x.Count(), - UnReadTaskList = x.Select(u => new IRUnreadTaskView() { Id = u.Id, IsUrgent = u.IsUrgent, SuggesteFinishedTime = u.SuggesteFinishedTime }).ToList(), - }); + UnReadTaskCount = x.Where(y=>y.ReReadingApplyState!= ReReadingApplyState.HaveApplyed).Count(), + ExixtsReadingApply=x.Any(y=>y.ReReadingApplyState== ReReadingApplyState.HaveApplyed), + UnReadTaskList = x.Where(y => y.ReReadingApplyState != ReReadingApplyState.HaveApplyed).Select(u => new IRUnreadTaskView() { Id = u.Id, IsUrgent = u.IsUrgent, SuggesteFinishedTime = u.SuggesteFinishedTime }).ToList(), + }).Where(x=>x.UnReadTaskCount>0); var totalCount = visitGroupQuery.Count(); var currentPageData = await visitTaskQuery.OrderBy(x => x.SubjectId).Skip((iRUnReadSubjectQuery.PageIndex - 1) * iRUnReadSubjectQuery.PageSize) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs index 79816c5e5..0264452e0 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs @@ -199,7 +199,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid TrialId { get; set; } - public bool? IsCopyOrigenalForms { get; set; } = false; + public string RequestReReadingReason { get; set; } = string.Empty; @@ -219,6 +219,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string DisagreeReason { get; set; } = string.Empty; + public bool IsCopyOrigenalForms { get; set; } + public bool IsCopyFollowForms { get; set; } + /// /// 是否申请重阅 /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs index 76818f88e..efb36d17f 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs @@ -389,7 +389,8 @@ namespace IRaCIS.Core.Application.Service { await _visitTaskService.ApplyReReading(new ApplyReReadingCommand() { - IsCopyOrigenalForms = inDto.IsCopyOrigenalForms.Value, + IsCopyOrigenalForms = inDto.IsCopyOrigenalForms, + IsCopyFollowForms=inDto.IsCopyFollowForms, RequestReReadingReason = inDto.RequestReReadingReason, RequestReReadingType = RequestReReadingType.DocotorApply, TrialId = inDto.TrialId, @@ -534,6 +535,7 @@ namespace IRaCIS.Core.Application.Service { var taskMedicalReviewquery = _taskMedicalReviewRepository.Where(x => x.TrialId == inDto.TrialId).Include(x => x.VisitTask) .Where(x => x.VisitTask.DoctorUserId == _userInfo.Id) + .Where(x=>!x.IsHaveQuestion) .Select(x => new GetIRMedicalFeedbackListOutDto { Id = x.Id,