diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 1aaccc532..95bd9c975 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -31,13 +31,15 @@ namespace IRaCIS.Core.Application.Service private readonly IRepository _readModuleRepository; private readonly IRepository _visitTaskReReadingRepository; - + private readonly IRepository _taskMedicalReviewRepository; private readonly IRepository _readingTaskQuestionAnswerRepository; public VisitTaskService(IRepository subjectVisitRepository, IRepository visitTaskRepository, IRepository trialRepository, IRepository subjectRepository, IRepository subjectUserRepository, IRepository taskAllocationRuleRepository, - IRepository readModuleRepository, IRepository visitTaskReReadingRepository, IRepository readingTaskQuestionAnswerRepository + IRepository readModuleRepository, IRepository visitTaskReReadingRepository, + IRepository taskMedicalReviewRepository, + IRepository readingTaskQuestionAnswerRepository ) { _taskAllocationRuleRepository = taskAllocationRuleRepository; @@ -48,6 +50,7 @@ namespace IRaCIS.Core.Application.Service _subjectUserRepository = subjectUserRepository; _readModuleRepository = readModuleRepository; _visitTaskReReadingRepository = visitTaskReReadingRepository; + this._taskMedicalReviewRepository = taskMedicalReviewRepository; _readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository; } @@ -1000,6 +1003,13 @@ namespace IRaCIS.Core.Application.Service //产生新的任务 + #region 重阅修改医学审核状态 + await _taskMedicalReviewRepository.BatchUpdateNoTrackingAsync(x => x.IsClosedDialog&&applyReReadingCommand.TaskIdList.Contains(x.VisitTaskId), x => new TaskMedicalReview() + { + IsClosedDialog = true + }); + #endregion + await _visitTaskRepository.SaveChangesAsync(); return ResponseOutput.Ok(); diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs index 2ae2aac78..6e6f39f1d 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs @@ -86,6 +86,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public bool IsClosedDialog { get; set; } + + public Guid VisitTaskId { get; set; } + } public class FinishMedicalReviewInDto diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs index c8036e299..ad0a31800 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs @@ -424,6 +424,7 @@ namespace IRaCIS.Core.Application.Service .Select(x => new GetIRMedicalFeedbackListOutDto { Id = x.Id, + VisitTaskId=x.VisitTaskId, IsUrgent = x.VisitTask.IsUrgent, AuditState = x.AuditState, SubjectCode = x.VisitTask.BlindSubjectCode == string.Empty ? x.VisitTask.Subject.Code : x.VisitTask.BlindSubjectCode,