diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 11e8c3107..e5d95931d 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1487,6 +1487,31 @@ 是否申请重阅 + + + 项目Id + + + + + 审核 质询状态 + + + + + 阅片类别 + + + + + 审核建议 + + + + + 阅片人是否认同 + + 对话内容 @@ -2471,6 +2496,13 @@ + + + 获取IR医学审核信息 + + + + 医学审核问题 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs index 68601d9d4..3818710f8 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs @@ -32,6 +32,51 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public bool IsApplyHeavyReading { get; set; } = false; } + public class GetIRMedicalFeedbackListInDto:PageInput + { + /// + /// 项目Id + /// + [NotDefault] + public Guid TrialId { get; set; } + } + + public class GetIRMedicalFeedbackListOutDto + { + public Guid Id { get; set; } + + public bool IsUrgent { get; set; } + + /// + /// 审核 质询状态 + /// + public MedicalReviewAuditState AuditState { get; set; } + + public string SubjectCode { get; set; } + + public string TaskBlindName { get; set; } + + /// + /// 阅片类别 + /// + public ReadingCategory ReadingCategory { get; set; } + + public DateTime? FirstReplyTime { get; set; } + + public DateTime? LastReplyTime { get; set; } + + /// + /// 审核建议 + /// + public AuditAdvice AuditAdviceEnum { get; set; } + + /// + /// 阅片人是否认同 + /// + public MedicalReviewDoctorUserIdea DoctorUserIdeaEnum { get; set; } + + } + public class FinishMedicalReviewInDto { public Guid TaskMedicalReviewId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs index 4ef0389f9..9e01c84a6 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs @@ -149,8 +149,6 @@ namespace IRaCIS.Core.Application.Service medicalReviewInfo.TaskList.ForEach(x => { - - x.OtherTaskId = otherTask.Where(y => y.SouceReadModuleId == x.SouceReadModuleId && y.SourceSubjectVisitId == x.SourceSubjectVisitId).Select(y => y.TaskId).FirstOrDefault(); }); } @@ -413,5 +411,36 @@ namespace IRaCIS.Core.Application.Service } + /// + /// 获取IR医学审核信息 + /// + /// + /// + [HttpPost] + public async Task> GetIRMedicalFeedbackList(GetIRMedicalFeedbackListInDto inDto) + { + var taskMedicalReviewquery = _taskMedicalReviewRepository.Where(x => x.TrialId == inDto.TrialId).Include(x => x.VisitTask) + .Where(x => x.VisitTask.DoctorUserId == _userInfo.Id) + .Select(x => new GetIRMedicalFeedbackListOutDto + { + Id = x.Id, + IsUrgent = x.VisitTask.IsUrgent, + AuditState = x.AuditState, + SubjectCode = x.VisitTask.BlindSubjectCode == string.Empty ? x.VisitTask.Subject.Code : x.VisitTask.BlindSubjectCode, + TaskBlindName = x.VisitTask.TaskBlindName, + ReadingCategory = x.VisitTask.ReadingCategory, + FirstReplyTime = x.ReadingMedicalReviewDialogList.Min(x => x.CreateTime), + LastReplyTime = x.ReadingMedicalReviewDialogList.Max(x => x.CreateTime), + AuditAdviceEnum = x.AuditAdviceEnum, + DoctorUserIdeaEnum = x.DoctorUserIdeaEnum + }); + + var result=await taskMedicalReviewquery.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, inDto.SortField.IsNullOrEmpty() ? nameof(GetIRMedicalFeedbackListOutDto.AuditState) : inDto.SortField, + inDto.Asc); + + return result; + } + + } } diff --git a/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs b/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs index 57684260a..e257d2440 100644 --- a/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs +++ b/IRaCIS.Core.Domain/Allocation/TaskMedicalReview.cs @@ -7,6 +7,8 @@ using System; using IRaCIS.Core.Domain.Share; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using System.Collections.Generic; + namespace IRaCIS.Core.Domain.Models { /// @@ -140,6 +142,11 @@ namespace IRaCIS.Core.Domain.Models public string FileName { get; set; } = string.Empty; + public List ReadingMedicalReviewDialogList { get; set; } + + + + } } diff --git a/IRaCIS.Core.Domain/Reading/ReadingMedicalReviewDialog.cs b/IRaCIS.Core.Domain/Reading/ReadingMedicalReviewDialog.cs index 50eca53a1..803cd52fa 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingMedicalReviewDialog.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingMedicalReviewDialog.cs @@ -95,6 +95,10 @@ namespace IRaCIS.Core.Domain.Models /// public string FileName { get; set; } = string.Empty; + [ForeignKey("TaskMedicalReviewId")] + public TaskMedicalReview TaskMedicalReview { get; set; } + + }