diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index c0c69c17f..d96f721d8 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -5619,6 +5619,13 @@ IR影像阅片 + + + 获取全局阅片信息 + + + + 获取下一个阅片任务 diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 99f1b3dfe..4fcd3a90f 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -357,8 +357,7 @@ namespace IRaCIS.Core.Application.Service.Allocation var visitGroupQuery = _visitTaskRepository.Where(x => x.TrialId == trialId && x.DoctorUserId == _userInfo.Id) - .Where(x => !x.Subject.IsDeleted).Where(x => x.Subject.SubjectDoctorList.Where(y => y.TrialId == iRUnReadSubjectQuery.TrialId && y.DoctorUserId == _userInfo.Id).Count() > 0) - + .Where(x => !x.Subject.IsDeleted) .Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned && t.TaskState == TaskState.Effect) .GroupBy(x => new { x.SubjectId, x.Subject.Code, x.BlindSubjectCode }); diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs index 07df70a4c..b320be376 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/GetReadModuleDto.cs @@ -132,6 +132,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid SubjectId { get; set; } + public Guid TrialId { get; set; } + + } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index ebc0f9abb..e87fc3a3c 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -9,6 +9,43 @@ using System.Threading.Tasks; namespace IRaCIS.Core.Application.Service.Reading.Dto { + public class GetGlobalReadingInfoInDto + { + public Guid VisitTaskId { get; set; } + } + + public class GetGlobalReadingInfoOutDto + { + public Guid VisitTaskId { get; set; } + + public List TaskList { get; set; } + } + + public class GlobalVisitInfo + { + public string VisitName { get; set; } + + public Guid VisitId { get; set; } + + public Guid VisitTaskId { get; set; } + + public List BeforeQuestionList { get; set; } + + public List AfterQuestionList { get; set; } + } + + + public class GlobalQuestionInfo + { + public Guid? QuestionId { get; set; } + + public string QuestionName { get; set; } + + public string Answer { get; set; } + + public bool IsBeforeQuestion { get; set; } + } + public class GetReadingImgOutDto { public string Path { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs index 5a8b8c4e9..47b72f26e 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadModuleService.cs @@ -231,6 +231,7 @@ namespace IRaCIS.Application.Services var data = await GetReadModuleList(new GetReadModuleDto() { SubjectId = dto.SubjectId, + TrialId=dto.TrialId, }); GetReadModuleSingleOutdto? readModule = data.Item1.CurrentPageData.FirstOrDefault().Data.Where(x => x.Id == dto.Id).Select(x => new GetReadModuleSingleOutdto() diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs index bf7548adc..6c17d44b1 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs @@ -75,10 +75,25 @@ namespace IRaCIS.Application.Services this._readingQuestionTrialRepository = readingQuestionTrialRepository; } + /// + /// 获取全局阅片信息 + /// + /// + /// + [HttpPost] + public async Task GetGlobalReadingInfo(GetGlobalReadingInfoInDto inDto) + { + var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); + + //List < GlobalVisitInfo > + + return new GetGlobalReadingInfoOutDto(); + } + + /// /// 获取下一个阅片任务 /// - /// /// [HttpPost] @@ -486,7 +501,7 @@ namespace IRaCIS.Application.Services judgeInfo.VisitTaskInfoList.Add( new JudgeReadingInfoDto() { - JudgeQuestionAnswerInfoList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == item.Id).Select(x => new JudgeQuestionAnswerInfo { + JudgeQuestionAnswerInfoList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == item.Id&&x.ReadingQuestionTrial.IsJudgeQuestion).Select(x => new JudgeQuestionAnswerInfo { Answer = x.Answer, QuestionName = x.ReadingQuestionTrial.QuestionName, }).ToListAsync(), @@ -659,6 +674,7 @@ namespace IRaCIS.Application.Services { // ****** 先生成阅片期 阅片期任务阅片完成之后生成肿瘤学的 如果没有阅片期 直接生成肿瘤学 *********//// #region 建立关系 + // 访视阅完产生 全局 Dictionary typeChangeDic = new Dictionary(); typeChangeDic.Add(ModuleTypeEnum.InPlanSubjectVisit, ReadingCategory.Visit); typeChangeDic.Add(ModuleTypeEnum.OutPlanSubjectVisit, ReadingCategory.Visit); @@ -669,9 +685,7 @@ namespace IRaCIS.Application.Services #endregion var taskInfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).FirstNotNullAsync(); List needReadList = new List(); - if ((!await _visitTaskRepository.AnyAsync(x => x.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId&&x.SouceReadModuleId== taskInfo.SouceReadModuleId && x.ReadingTaskState != ReadingTaskState.HaveSigned)) - &&!taskInfo.IsAnalysisCreate - ) + if (!await _visitTaskRepository.Where(x => x.Id== visitTaskId).Select(x=>x.IsAnalysisCreate).FirstOrDefaultAsync()) { // 任务类型 switch (taskInfo.ReadingCategory) diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs index f64b57249..64e4ee219 100644 --- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs +++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs @@ -25,6 +25,11 @@ namespace IRaCIS.Core.Domain.Models //任务来源访视Id 方便回更访视读片状态 public Guid? SourceSubjectVisitId { get; set; } public Guid? SouceReadModuleId { get; set; } + + + /// + /// 任务类型 + /// public ReadingCategory ReadingCategory { get; set; }