diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs index 1defe655e..337f952e2 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs @@ -642,6 +642,7 @@ namespace IRaCIS.Core.Application.Service.RC [NonDynamicMethod] private async Task AddSystemDataToTrila(Guid trialId) { + // 加系统到项目 var trialUsrSystemIds = _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialId && x.ReadingQuestionCriterionSystemId != null) .Select(x => x.ReadingQuestionCriterionSystemId); var trialCriterionNames = _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == trialId) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs index be1f463e3..680f529c3 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/OCTCalculateService.cs @@ -587,7 +587,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { var allMinFCT = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.FCT).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList) - .Where(x => x.QuestionMark == QuestionMark.MinFCT).Select(x => x.Answer.IsNullOrEmptyReturn0()).Min(); + .Where(x => x.QuestionMark == QuestionMark.MinFCT).Select(x => x.Answer.IsNullOrEmptyReturn0()).MinOrDefault(); if (allMinFCT == 0) { return null; @@ -603,12 +603,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate public async Task GetAvgMinFCT(ReadingCalculateDto inDto) { var allMinFCT = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.FCT).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList) - .Where(x => x.QuestionMark == QuestionMark.MinFCT).Select(x => x.Answer.IsNullOrEmptyReturn0()).Average(); - if (allMinFCT == 0) + .Where(x => x.QuestionMark == QuestionMark.MinFCT).Select(x => x.Answer.IsNullOrEmptyReturn0()).ToList(); + if (allMinFCT.Count() == 0) { return null; } - return allMinFCT; + return allMinFCT.Average();; } @@ -621,7 +621,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { var maxLipidAngle = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.LipidAngle).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList) - .Where(x => x.QuestionMark == QuestionMark.LipidAngle).Select(x => x.Answer.IsNullOrEmptyReturn0()).Max(); + .Where(x => x.QuestionMark == QuestionMark.LipidAngle).Select(x => x.Answer.IsNullOrEmptyReturn0()).MaxOrDefault(); if (maxLipidAngle == 0) { return null; @@ -637,12 +637,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate public async Task GetAvgMinLipidAngle(ReadingCalculateDto inDto) { var avgMinLipidAngle = inDto.QuestionInfo.Where(x => x.LesionType == LesionType.LipidAngle).SelectMany(x => x.TableRowInfoList).SelectMany(x => x.TableQuestionList) - .Where(x => x.QuestionMark == QuestionMark.LipidAngle).Select(x => x.Answer.IsNullOrEmptyReturn0()).Average(); - if (avgMinLipidAngle == 0) + .Where(x => x.QuestionMark == QuestionMark.LipidAngle).Select(x => x.Answer.IsNullOrEmptyReturn0()).ToList(); + if (avgMinLipidAngle.Count() == 0) { return null; } - return avgMinLipidAngle; + return avgMinLipidAngle.Average(); } #region 将上一次的访视病灶添加到这一次