diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index df34261c8..1ff95b7e4 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1786,6 +1786,13 @@ + + + 获取是否可选择不能融合影像 + + + + 测试计算 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs index 1fb100478..49136f718 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs @@ -22,6 +22,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public bool IsSuvMaxLesion { get; set; } } + public class GetCanChooseNotMergeInDto + { + public Guid VisitTaskId { get; set; } + } + + public class GetCanChooseNotMergeOutDto + { + public bool IsCanChooseNotMerge { get; set; } + } + public class GetPPDInfoInDto { public Guid VisitTaskId { get; set; } diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index 3e0e53792..0098081c8 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -410,7 +410,6 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate ReadingCalculateDto readingData = await _generalCalculateService.GetReadingCalculateDto(inDto.VisitTaskId); var maxSuv = await GetSuvMax(readingData); - var rowInfo = readingData.QuestionInfo.SelectMany(x => x.TableRowInfoList).ToList(); var tableQuestions = rowInfo.SelectMany(x => x.TableQuestionList).Where(x=>x.RowId==inDto.RowId).ToList(); @@ -425,6 +424,36 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } + /// + /// 获取是否可选择不能融合影像 + /// + /// + /// + [HttpPost] + public async Task GetCanChooseNotMerge(GetCanChooseNotMergeInDto inDto) + { + ReadingCalculateDto readingData = await _generalCalculateService.GetReadingCalculateDto(inDto.VisitTaskId); + + List questionTypes = new List() { + QuestionType.LiverSUVmax, + QuestionType.MediastinumSUVmax, + QuestionType.SUVmax, + QuestionType.SUVmaxLesion, + }; + + var pet5ps = readingData.QuestionInfo.Where(x => x.QuestionType == QuestionType.PET5PS).Select(x => x.Answer).FirstOrDefault(); + + + GetCanChooseNotMergeOutDto getCanChooseNotMergeOutDto = new GetCanChooseNotMergeOutDto() + { + IsCanChooseNotMerge = !readingData.QuestionInfo.Any(x => questionTypes.Contains(x.QuestionType) && x.Answer != string.Empty) + && (pet5ps==string.Empty||pet5ps==PET5PSScore.NE.GetEnumInt()) + + + }; + return getCanChooseNotMergeOutDto; + } + /// /// 测试计算 ///