diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index 23c189962..20a631295 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -27,6 +27,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate private readonly IRepository _readingQuestionTrialRepository; private readonly IRepository _organInfoRepository; private readonly IRepository _subjectVisitRepository; + private readonly IRepository _dicomStudyRepository; private readonly IRepository _tumorAssessmentRepository; private readonly ISubjectVisitService _subjectVisitService; private readonly IGeneralCalculateService _generalCalculateService; @@ -42,6 +43,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate IRepository readingQuestionTrialRepository, IRepository organInfoRepository, IRepository subjectVisitRepository, + IRepository dicomStudyRepository, IRepository tumorAssessmentRepository, ISubjectVisitService subjectVisitService, IGeneralCalculateService generalCalculateService, @@ -57,6 +59,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate this._readingQuestionTrialRepository = readingQuestionTrialRepository; this._organInfoRepository = organInfoRepository; this._subjectVisitRepository = subjectVisitRepository; + this._dicomStudyRepository = dicomStudyRepository; this._tumorAssessmentRepository = tumorAssessmentRepository; this._subjectVisitService = subjectVisitService; this._generalCalculateService = generalCalculateService; @@ -2066,7 +2069,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate return FDGPETOverallAssessment.NA.GetEnumInt(); } - var existPET =await GetExistPET(inDto); + var existPET = inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.Yes.GetEnumInt()); + + + if (existPET.EqEnum(ReadingYesOrNo.No)) { return FDGPETOverallAssessment.NE.GetEnumInt(); @@ -2256,14 +2262,16 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate /// public async Task GetExistPET(ReadingCalculateDto inDto) { - var studyList = await this._subjectVisitService.GetReadingVisitStudyList(new Contracts.GetReadingVisitStudyListIndto() - { - TrialId = inDto.TrialId, - SujectVisitId = inDto.SubjectVisitId, - VisitTaskId=inDto.VisitTaskId, - }); + //var studyList = await this._subjectVisitService.GetReadingVisitStudyList(new Contracts.GetReadingVisitStudyListIndto() + //{ + // TrialId = inDto.TrialId, + // SujectVisitId = inDto.SubjectVisitId, + // VisitTaskId=inDto.VisitTaskId, + //}); - return studyList.Any(x => x.Modalities.Contains("PT")) ? ReadingYesOrNo.Yes.GetEnumInt() : ReadingYesOrNo.No.GetEnumInt(); + var existPet=await _dicomStudyRepository.Where(x => x.TrialId == inDto.TrialId && x.SubjectVisitId == inDto.SubjectVisitId).AnyAsync(x => x.Modalities.Contains("PT")); + + return existPet ? ReadingYesOrNo.Yes.GetEnumInt() : ReadingYesOrNo.No.GetEnumInt(); } #region 影像学整体肿瘤评估