diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs index 6800103b7..d78ac77a5 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/PCWG3CalculateService.cs @@ -752,7 +752,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate if (lastTask != null) { - var lastTasknewLesionsCount = int.Parse(await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastTask.VisitTaskId && x.ReadingQuestionTrialId == newLesionsCountQuestionId).Select(x => x.Answer).FirstOrDefaultAsync() ?? "0"); + var lastTasknewLesionsCount = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastTask.VisitTaskId && x.ReadingQuestionTrialId == newLesionsCountQuestionId).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0(); if (lastTask.VisitTaskNum == 1m) { //基线后第二个访视(应满足访视间隔6周以上,否则顺延) @@ -761,12 +761,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { // 第二访视数量 - var secondVisitLesionsCount = int.Parse(await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastTask.VisitTaskId && x.ReadingQuestionTrialId == newLesionsCountQuestionId).Select(x => x.Answer).FirstOrDefaultAsync() ?? "0"); + var secondVisitLesionsCount = (await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == lastTask.VisitTaskId && x.ReadingQuestionTrialId == newLesionsCountQuestionId).Select(x => x.Answer).FirstOrDefaultAsync()).IsNullOrEmptyReturn0(); // 判断是否是当前访视 if (secondVisit.VisitTaskId == inDto.VisitTaskId) { - secondVisitLesionsCount = int.Parse(inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewLesionsCount).Select(x => x.Answer).FirstOrDefault() ?? "0"); + secondVisitLesionsCount = (inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewLesionsCount).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0(); } if (lastTasknewLesionsCount >= 2 && secondVisitLesionsCount >= 2) @@ -778,7 +778,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } else { - var thisVisitTaskNewLesionsCount= int.Parse(inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewLesionsCount).Select(x => x.Answer).FirstOrDefault() ?? "0"); + var thisVisitTaskNewLesionsCount= (inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.NewLesionsCount).Select(x => x.Answer).FirstOrDefault()).IsNullOrEmptyReturn0(); var thisVisitTask = taskList.LastOrDefault();